[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] Missing symbols in ansi compatibility mode
From: |
Paul F. Dietz |
Subject: |
Re: [Gcl-devel] Missing symbols in ansi compatibility mode |
Date: |
Sat, 10 Aug 2002 10:11:27 -0500 |
Camm Maguire wrote:
> Greetings! Here it would greatly help if someone could categorize and
> prioritize these and provide a *brief* blurb as to there purpose.
> I'll read the spec as well, but it will greatly speed up the process.
I've grouped these symbols into general categories and added
comments to some of them.
(compile/load related)
*COMPILE-FILE-PATHNAME*
*COMPILE-FILE-TRUENAME*
*COPILE-PRINT*
*COMPILE-VERBOSE*
*LOAD-PATHNAME*
*LOAD-TRUENAME*
*LOAD-PRINT*
The preceeding are either default values of parameters that should
exist in the compile-file or load functions, or &aux parameters in
those functions. They should be easy to add (if the :print and
:verbose keyword parameters are present.)
COMPILE-FILE-PATHNAME WITH-COMPILATION-UNIT
(printer/output related)
*PRINT-LINES*
*PRINT-MISER-WIDTH*
*PRINT-PPRINT-DISPATCH*
*PRINT-READABLY*
*PRINT-RIGHT-MARGIN*
Adding these variables is easy; adding the functionality they control
can be harder. Can the pretty printer be installed just by grabbing the
XP package?
COPY-PPRINT-DISPATCH
FORMATTER
FILE-STRING-LENGTH
PPRINT-DISPATCH
PPRINT-EXIT-IF-LIST-EXHAUSTED
PPRINT-FILL
PPRINT-INDENT
PPRINT-LINEAR
PPRINT-LOGICAL-BLOCK
PPRINT-NEWLINE
PPRINT-POP
PPRINT-TAB
PPRINT-TABULAR
PRINT-UNREADABLE-OBJECT
SET-PPRINT-DISPATCH
WITH-STANDARD-IO-SYNTAX (also affects reader)
Should just be a simple macro definition.
WRITE-SEQUENCE
(reader/input related)
*READ-EVAL*
Adding this is easy: just tweak the function for the #. reader macro.
READ-SEQUENCE
READTABLE-CASE
(types)
BASE-CHAR
BASE-STRING
BOOLEAN
BASE-CHAR == CHARACTER, BASE-STRING == STRING, BOOLEAN == (MEMBER NIL T)
EXTENDED-CHAR
Can be a synonym for NIL now (?)
SIMPLE-BASE-STRING
(stream related)
BROADCAST-STREAM
BROADCAST-STREAM-STREAMS
CONCATENATED-STREAM
CONCATENATED-STREAM-STREAMS
ECHO-STREAM
ECHO-STREAM-INPUT-STREAM
ECHO-STREAM-OUTPUT-STREAM
FILE-STREAM
INTERACTIVE-STREAM-P
OPEN-STREAM-P
STREAM-EXTERNAL-FORMAT
STRING-STREAM
SYNONYM-STREAM
SYNONYM-STREAM-SYMBOL
TWO-WAY-STREAM
TWO-WAY-STREAM-INPUT-STREAM
TWO-WAY-STREAM-OUTPUT-STREAM
(condition related)
CELL-ERROR-NAME
FLOATING-POINT-INEXACT
FLOATING-POINT-INVALID-OPERATION
PARSE-ERROR
PRINT-NOT-READABLE
PRINT-NOT-READABLE-OBJECT
READER-ERROR
SIMPLE-CONDITION-FORMAT-CONTROL
STYLE-WARNING
UNBOUND-SLOT
UNBOUND-SLOT-INSTANCE
WITH-CONDITION-RESTARTS
(CLOS related)
CLASS
DESCRIBE-OBJECT
MAKE-METHOD
STRUCTURE-OBJECT
(related to macro definition and use)
COMPILER-MACRO
COMPILER-MACRO-FUNCTION
Compiler macros are very useful for improving the efficiency of
compiled code. They'd be even more useful if the GCL compiler had
an extension that stored declaration inforamtion (types, dynamic-extent,
etc.) in the macro environment. For example, you could write a
compiler macro for a sequence function that would call a special
case routine if it had a single argument that was known to have
type LIST.
DEFINE-COMPILER-MACRO
DEFINE-SETF-EXPANDER
DEFINE-SYMBOL-MACRO
GET-SETF-EXPANSION
(function slot related)
FDEFINITION
FUNCTION-LAMBDA-EXPRESSION
(trivial functions)
COMPLEMENT
CONSTANTLY
These are trivial to add as lisp routines.
(misc)
COPY-STRUCTURE
HASH-TABLE-REHASH-SIZE
HASH-TABLE-REHASH-THRESHOLD
NTH-VALUE (should be easy)
ROW-MAJOR-AREF
UPGRADED-ARRAY-ELEMENT-TYPE
UPGRADED-COMPLEX-PART-TYPE
(load time processing related)
LOAD-TIME-VALUE
MAKE-LOAD-FORM
MAKE-LOAD-FORM-SAVING-SLOTS
(declarations)
DEBUG
DYNAMIC-EXTENT
IGNORABLE
Since declarations can be ignored, we can just recognize and
ignore these for now.
(package related)
DEFPACKAGE
DELETE-PACKAGE
WITH-PACKAGE-ITERATOR
(file/pathname related)
ENSURE-DIRECTORIES-EXIST
LOAD-LOGICAL-PATHNAME-TRANSLATIONS
LOGICAL-PATHNAME
LOGICAL-PATHNAME-TRANSLATIONS
PATHNAME-MATCH-P
TRANSLATE-LOGICAL-PATHNAME
TRANSLATE-PATHNAME
WILD-PATHNAME-P
Paul Dietz
address@hidden