[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Conversion to ANSI Common Lisp via FUTURE-COMMON-LISP
- To: iexist!att!ai.sri!slug@ai.sri.com
- Subject: Conversion to ANSI Common Lisp via FUTURE-COMMON-LISP
- From: lgm@iexist.att.com
- Date: Mon, 10 Dec 1990 11:59:00 -0500
- Character-type-mappings: (1 0 (NIL 0) (NIL :ITALIC NIL) "CPTFONTI")
- Fonts: CPTFONT, CPTFONTI
- Original-from: Larry Mayka <iexist!lgm>
I am about to convert our group's software to CLOS, and would like to
convert to ANSI Common Lisp at the same time, at least to the extent of
its implementation in FUTURE-COMMON-LISP in Genera 8.0.1. That is, I
would USE-PACKAGE both SCL and FUTURE-COMMON-LISP but prefer the latter
in symbol conflicts. Are people using FUTURE-COMMON-LISP extensively
yet? What pitfalls should I watch out for? Offhand, the following seem
to be the major points of caution:
SETF -- LISP:SETF and FUTURE-COMMON-LISP:SETF seem to invoke
each other's SETF functions as necessary.
LOOP -- I have to replace Symbolics' old iteration forms such as
(LOOP :FOR I :BEING :EACH :ARRAY-ELEMENT :OF A :COLLECT I)
with new ANSI formats such as
(LOOP :FOR I :ACROSS A :COLLECT I)
IN-PACKAGE -- Its argument should no longer be quoted. If I
use a keyword as argument, I remain compatible with
LISP:IN-PACKAGE as well.
LISP package -- I may want to replace LISP with CL (i.e., in
cases where I am shadowing a standard symbol but
want to refer to it).
DEFSTRUCT -- I assume that FUTURE-COMMON-LISP:DEFSTRUCT is
upward-compatible with LISP:DEFSTRUCT, including its
physical representation of structures.
File syntax -- I should really change every file attribute line
from Common-Lisp to ANSI-Common-Lisp, especially if I
want to refer to FUTURE-COMMON-LISP as CL.
#S dispatch character -- It cannot yet be applied to structure
types defined by FUTURE-COMMON-LISP:DEFSTRUCT, even
when the file's syntax is ANSI-Common-Lisp. I need to
replace this usage with calls to the appropriate
MAKE-1type0 function.
INTERACTIVE-STREAM-P and DELETE-PACKAGE -- FUTURE-COMMON-LISP
exports these but doesn't define them yet.
Does anyone have any others? Am I acting prematurely to attempt this at
all? Are some implemented features of FUTURE-COMMON-LISP known to be
buggy?
Lawrence G. Mayka
AT&T Bell Laboratories
lgm@iexist.att.com
Standard disclaimer.