gcl-devel
[Top][All Lists]
Advanced

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

Re: [Gcl-devel] conditions/clos/gcl unified build patch and instru


From: Camm Maguire
Subject: Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions.
Date: 08 Jun 2002 11:57:12 -0400

Thanks Vadim!

so I suppose

(make-package "COMMON-LISP" :use "LISP")

will not then allow us to import/export changes from LISP into
COMMON-LISP?

Take care,


"Vadim V. Zhytnikov" <address@hidden> writes:

> If package BBB uses package AAA then any new external symbol of
> AAA is inherited by BBB automatically.  I'v just checked that the following 
> test
> works fine on all lisps I have near at hand incliding gcl (clisp, cmucl, sbcl,
> ecls, gcl):
> -------------
> 
> (make-package "AAA")
> 
> (setq aaa::s1 123)
> (export 'aaa::s1 "AAA")
> 
> aaa:s1
> 
> (make-package "BBB" :use '("AAA"))
> 
> bbb::s1
> 
> (setq aaa::s2 456)
> (export 'aaa::s2 "AAA")
> 
> aaa:s2
> 
> bbb::s2
> 
> -------------
> 
> 
> Camm Maguire wrote:
> 
> > Greetings!  OK, Vadim, could you please check out the latest?  All I
> > did was setup common-lisp and common-lisp user in C as their old
> > analogs were, without changing the default symbol creation code
> > (i.e. make_ordinary still adds to the lisp package, etc.)
> >
> > Here is my startup gcl session.  Could you propose a cleaned/corrected
> > version of something like the following?  (I don't know what it means
> > for one package to "use" another exactly -- I thought common-lisp-user
> > would inherit the changes to common-lisp, but apparently not).
> >
> > Take care,
> > =============================================================================
> >
> > intech19:~/gcl/tmp/foo$ unixport/saved_gcl
> > GCL (GNU Common Lisp)  Version(2.5.0) Fri Jun  7 13:22:58 EDT 2002
> > Licensed under GNU Library General Public License
> > Contains Enhancements by W. Schelter
> >
> > >      (let ((lst ()))
> >         (do-symbols (s (find-package 'common-lisp)) (push s lst))
> >         lst)
> >
> > (NIL T)
> >
> > >      (let ((lst ()))
> >         (do-symbols (s (find-package 'common-lisp-user)) (push s lst))
> >         lst)
> >
> > NIL
> >
> > >(setq lisp_unexport
> >  '(LISP::LAMBDA-BLOCK-CLOSURE
> >    LISP::BYE
> >    LISP::QUIT
> >    LISP::EXIT
> >    LISP::IEEE-FLOATING-POINT
> >    LISP::DEFENTRY
> >    LISP::VOID
> >    LISP::ALLOCATE-CONTIGUOUS-PAGES
> >    LISP::UNSIGNED-SHORT
> >    LISP::DOUBLE
> >    LISP::BY
> >    LISP::GBC
> >    LISP::DEFCFUN
> >    LISP::SAVE
> >    LISP::MAXIMUM-CONTIGUOUS-PAGES
> >    LISP::SPICE
> >    LISP::DEFLA
> >    LISP::ALLOCATED-PAGES
> >    LISP::SUN
> >    LISP::INT
> >    LISP::USE-FAST-LINKS
> >    LISP::CFUN
> >    LISP::UNSIGNED-CHAR
> >    LISP::HELP
> >    LISP::HELP*
> >    LISP::MACRO
> >    LISP::*BREAK-ENABLE*
> >    LISP::CLINES
> >    LISP::LAMBDA-CLOSURE
> >    LISP::OBJECT
> >    LISP::FAT-STRING
> >    LISP::SIGNED-SHORT
> >    LISP::MC68020
> >    LISP::LAMBDA-BLOCK
> >    LISP::TAG
> >    LISP::PROCLAMATION
> >    LISP::ALLOCATED-CONTIGUOUS-PAGES
> >    LISP::*EVAL-WHEN-COMPILE*
> >    LISP::SIGNED-CHAR
> >    LISP::*IGNORE-MAXIMUM-PAGES*
> >    LISP::*LINK-ARRAY*
> >    LISP::KCL
> >    LISP::BSD
> >    LISP::ALLOCATE-RELOCATABLE-PAGES
> >    LISP::ALLOCATE
> >    LISP::UNIX
> >    LISP::MAXIMUM-ALLOCATABLE-PAGES
> >    LISP::ALLOCATED-RELOCATABLE-PAGES
> >    LISP::SYSTEM
> >    LISP::KYOTO
> >    LISP::CCLOSURE))
> >
> > (LAMBDA-BLOCK-CLOSURE BYE QUIT EXIT IEEE-FLOATING-POINT DEFENTRY
> >   VOID
> >   LISP::ALLOCATE-CONTIGUOUS-PAGES
> >   UNSIGNED-SHORT
> >   DOUBLE
> >   BY
> >   GBC
> >   DEFCFUN
> >   SAVE
> >   LISP::MAXIMUM-CONTIGUOUS-PAGES
> >   SPICE
> >   DEFLA
> >   LISP::ALLOCATED-PAGES
> >   LISP::SUN
> >   INT
> >   LISP::USE-FAST-LINKS
> >   CFUN
> >   UNSIGNED-CHAR
> >   HELP
> >   HELP*
> >   MACRO
> >   *BREAK-ENABLE*
> >   CLINES
> >   LAMBDA-CLOSURE
> >   OBJECT
> >   LISP::FAT-STRING
> >   SIGNED-SHORT
> >   MC68020
> >   LAMBDA-BLOCK
> >   TAG
> >   PROCLAMATION
> >   LISP::ALLOCATED-CONTIGUOUS-PAGES
> >   *EVAL-WHEN-COMPILE*
> >   SIGNED-CHAR
> >   LISP::*IGNORE-MAXIMUM-PAGES*
> >   *LINK-ARRAY*
> >   KCL
> >   BSD
> >   LISP::ALLOCATE-RELOCATABLE-PAGES
> >   ALLOCATE
> >   UNIX
> >   LISP::MAXIMUM-ALLOCATABLE-PAGES
> >   LISP::ALLOCATED-RELOCATABLE-PAGES
> >   SYSTEM
> >   KYOTO
> >   CCLOSURE)
> >
> > >(do-external-symbols (s "LISP")
> >   (if (not(member s lisp_unexport))
> >       (import s "COMMON-LISP")))
> >
> > NIL
> >
> > >(do-symbols (s "COMMON-LISP")
> >   (export s "COMMON-LISP"))
> >
> > NIL
> >
> > >      (let ((lst ()))
> >         (do-symbols (s (find-package 'common-lisp)) (push s lst))
> >         lst)
> >
> > (PATHNAMEP INTERN STEP COERCE WARN WITH-OUTPUT-TO-STRING
> >     STRING-NOT-LESSP MAKE-STRING-INPUT-STREAM MAKE-STRING-OUTPUT-STREAM
> >     BOOLE-ORC1 BOOLE-ORC2 STRING-LEFT-TRIM FLOAT-PRECISION PLUSP BOOLE
> >     NSUBSTITUTE-IF-NOT PROG1 SVREF INTERNAL-TIME-UNITS-PER-SECOND
> >     PATHNAME-DEVICE HASH-TABLE-TEST COSH SIGNUM REM APPEND
> >     FILE-NAMESTRING SPEED WRITE-CHAR SUBTYPEP FROUND DECODE-FLOAT
> >     COMPILATION-SPEED ABS MULTIPLE-VALUE-BIND LCM LOGTEST
> >     *PRINT-ESCAPE* *PRINT-BASE* *PRINT-CASE* LONG-FLOAT SIMPLE-STRING-P
> >     CHAR= LOGNOT GET-SETF-METHOD-MULTIPLE-VALUE RANDOM CDDAR CADR
> >     SIMPLE-STRING REPLACE IMPORT PROVIDE CLRHASH USER-HOMEDIR-PATHNAME
> >     GENTEMP VECTOR FCEILING BOOLE-C2 DECLAIM DESCRIBE DELETE-FILE TYPEP
> >     UNEXPORT REAL SET-MACRO-CHARACTER GET-MACRO-CHARACTER SETQ
> >     RENAME-FILE NINTERSECTION BYTE-SIZE SYMBOLP ROTATEF CHAR-NAME
> >     READ-LINE *** ARRAY-ELEMENT-TYPE Y-OR-N-P FMAKUNBOUND BIGNUM
> >     MAKE-HASH-TABLE LOCALLY ADJOIN CONCATENATE SET-SYNTAX-FROM-CHAR
> >     DENOMINATOR BIT-ORC2 REMPROP STANDARD-CHAR-P EQ CDADDR PI SUBSETP
> >     SYMBOL-PLIST FORMAT GO *PRINT-GENSYM* COPY-TREE LOGANDC1 LOAD
> >     LIST-ALL-PACKAGES CLEAR-OUTPUT CAADDR DO BYTE-POSITION
> >     DEPOSIT-FIELD SET-EXCLUSIVE-OR DIRECTORY VECTOR-PUSH-EXTEND
> >     FILE-POSITION CHAR-INT MACRO-FUNCTION SHORT-SITE-NAME
> >     NSTRING-UPCASE READ &ENVIRONMENT BLOCK CALL-ARGUMENTS-LIMIT THROW
> >     PHASE PROBE-FILE CHAR< STRING-RIGHT-TRIM RATIONALP *DEBUG-IO*
> >     DOUBLE-FLOAT-EPSILON DOUBLE-FLOAT-NEGATIVE-EPSILON
> >     SET-DISPATCH-MACRO-CHARACTER GET-DISPATCH-MACRO-CHARACTER
> >     STRING-UPCASE STRING-DOWNCASE LOGXOR IN-PACKAGE SQRT SUBST-IF-NOT
> >     COPY-READTABLE SORT ALPHA-CHAR-P SXHASH CADDR EXPT REVAPPEND CATCH
> >     TRUENAME RANDOM-STATE-P >= DEFINE-MODIFY-MACRO DEFMACRO <= BIT-NOT
> >     CONSTANTP SIMPLE-BIT-VECTOR LOGNOR POSITION NUNION FFLOOR
> >     DO-SYMBOLS HASH-TABLE-COUNT DEFCONSTANT DEFTYPE IMAGPART VARIABLE
> >     SYMBOL-NAME MACROEXPAND /= TRACE WITH-OPEN-FILE RPLACA BOOLE-IOR
> >     MACHINE-VERSION DOCUMENTATION FLOAT-SIGN PACKAGE SPACE SFUN
> >     SYMBOL-FUNCTION *STANDARD-INPUT* SHADOW LET* TRUNCATE_USE_C EXP
> >     DELETE BOOLE-ANDC1 *READ-SUPPRESS* GFUN NTHCDR SAFETY
> >     LAMBDA-LIST-KEYWORDS // ELT 1- DECODE-UNIVERSAL-TIME GENSYM 1+ SIN
> >     REMOVE-IF-NOT CDDDAR EQUAL COMMON DEFSETF NTH CADDAR PPRINT LOGEQV
> >     FIND-IF STREAM BIT-ANDC2 BOOLE-AND OPEN &OPTIONAL SHORT-FLOAT MIN
> >     ++ ISQRT CODE-CHAR LENGTH LOGNAND WHEN DELETE-IF-NOT TAN ROUND
> >     PROGN MEMBER-IF-NOT RASSOC BOOLE-NAND INTEGERP SEVENTH
> >     MOST-NEGATIVE-FIXNUM CHAR-UPCASE ZEROP ASSOC-IF-NOT STRING-EQUAL
> >     READ-CHAR PEEK-CHAR CAR EQUALP EXPORT NRECONC ATAN NSUBST MAKE-CHAR
> >     NAME-CHAR GET-UNIVERSAL-TIME BIT-NOR COMPLEXP LIST-LENGTH
> >     SIMPLE-VECTOR MAKE-SYMBOL SUBSTITUTE-IF-NOT SIGNED-BYTE *READTABLE*
> >     STRING<= STRING>= STRING/= DEFPARAMETER PATHNAME-DIRECTORY
> >     REMOVE-DUPLICATES LOGCOUNT COND COMPILE PRINT &WHOLE AND IGNORE
> >     UNLESS CDAAR MAPLIST THIRD CAAR MOST-NEGATIVE-SHORT-FLOAT
> >     MOST-NEGATIVE-SINGLE-FLOAT MOST-NEGATIVE-DOUBLE-FLOAT
> >     MOST-NEGATIVE-LONG-FLOAT GETHASH PSETQ LISP-IMPLEMENTATION-TYPE
> >     FIND STANDARD-CHAR UNREAD-CHAR DELETE-DUPLICATES FILE-LENGTH
> >     ARRAY-TOTAL-SIZE AREF LDB-TEST LABELS CONS PACKAGE-NICKNAMES EVERY
> >     SHIFTF IDENTITY DIGIT-CHAR-P ROOM COMPILE-FILE TAGBODY
> >     SIMPLE-BIT-VECTOR-P TERPRI BIT-XOR PSETF YES-OR-NO-P NUMERATOR
> >     *PRINT-LENGTH* NSTRING-CAPITALIZE TREE-EQUAL *READ-BASE*
> >     WRITE-STRING ARRAY-IN-BOUNDS-P SUBST-IF DECF FINISH-OUTPUT PAIRLIS
> >     DEFVAR RETURN READ-PRESERVING-WHITESPACE CDADAR CHAR-EQUAL
> >     COPY-SYMBOL NSET-EXCLUSIVE-OR CAADAR KEYWORD DECLARATION COPY-SEQ
> >     NSUBST-IF-NOT CHAR-FONT NSUBST-IF FIND-PACKAGE SOFTWARE-VERSION
> >     LOGBITP *EVALHOOK* LEAST-NEGATIVE-SHORT-FLOAT
> >     LEAST-NEGATIVE-SINGLE-FLOAT LEAST-NEGATIVE-DOUBLE-FLOAT
> >     LEAST-NEGATIVE-LONG-FLOAT LEAST-NEGATIVE-NORMALIZED-SHORT-FLOAT
> >     LEAST-NEGATIVE-NORMALIZED-SINGLE-FLOAT
> >     LEAST-NEGATIVE-NORMALIZED-DOUBLE-FLOAT
> >     LEAST-NEGATIVE-NORMALIZED-LONG-FLOAT MERGE *PRINT-PRETTY*
> >     DIRECTORY-NAMESTRING FTYPE COMPILED-FUNCTION &KEY STRING-NOT-EQUAL
> >     FIRST ALPHANUMERICP NINTH TENTH CTYPECASE ETYPECASE STRING
> >     GET-DECODED-TIME NAMESTRING NREVERSE PUSHNEW SUBST DO* FIXNUM
> >     DO-ALL-SYMBOLS DOUBLE-FLOAT CAADR COPY-ALIST COMMONP NSUBSTITUTE
> >     FBOUNDP PACKAGEP LIST REST SHORT-FLOAT-EPSILON
> >     SHORT-FLOAT-NEGATIVE-EPSILON STREAM-ELEMENT-TYPE VECTORP WRITE-LINE
> >     ARRAYP FIND-IF-NOT STREAMP INT-CHAR EVALHOOK CASE INLINE
> >     READ-FROM-STRING ASSERT FOURTH ACONS SYMBOL-PACKAGE SUBSTITUTE LAST
> >     STRING-TRIM NOTINLINE FIFTH FLOAT-DIGITS *BREAK-ON-WARNINGS*
> >     GET-PROPERTIES LIST* SHADOWING-IMPORT NSTRING-DOWNCASE
> >     WITH-INPUT-FROM-STRING SIMPLE-VECTOR-P CDDADR DECLARE BIT-VECTOR-P
> >     STRING-GREATERP INTEGER-LENGTH CADADR SBIT WITH-HASH-TABLE-ITERATOR
> >     NSET-DIFFERENCE CHAR-HYPER-BIT COS COMPILER-LET RASSOC-IF-NOT
> >     SIMPLE-ARRAY TAILP CHAR>= *QUERY-IO* &AUX *PRINT-LEVEL* DIGIT-CHAR
> >     SOFTWARE-TYPE FLET MOST-POSITIVE-FIXNUM FUNCTION CHAR-SUPER-BIT
> >     ATANH SCHAR RPLACD CHAR-NOT-LESSP FTRUNCATE MULTIPLE-VALUES-LIMIT
> >     CIS ARRAY-DIMENSIONS UNUSE-PACKAGE ARRAY-RANK-LIMIT RASSOC-IF
> >     UNTRACE SINGLE-FLOAT-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON
> >     CHAR-BITS DRIBBLE LOGORC2 ADJUSTABLE-ARRAY-P CLEAR-INPUT PROGV
> >     *FEATURES* *PACKAGE* SETF BUTLAST CHECK-TYPE REALP
> >     ARRAY-HAS-FILL-POINTER-P BSD386 DO-EXTERNAL-SYMBOLS
> >     LONG-FLOAT-EPSILON LONG-FLOAT-NEGATIVE-EPSILON LOG PARSE-INTEGER
> >     NOTEVERY APROPOS-LIST POSITION-IF-NOT *PRINT-ARRAY* FLOAT
> >     RATIONALIZE BIT-VECTOR LOGANDC2 MOST-POSITIVE-SHORT-FLOAT
> >     MOST-POSITIVE-SINGLE-FLOAT MOST-POSITIVE-DOUBLE-FLOAT
> >     MOST-POSITIVE-LONG-FLOAT INTEGER THE COUNT-IF-NOT EVAL GETF MAPCON
> >     *TERMINAL-IO* CDDR STABLE-SORT CHAR-META-BIT VALUES *PRINT-RADIX*
> >     SGC CADAR BOOLE-EQV PARSE-NAMESTRING SEQUENCE READTABLE READTABLEP
> >     VALUES-LIST TYPE-OF AKCL OR HASH-TABLE-SIZE CLX-LITTLE-ENDIAN
> >     INSPECT NSUBSTITUTE-IF LOGORC1 CHARACTER CHARACTERP FILE-WRITE-DATE
> >     VECTOR-PUSH CLOSE FILE-AUTHOR SCALE-FLOAT
> >     LISP-IMPLEMENTATION-VERSION MEMBER-IF MAP-INTO PATHNAME-NAME
> >     CEILING STRING-NOT-GREATERP ERROR ARRAY-ROW-MAJOR-INDEX MAPCAR
> >     STRINGP ARRAY-DIMENSION-LIMIT DESTRUCTURING-BIND CERROR
> >     MACROEXPAND-1 CHAR-GREATERP CDAADR DEFINE-SETF-METHOD TYPE SUBSEQ
> >     SPECIAL-OPERATOR-P PRIN1 CAAADR PACKAGE-NAME HOST-NAMESTRING
> >     DEFSTRUCT SUBLIS TYPECASE ACOS ARRAY-DISPLACEMENT IF
> >     GET-INTERNAL-REAL-TIME GET-INTERNAL-RUN-TIME BYTE PROG BOOLE-C1
> >     HASH-TABLE-P MAKE-RANDOM-STATE NUMBERP LAMBDA MAKE-PATHNAME ED
> >     MULTIPLE-VALUE-CALL OUTPUT-STREAM-P CHAR-LESSP RANDOM-STATE
> >     MAKE-ECHO-STREAM STRING-CAPITALIZE SPECIAL ARRAY-DIMENSION CDDDR
> >     BIT-ORC1 MAKE-SEQUENCE REVERSE PACKAGE-USE-LIST
> >     PACKAGE-USED-BY-LIST MERGE-PATHNAMES PROG* ECASE GET-SETF-METHOD
> >     CCASE UNINTERN CHAR-CODE-LIMIT CHAR-FONT-LIMIT
> >     ENCODE-UNIVERSAL-TIME BOOLE-2 MAKE-ARRAY CHAR<= COPY-LIST KEYWORDP
> >     COMPILED-FUNCTION-P RATIO APROPOS REALPART RATIONAL CHAR-BITS-LIMIT
> >     LOGIOR BOUNDP MAKE-BROADCAST-STREAM LAMBDA-PARAMETERS-LIMIT
> >     MISMATCH COUNT-IF POSITION-IF MAKE-LIST *MODULES* NOT
> >     RENAME-PACKAGE EVENP STRING-CHAR-P MINUSP UPPER-CASE-P
> >     *MACROEXPAND-HOOK* POP LONG-SITE-NAME NULL BOOLE-NOR RETURN-FROM
> >     STRING> ASSOC-IF LOGAND SET LDIFF MAX FLOATP BOOLE-1 CONJUGATE
> >     UNION LET EVAL-WHEN REMOVE GMP &REST BIT
> >     *READ-DEFAULT-FLOAT-FORMAT* CDDAAR NUMBER PATHNAME GET
> >     GET-OUTPUT-STREAM-STRING UNWIND-PROTECT ASIN &BODY EQL CADAAR
> >     GRAPHIC-CHAR-P *LOAD-VERBOSE* LEAST-POSITIVE-SHORT-FLOAT
> >     LEAST-POSITIVE-SINGLE-FLOAT LEAST-POSITIVE-DOUBLE-FLOAT
> >     LEAST-POSITIVE-LONG-FLOAT LEAST-POSITIVE-NORMALIZED-SHORT-FLOAT
> >     LEAST-POSITIVE-NORMALIZED-SINGLE-FLOAT
> >     LEAST-POSITIVE-NORMALIZED-DOUBLE-FLOAT
> >     LEAST-POSITIVE-NORMALIZED-LONG-FLOAT PATHNAME-HOST ASSOC BIT-EQV **
> >     NIL SPECIAL-FORM-P BIT-IOR SINH MAPL INTEGER-DECODE-FLOAT MAP
> >     FUNCALL CHAR-BIT ENDP CDR FILL MACHINE-INSTANCE PROCLAIM ASH SECOND
> >     DEFUN /// MAKE-DISPATCH-MACRO-CHARACTER ODDP CHAR-DOWNCASE
> >     WITH-OPEN-STREAM MOD BOOLE-XOR DISASSEMBLE LOWER-CASE-P BOTH-CASE-P
> >     ARRAY SYMBOL-VALUE TRUNCATE SINGLE-FLOAT COUNT TANH CONSP COMPLEX
> >     STRING= CHAR ADJUST-ARRAY GCL SEARCH FIND-SYMBOL REMF DOLIST
> >     ENOUGH-NAMESTRING T MULTIPLE-VALUE-PROG1 CDAR USE-PACKAGE
> >     *RANDOM-STATE* DPB *ERROR-OUTPUT* CHAR-CONTROL-BIT PATHNAME-VERSION
> >     MAKUNBOUND +++ NOTANY CAAAR SET-CHAR-BIT BIT-ANDC1 SATISFIES
> >     VECTOR-POP INTERSECTION FUNCTIONP LDB ACOSH GCD ARRAY-RANK MAPHASH
> >     EIGHTH INCF STRUCTURE APPLYHOOK CHAR-CODE OPTIMIZE > = MEMBER
> >     BOOLE-ANDC2 < LISTEN MAKE-CONCATENATED-STREAM FIND-ALL-SYMBOLS
> >     SIXTH APPLY REMOVE-IF STRING< NSUBLIS ATOM OTHERWISE
> >     *DEFAULT-PATHNAME-DEFAULTS* DELETE-IF MAPCAN MULTIPLE-VALUE-LIST
> >     PACKAGE-SHADOWING-SYMBOLS STRING-LESSP WRITE-TO-STRING / FLOOR
> >     PRIN1-TO-STRING PRINC-TO-STRING - BIT-NAND SYMBOL SUBSTITUTE-IF +
> >     LISTP CDAAAR * MACROLET DOTIMES CAAAAR MASK-FIELD QUOTE
> >     MAKE-PACKAGE *APPLYHOOK* BOOLE-CLR *TRACE-OUTPUT* CHAR-NOT-GREATERP
> >     BOOLE-SET READ-CHAR-NO-HANG HASH-TABLE SOME SLEEP *PRINT-CIRCLE*
> >     CHAR/= FORCE-OUTPUT REQUIRE PROG2 PRINC PATHNAME-TYPE BREAK CDADR
> >     TIME REDUCE WRITE CHAR-NOT-EQUAL NBUTLAST UNSIGNED-BYTE
> >     FILL-POINTER ARRAY-TOTAL-SIZE-LIMIT FRESH-LINE READ-BYTE NCONC
> >     MAKE-TWO-WAY-STREAM MACHINE-TYPE MAKE-SYNONYM-STREAM STRING-CHAR
> >     MULTIPLE-VALUE-SETQ CHAR> *STANDARD-OUTPUT* SET-DIFFERENCE
> >     WRITE-BYTE MAPC INPUT-STREAM-P REMHASH LOOP CDDDDR
> >     READ-DELIMITED-LIST FLOAT-RADIX MAKE-STRING ASINH PUSH BIT-AND
> >     CADDDR &ALLOW-OTHER-KEYS)
> >
> > >      (let ((lst ()))
> >         (do-symbols (s (find-package 'common-lisp-user)) (push s lst))
> >         lst)
> >
> > NIL
> >
> > >(bye)
> >
> > =============================================================================
> >
> > >
> > > So I suggest the following scheme:
> > >
> > > 1. Let LISP remains as it is without any modification for the sake of
> > > compatibility.
> > >
> >
> > > 2. We create new package COMMON-LISP (CL) and populate it
> > > with all required by ANSI CL symbols importing them from LISP,
> > > PCL, CONDITIONS etc.
> > >
> >
> > > 3. We rename USER to COMMON-LISP-USER with aliases CL-USER
> > > and USER.
> > >
> > > The only thing which is not clear to me is the contents of CL-USER.
> > > As standard requires we must import in it all symbols from COMMON-LISP.
> > > But probably we want to see here some other useful implementation 
> > > dependent
> > > symbols like BYE, QUIT.  On the other hand it is not wise to expose here
> > > all GCL specific symbols like this notorious INT.
> > >
> > > >
> > > > Also in main.c, there is an example of how to use the C functions import
> > > > and export to import nil (Cnil) and t (Ct) into a package. This should
> > > > solve the NIL problem that you mentioned (There's nothing like working
> > > > around a bug instead of fixing it. ;).
> > > >
> > >
> > > Yes but we certainly want that all functions import, export, use-package
> > > work correctly on the lisp level.
> > >
> > > >
> > > > Once nil (and possibly t) are imported into the packages, the rest of cl
> > > > and cl-user could either be populated the lisp way, or the same way that
> > > > GCL does a lot of it (in C files).
> > > >
> > > > J*
> > > >
> > > > _______________________________________________
> > > > Gcl-devel mailing list
> > > > address@hidden
> > > > http://mail.gnu.org/mailman/listinfo/gcl-devel
> > >
> > > --
> > >      Vadim V. Zhytnikov
> > >
> > >       <address@hidden>
> > >     <address@hidden>
> > >      <address@hidden>
> > >
> > >
> > >
> > >
> > >
> >
> > --
> > Camm Maguire                                            address@hidden
> > ==========================================================================
> > "The earth is but one country, and mankind its citizens."  --  Baha'u'llah
> 
> --
>      Vadim V. Zhytnikov
> 
>       <address@hidden>
>     <address@hidden>
>      <address@hidden>
> 
> 
> 
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah



reply via email to

[Prev in Thread] Current Thread [Next in Thread]