[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue: THE-AMBIGUITY
- To: jar@ZURICH.AI.MIT.EDU
- Subject: Re: Issue: THE-AMBIGUITY
- From: David N Gray <Gray@DSG.csc.ti.com>
- Date: Mon, 24 Oct 88 20:01:14 CDT
- Cc: cl-cleanup@SAIL.STANFORD.EDU
- In-reply-to: Msg of Fri, 21 Oct 88 16:05:49 EDT from Jonathan Rees <jar@void.ai.mit.edu>
- Sender: GRAY@Kelvin.csc.ti.com
> Current practice:
>
> The Symbolics Genera and VAX LISP V2.2 interpreters signal errors for
>
> (THE (FUNCTION (T T) CONS) #'CONS),
>
> but this may not be intentional. CLtL would seem to allow it.
The TI Explorer permits this, so is consistent with proposal
THE-AMBIGUITY:FOR-DECLARATION.
> Test case:
>
> (THE (FUNCTION (T T) CONS) #'CONS),
>
> should return the CONS function under THE-AMBIGUITY:FOR-DISCRIMINATION,
> and should be an error under THE-AMBIGUITY:FOR-DECLARATION.
Shouldn't that be the other way around?
> For THE-AMBIGUITY:FOR-DECLARATION, implementations that do not
> already allow arbitrary type specifiers but which want to check that
> the type in a THE is satisfied would have to create an internal
> version of TYPEP which could manage not to signal invalid-type-specifier
> errors in those situations where TYPEP would because the type is a
> declaration-only one.
What you really want is an internal function that tests whether a type
specifier is valid for TYPEP and the compiler uses that to decide
whether to generate a call to TYPEP. Since types should be defined before
being used in a declaration, there shouldn't be any need to postpone this
decision to runtime.