[LISPWORKS][Common Lisp HyperSpec (TM)] [Previous][Up][Next]


Issue SPECIAL-FORM-P-MISNOMER Writeup

Issue:        SPECIAL-FORM-P-MISNOMER

Forum: Cleanup

References: SPECIAL-FORM-P (p91)

Category: CHANGE

Edit history: 05-Oct-90, Version 1 by Pitman (internal Symbolics draft)

05-Oct-90, Version 2 by Pitman (mostly add endorsements)

Status: For Internal Discussion

Problem Description:

The thing for which SPECIAL-FORM-P returns true is not a form.

This complicates the terminology used in the specification and

is a nuisance to those trying to teach the language.

Proposal (SPECIAL-FORM-P-MISNOMER:RENAME):

Rename the function named SPECIAL-FORM-P to SPECIAL-OPERATOR-P.

Test Case:

1. (FIND-SYMBOL "SPECIAL-FORM-P" "COMMON-LISP")

=> NIL, NIL

2. (FIND-SYMBOL "SPECIAL-OPERATOR-P" "COMMON-LISP")

=> SPECIAL-OPERATOR-P, :EXTERNAL

3. (SPECIAL-OPERATOR-P 'SETQ) => true

(SPECIAL-OPERATOR-P 'CAR) => NIL

Rationale:

This is makes the function consistent with the uses of the

term "form" and "operator" throughout the spec.

Current Practice:

Hopefully no one implements this yet, since it's not conforming.

Cost to Implementors:

Very small.

Cost to Users:

Small. Most code doesn't do meta-linguistic things that require the use

of SPECIAL-FORM-P. Code that does use it can probably be fixed by

simple textual replacement.

Cost of Non-Adoption:

It's nearly impossible to explain the term SPECIAL-FORM-P gracefully

in the specification.

Benefits:

Spec is incrementally easier to write.

Language is incrementally easier to teach.

Aesthetics:

A locally major improvement in aesthetics in this small corner of

the language.

Discussion:

Allan Wechsler, who has taught Lisp at Symbolics for several years,

strongly supports this proposal. He says the existing name has

been a source of confusion for students.

Pitman strongly supports the proposal.

Moon said "I wouldn't expect it to be controversial." Pitman couldn't

figure out if that was an endorsement.


[Starting Points][Contents][Index][Symbols][Glossary][Issues]
Copyright 1996-2005, LispWorks Ltd. All rights reserved.