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

Ballot response



Guy, here are my X3J13 ballot responses.  Please review them ASAP and
let me know if you have any objections.  I'd like to mail these to
cl-cleanup by Tuesday morning.
						barmar

Y    ARGUMENTS-UNDERSPECIFIED:SPECIFY
	    Version 4, 21-Sep-88, Mailed 4 Dec 88

Y    ARRAY-TYPE-ELEMENT-TYPE-SEMANTICS:UNIFY-UPGRADING
	    Version 9, 31-Oct-88, Mailed 5 Dec 88

Y    CLOSED-STREAM-OPERATIONS:ALLOW-INQUIRY
	    Version 5,  5-Dec-88, Mailed 5 Dec 88

Y    CONTAGION-ON-NUMERICAL-COMPARISONS:TRANSITIVE
	    Version 1, 14-Sep-88, Mailed 6 Oct 88

Y    DECLARATION-SCOPE:NO-HOISTING
N    DECLARATION-SCOPE:LIMITED-HOISTING
	    Version 4, 15-Nov-88, Mailed 9-Dec-88
Reason: LOCALLY can always be used to hoist a declaration around an
initial value form.

A    DECLARE-FUNCTION-AMBIGUITY:DELETE-FTYPE-ABBREVIATION
	    Version 4,  5-Dec-88, Mailed  5-Dec-88

C    DECLARE-TYPE-FREE:ALLOW
C    DECLARE-TYPE-FREE:LEXICAL
	    Version 9, 2-Jan-89, Mailed 7-Jan-89
I'd like to see more discussion of the relative merits of the two
different proposals.  All of the benefit/cost section merely addresses
whether free type declarations should be allowed; I agree with this
part, but I'm unsure about which of the versions is better.

Y    DECODE-UNIVERSAL-TIME-DAYLIGHT:LIKE-ENCODE
	    Version 2, 30-Sep-88, Mailed 6 Oct 88

Y    DEFPACKAGE:ADDITION
	    Version 7, 2-Nov-88, Mailed 5 Dec 88

Y    DEFSTRUCT-CONSTRUCTOR-KEY-MIXTURE:ALLOW-KEY
	    Version 2, 21-Sep-88, Mailed 6 Oct 88

Y    DEFSTRUCT-PRINT-FUNCTION-INHERITANCE:YES
	    Version 3, 7 Dec 88, Mailed 12-Dec-88

Y    DEFSTRUCT-SLOTS-CONSTRAINTS-NAME:DUPLICATES-ERROR
	    Version 4, 31-Oct-88, Mailed 12-Dec-88

A    DESCRIBE-INTERACTIVE:EXPLICITLY-VAGUE
A    DESCRIBE-INTERACTIVE:NO
	    Version 4, 15-Nov-88	, Mailed 7-Dec-88

Y    DOTTED-MACRO-FORMS:ALLOW
	    Version 3, 15-Nov-88, Mailed 7-Dec-88

Y    EQUAL-STRUCTURE:STATUS-QUO
	    Version 5, 1-Oct-88, Mailed 8 Oct 88


N    EXIT-EXTENT:MINIMAL
Y    EXIT-EXTENT:MEDIUM
	    Version 5, 12-Dec-88, Mailed 12-Dec-88
Reason: MEDIUM provides more useful semantics in one important case: if
an application has a top-level catch tag, and a cleanup handler does a
(throw 'top-level ...) while cleaning up during such a throw.  Lack of
these semantics in Maclisp results in problems in Multics Emacs, whose
error handler prints a minibuffer message and then throws to the top
level, but if an error happens during a cleanup, the top-level catch is
no longer available, resulting in an infinite loop of "throw to
nonexistent tag" errors.  This seems like it would be a common paradigm,
but unless there is a way for a cleanup handler to determine the context
of its invocation, MINIMAL makes this non-portable.

Y    EXPT-RATIO:P.211
	    Version 3, 31-Oct-88, Mailed 7 Dec 88

Y    FIXNUM-NON-PORTABLE:TIGHTEN-DEFINITION
N    FIXNUM-NON-PORTABLE:TIGHTEN-FIXNUM-TOSS-BIGNUM
	    Version 4, 7-Dec-88, Mailed 12-Dec-88
Reason: Tossing BIGNUM is a gratuitous incompatibility.

Y    FORMAT-E-EXPONENT-SIGN:FORCE-SIGN
	    Version 2, 2 Oct 88, Mailed 6 Oct 88

Y    FORMAT-PRETTY-PRINT:YES
	    Version 7, 15 Dec 88, Mailed 7 Dec 88

I    FUNCTION-COMPOSITION:NEW-FUNCTIONS
I    FUNCTION-COMPOSITION:COMPLEMENT-AND-ALWAYS
	    Version 4, 12 Dec 88, Mailed 12 Dec 88
In both cases, only if one of the TEST-NOT-IF-NOT proposals passes.

Y    FUNCTION-DEFINITION:FUNCTION-SOURCE
	    Version 2, 09-Dec-88	, Mailed 9 Dec 88

Y    FUNCTION-TYPE-ARGUMENT-TYPE-SEMANTICS:RESTRICTIVE
	    Version 3, 7-Dec-88, Mailed  12-Dec-88

Y    FUNCTION-TYPE-REST-LIST-ELEMENT:USE-ACTUAL-ARGUMENT-TYPE
	    Version 5, 14-Nov-88	, Mailed 8-Dec-88

Y    GET-MACRO-CHARACTER-READTABLE:NIL-STANDARD
	    Version 2, 8 Dec 88, Mailed 8 Dec 88

Y    HASH-TABLE-PACKAGE-GENERATORS:ADD-WITH-WRAPPER
	    Version 7, 8-Dec-88, Mailed 9-Dec-88

Y    HASH-TABLE-STABILITY:KEY-TRANSFORM-RESTRICTIONS
	    Version 1, 11-Nov-88	, Mailed 12 Dec 88

Y    HASH-TABLE-TESTS:ADD-EQUALP
	    Version 2, 8-Dec-88, Mailed 8 Dec 88

Y    IN-PACKAGE-FUNCTIONALITY:SELECT-ONLY
	    Version 4, 12-Dec-88, Mailed 12-Dec-88

Y    LAMBDA-FORM:NEW-MACRO
	    Version 4, 22-Nov-88, Mailed 8-Dec-88

Y    LCM-NO-ARGUMENTS:1
	    Version 1, 17 Oct 88, Mailed 8 Dec 88

Y    LISP-SYMBOL-REDEFINITION:DISALLOW
	    Version 5, 22-Nov-88, Mailed 8 Dec 88

N    MAKE-PACKAGE-USE-DEFAULT:IMPLEMENTATION-DEPENDENT
	    Version 2, 8 Oct 88, Mailed 12-Dec-88
Reason: When using the implementation's extensions, it is better to make
this obvious by having to specify the implementation-dependent package.

Y    MAPPING-DESTRUCTIVE-INTERACTION:EXPLICITLY-VAGUE
	    Version 2, 09-Jun-88, Mailed 8 Oct 88

N    NTH-VALUE:ADD
	    Version 4, 8-Dec-88, Mailed 8 Dec 88
Reason: Naming values using a numeric index is like using arrays instead
of DEFSTRUCT.  If there were a way to specify a value by a symbolic name
I'd go for that.

Y    PACKAGE-CLUTTER:REDUCE
	    Version 6, 12-Dec-88, Mailed 12-Dec-881

Y    PACKAGE-DELETION:NEW-FUNCTION
	    Version 5, 21 nov 88, Mailed 8 Dec 88

Y    PATHNAME-TYPE-UNSPECIFIC:NEW-TOKEN
	    Version 1 27-Jun-88, Mailed 7 Oct 88

Y    PEEK-CHAR-READ-CHAR-ECHO:FIRST-READ-CHAR
	    Version 3, 8-Oct-88, Mailed 8 Oct 88

Y    PRINT-CIRCLE-STRUCTURE:USER-FUNCTIONS-WORK
	    Version 3, 20 Sep 88, Mailed 8 Oct 88

Y    PROCLAIM-LEXICAL:LG
	    Version 9, 8-Dec-88, Mailed 12-Dec-88

Y    RANGE-OF-COUNT-KEYWORD:NIL-OR-INTEGER
	    Version 3, 9-Oct-88, Mailed 14-Oct-88

Y    RANGE-OF-START-AND-END-PARAMETERS:INTEGER-AND-INTEGER-NIL
	    Version 1, 14-Sep-88, Mailed 7 Oct 88

Y    REQUIRE-PATHNAME-DEFAULTS:ELIMINATE
	    Version 6, 9 Dec 88, mailed 09 Dec 88

N    REST-LIST-ALLOCATION:NEWLY-ALLOCATED
Y    REST-LIST-ALLOCATION:MAY-SHARE
N    REST-LIST-ALLOCATION:MUST-SHARE
	    Version 3, 12-Dec-88, mailed 12-Dec-88
Reason: Allow implementation flexibility and useful optimization.

Y    RETURN-VALUES-UNSPECIFIED:SPECIFY
	    Version 6,  9 Dec 88 mailed  9-Dec-88

Y    ROOM-DEFAULT-ARGUMENT:NEW-VALUE
	    Version 1 12-Sep-88 mailed 8 Oct 88

    [The following are mutually exclusive]
Y    SETF-FUNCTION-VS-MACRO:SETF-FUNCTIONS
	    Version 3, 4-Nov-87, mailed Nov 87
N    SETF-PLACES:ADD-SETF-FUNCTIONS
	    Version 1, 11-Nov-88, mailed 9-Dec-88
Reason: I don't think it's possible to define a version UNDERLYING-NAME
that returns a symbol and meets all the requirements.

Y    SETF-SUB-METHODS:DELAYED-ACCESS-STORES
	    Version 5, 12-Feb-88 mailed 8 Oct 88

Y    STANDARD-INPUT-INITIAL-BINDING:DEFINED-CONTRACTS
	    Version 8, 8 Jul 88, Mailed 7 Oct 88

Y    STEP-ENVIRONMENT:CURRENT
	    Version 3, 20-Jun-88, mailed  7 Oct 88

Y    STREAM-ACCESS:ADD-TYPES-PREDICATES-ACCESSORS
	    version 2, 30-Nov-88 mailed  9 Dec 88
	    (expect amendment T => "true")

Y    STREAM-INFO:ONE-DIMENSIONAL-FUNCTIONS
	    Version 6, 30-Nov-88, mailed 9 dec 88
	    expect amendment:
		    LINE-WIDTH   ==> STREAM-LINE-WIDTH
		    LINE-POSITION ==> STREAM-LINE-POSITION
		    PRINTED-WIDTH ==> STREAM-STRING-WIDTH


Y    SUBTYPEP-TOO-VAGUE:CLARIFY
	    Version 4,  7-Oct-88, mailed 7 Oct 88 

Y    SYMBOL-MACROLET-DECLARE:ALLOW
	    Version 2,  9-Dec-88, mailed 9 Dec 88

Y    SYMBOL-MACROLET-SEMANTICS:SPECIAL-FORM
	    Version 5, 30-Nov-88, mailed 9 Dec 88

Y    TAGBODY-CONTENTS:FORBID-EXTENSION
	    Version 5, 9-Dec-88 mailed 9 Dec 88

Y    TAILP-NIL:T
	    Version 5, 9-Dec-88, mailed 12-Dec-88

N    TEST-NOT-IF-NOT:FLUSH-ALL
N    TEST-NOT-IF-NOT:FLUSH-TEST-NOT
	    Version 3, 1 Dec 88 mailed 9 dec 
Reason: Gratuitous incompatibility.

Y    TYPE-OF-UNDERCONSTRAINED:ADD-CONSTRAINTS
	    Version 3, 12-Dec-88, mailed 12 Dec 88
	    (some "bugs" in the proposal)

Y    UNREAD-CHAR-AFTER-PEEK-CHAR:DONT-ALLOW
	    Version 2, 2-Dec-88, mailed 12-Dec-88

Y    VARIABLE-LIST-ASYMMETRY:SYMMETRIZE
	    Version 3, 08-Oct-88, mailed 9 Dec 88
To: gls
bcc: barmar-archived
Subject: Ballot response
In-Reply-To: <881212-181649-5908@Xerox>

Here are Thinking Machine's ballot responses.  For all my No responses
I've included some justification.

Y    ARGUMENTS-UNDERSPECIFIED:SPECIFY
	    Version 4, 21-Sep-88, Mailed 4 Dec 88

Y    ARRAY-TYPE-ELEMENT-TYPE-SEMANTICS:UNIFY-UPGRADING
	    Version 9, 31-Oct-88, Mailed 5 Dec 88

Y    CLOSED-STREAM-OPERATIONS:ALLOW-INQUIRY
	    Version 5,  5-Dec-88, Mailed 5 Dec 88

Y    CONTAGION-ON-NUMERICAL-COMPARISONS:TRANSITIVE
	    Version 1, 14-Sep-88, Mailed 6 Oct 88

Y    DECLARATION-SCOPE:NO-HOISTING
N    DECLARATION-SCOPE:LIMITED-HOISTING
	    Version 4, 15-Nov-88, Mailed 9-Dec-88
Reason: LOCALLY can always be used to hoist a declaration around an
initial value form.

A    DECLARE-FUNCTION-AMBIGUITY:DELETE-FTYPE-ABBREVIATION
	    Version 4,  5-Dec-88, Mailed  5-Dec-88

C    DECLARE-TYPE-FREE:ALLOW
C    DECLARE-TYPE-FREE:LEXICAL
	    Version 9, 2-Jan-89, Mailed 7-Jan-89
I'd like to see more discussion of the relative merits of the two
different proposals.  All of the benefit/cost section merely addresses
whether free type declarations should be allowed; I agree with this
part, but I'm unsure about which of the versions is better.

Y    DECODE-UNIVERSAL-TIME-DAYLIGHT:LIKE-ENCODE
	    Version 2, 30-Sep-88, Mailed 6 Oct 88

Y    DEFPACKAGE:ADDITION
	    Version 7, 2-Nov-88, Mailed 5 Dec 88

Y    DEFSTRUCT-CONSTRUCTOR-KEY-MIXTURE:ALLOW-KEY
	    Version 2, 21-Sep-88, Mailed 6 Oct 88

Y    DEFSTRUCT-PRINT-FUNCTION-INHERITANCE:YES
	    Version 3, 7 Dec 88, Mailed 12-Dec-88

Y    DEFSTRUCT-SLOTS-CONSTRAINTS-NAME:DUPLICATES-ERROR
	    Version 4, 31-Oct-88, Mailed 12-Dec-88

A    DESCRIBE-INTERACTIVE:EXPLICITLY-VAGUE
A    DESCRIBE-INTERACTIVE:NO
	    Version 4, 15-Nov-88	, Mailed 7-Dec-88

Y    DOTTED-MACRO-FORMS:ALLOW
	    Version 3, 15-Nov-88, Mailed 7-Dec-88

Y    EQUAL-STRUCTURE:STATUS-QUO
	    Version 5, 1-Oct-88, Mailed 8 Oct 88


N    EXIT-EXTENT:MINIMAL
Y    EXIT-EXTENT:MEDIUM
	    Version 5, 12-Dec-88, Mailed 12-Dec-88
Reason: MEDIUM provides more useful semantics in one important case: if
an application has a top-level catch tag, and a cleanup handler does a
(throw 'top-level ...) while cleaning up during such a throw.  Lack of
these semantics in Maclisp results in problems in Multics Emacs, whose
error handler prints a minibuffer message and then throws to the top
level, but if an error happens during a cleanup, the top-level catch is
no longer available, resulting in an infinite loop of "throw to
nonexistent tag" errors.  This seems like it would be a common paradigm,
but unless there is a way for a cleanup handler to determine the context
of its invocation, MINIMAL makes this non-portable.

Y    EXPT-RATIO:P.211
	    Version 3, 31-Oct-88, Mailed 7 Dec 88

Y    FIXNUM-NON-PORTABLE:TIGHTEN-DEFINITION
N    FIXNUM-NON-PORTABLE:TIGHTEN-FIXNUM-TOSS-BIGNUM
	    Version 4, 7-Dec-88, Mailed 12-Dec-88
Reason: Tossing BIGNUM is a gratuitous incompatibility.

Y    FORMAT-E-EXPONENT-SIGN:FORCE-SIGN
	    Version 2, 2 Oct 88, Mailed 6 Oct 88

Y    FORMAT-PRETTY-PRINT:YES
	    Version 7, 15 Dec 88, Mailed 7 Dec 88

I    FUNCTION-COMPOSITION:NEW-FUNCTIONS
I    FUNCTION-COMPOSITION:COMPLEMENT-AND-ALWAYS
	    Version 4, 12 Dec 88, Mailed 12 Dec 88
In both cases, only if one of the TEST-NOT-IF-NOT proposals passes.

Y    FUNCTION-DEFINITION:FUNCTION-SOURCE
	    Version 2, 09-Dec-88	, Mailed 9 Dec 88

Y    FUNCTION-TYPE-ARGUMENT-TYPE-SEMANTICS:RESTRICTIVE
	    Version 3, 7-Dec-88, Mailed  12-Dec-88

Y    FUNCTION-TYPE-REST-LIST-ELEMENT:USE-ACTUAL-ARGUMENT-TYPE
	    Version 5, 14-Nov-88	, Mailed 8-Dec-88

Y    GET-MACRO-CHARACTER-READTABLE:NIL-STANDARD
	    Version 2, 8 Dec 88, Mailed 8 Dec 88

Y    HASH-TABLE-PACKAGE-GENERATORS:ADD-WITH-WRAPPER
	    Version 7, 8-Dec-88, Mailed 9-Dec-88

Y    HASH-TABLE-STABILITY:KEY-TRANSFORM-RESTRICTIONS
	    Version 1, 11-Nov-88	, Mailed 12 Dec 88

Y    HASH-TABLE-TESTS:ADD-EQUALP
	    Version 2, 8-Dec-88, Mailed 8 Dec 88

Y    IN-PACKAGE-FUNCTIONALITY:SELECT-ONLY
	    Version 4, 12-Dec-88, Mailed 12-Dec-88

Y    LAMBDA-FORM:NEW-MACRO
	    Version 4, 22-Nov-88, Mailed 8-Dec-88

Y    LCM-NO-ARGUMENTS:1
	    Version 1, 17 Oct 88, Mailed 8 Dec 88

Y    LISP-SYMBOL-REDEFINITION:DISALLOW
	    Version 5, 22-Nov-88, Mailed 8 Dec 88

N    MAKE-PACKAGE-USE-DEFAULT:IMPLEMENTATION-DEPENDENT
	    Version 2, 8 Oct 88, Mailed 12-Dec-88
Reason: When using the implementation's extensions, it is better to make
this obvious by having to specify the implementation-dependent package.

Y    MAPPING-DESTRUCTIVE-INTERACTION:EXPLICITLY-VAGUE
	    Version 2, 09-Jun-88, Mailed 8 Oct 88

N    NTH-VALUE:ADD
	    Version 4, 8-Dec-88, Mailed 8 Dec 88
Reason: Naming values using a numeric index is like using arrays instead
of DEFSTRUCT.  If there were a way to specify a value by a symbolic name
I'd go for that.

Y    PACKAGE-CLUTTER:REDUCE
	    Version 6, 12-Dec-88, Mailed 12-Dec-881

Y    PACKAGE-DELETION:NEW-FUNCTION
	    Version 5, 21 nov 88, Mailed 8 Dec 88

Y    PATHNAME-TYPE-UNSPECIFIC:NEW-TOKEN
	    Version 1 27-Jun-88, Mailed 7 Oct 88

Y    PEEK-CHAR-READ-CHAR-ECHO:FIRST-READ-CHAR
	    Version 3, 8-Oct-88, Mailed 8 Oct 88

Y    PRINT-CIRCLE-STRUCTURE:USER-FUNCTIONS-WORK
	    Version 3, 20 Sep 88, Mailed 8 Oct 88

Y    PROCLAIM-LEXICAL:LG
	    Version 9, 8-Dec-88, Mailed 12-Dec-88

Y    RANGE-OF-COUNT-KEYWORD:NIL-OR-INTEGER
	    Version 3, 9-Oct-88, Mailed 14-Oct-88

Y    RANGE-OF-START-AND-END-PARAMETERS:INTEGER-AND-INTEGER-NIL
	    Version 1, 14-Sep-88, Mailed 7 Oct 88

Y    REQUIRE-PATHNAME-DEFAULTS:ELIMINATE
	    Version 6, 9 Dec 88, mailed 09 Dec 88

N    REST-LIST-ALLOCATION:NEWLY-ALLOCATED
Y    REST-LIST-ALLOCATION:MAY-SHARE
N    REST-LIST-ALLOCATION:MUST-SHARE
	    Version 3, 12-Dec-88, mailed 12-Dec-88
Reason: Allow implementation flexibility and useful optimization.

Y    RETURN-VALUES-UNSPECIFIED:SPECIFY
	    Version 6,  9 Dec 88 mailed  9-Dec-88

Y    ROOM-DEFAULT-ARGUMENT:NEW-VALUE
	    Version 1 12-Sep-88 mailed 8 Oct 88

    [The following are mutually exclusive]
Y    SETF-FUNCTION-VS-MACRO:SETF-FUNCTIONS
	    Version 3, 4-Nov-87, mailed Nov 87
N    SETF-PLACES:ADD-SETF-FUNCTIONS
	    Version 1, 11-Nov-88, mailed 9-Dec-88
Reason: I don't think it's possible to define a version UNDERLYING-NAME
that returns a symbol and meets all the requirements.

Y    SETF-SUB-METHODS:DELAYED-ACCESS-STORES
	    Version 5, 12-Feb-88 mailed 8 Oct 88

Y    STANDARD-INPUT-INITIAL-BINDING:DEFINED-CONTRACTS
	    Version 8, 8 Jul 88, Mailed 7 Oct 88

Y    STEP-ENVIRONMENT:CURRENT
	    Version 3, 20-Jun-88, mailed  7 Oct 88

Y    STREAM-ACCESS:ADD-TYPES-PREDICATES-ACCESSORS
	    version 2, 30-Nov-88 mailed  9 Dec 88
	    (expect amendment T => "true")

Y    STREAM-INFO:ONE-DIMENSIONAL-FUNCTIONS
	    Version 6, 30-Nov-88, mailed 9 dec 88
	    expect amendment:
		    LINE-WIDTH   ==> STREAM-LINE-WIDTH
		    LINE-POSITION ==> STREAM-LINE-POSITION
		    PRINTED-WIDTH ==> STREAM-STRING-WIDTH


Y    SUBTYPEP-TOO-VAGUE:CLARIFY
	    Version 4,  7-Oct-88, mailed 7 Oct 88 

Y    SYMBOL-MACROLET-DECLARE:ALLOW
	    Version 2,  9-Dec-88, mailed 9 Dec 88

Y    SYMBOL-MACROLET-SEMANTICS:SPECIAL-FORM
	    Version 5, 30-Nov-88, mailed 9 Dec 88

Y    TAGBODY-CONTENTS:FORBID-EXTENSION
	    Version 5, 9-Dec-88 mailed 9 Dec 88

Y    TAILP-NIL:T
	    Version 5, 9-Dec-88, mailed 12-Dec-88

N    TEST-NOT-IF-NOT:FLUSH-ALL
N    TEST-NOT-IF-NOT:FLUSH-TEST-NOT
	    Version 3, 1 Dec 88 mailed 9 dec 
Reason: Gratuitous incompatibility.

Y    TYPE-OF-UNDERCONSTRAINED:ADD-CONSTRAINTS
	    Version 3, 12-Dec-88, mailed 12 Dec 88
	    (some "bugs" in the proposal)

Y    UNREAD-CHAR-AFTER-PEEK-CHAR:DONT-ALLOW
	    Version 2, 2-Dec-88, mailed 12-Dec-88

Y    VARIABLE-LIST-ASYMMETRY:SYMMETRIZE
	    Version 3, 08-Oct-88, mailed 9 Dec 88