From: Vladimir V. Zolotych
Subject: (float 90 107)
Date: 
Message-ID: <3A79921A.80E7AA00@eurocom.od.ua>
  Hello,

In exapmles (Object-Oriented Common LISP
Stephen Slade) I see something like this:

(or (float 90 107) (integer 90 107))

as type specifier.

This doesn't work (CMUCL 18c)

* (typep 99 '(or (float 90 107) (integer 90 107)))


Error in function "EMIT-COLD-LOAD-DEFUNS \"TYPE\"":
   Bound is not *, a FLOAT or a list of a FLOAT: 90

Restarts:
  0: [ABORT] Return to Top-Level.

Debug  (type H for help)

("EMIT-COLD-LOAD-DEFUNS \"TYPE\"" (FLOAT 90 107))
0] 

I should write 90.0 107.0 instead. It seems it should be
90.0 107.0 according to CLHS. What is right ?

  Thanks.

-- 
Vladimir Zolotych                         ······@eurocom.od.ua

From: Geoff Summerhayes
Subject: Re: (float 90 107)
Date: 
Message-ID: <t7j69psfq1pgfb@corp.supernews.com>
"Vladimir V. Zolotych" <······@eurocom.od.ua> wrote in message
······················@eurocom.od.ua...
>   Hello,
>
> In exapmles (Object-Oriented Common LISP
> Stephen Slade) I see something like this:
>
> (or (float 90 107) (integer 90 107))
>
> as type specifier.
>
> This doesn't work (CMUCL 18c)
>
> * (typep 99 '(or (float 90 107) (integer 90 107)))
>
>
> Error in function "EMIT-COLD-LOAD-DEFUNS \"TYPE\"":
>    Bound is not *, a FLOAT or a list of a FLOAT: 90
>
> Restarts:
>   0: [ABORT] Return to Top-Level.
>
> Debug  (type H for help)
>
> ("EMIT-COLD-LOAD-DEFUNS \"TYPE\"" (FLOAT 90 107))
> 0]
>
> I should write 90.0 107.0 instead. It seems it should be
> 90.0 107.0 according to CLHS. What is right ?
>
>   Thanks.
>
> --
> Vladimir Zolotych                         ······@eurocom.od.ua

I don't have CMUCL but (float 90 107.0),
(float 7/2 8.9), and (float 7.2 8.9) all work under LW.

The HS says the first arg is of type real, might be a bug.

Geoff
From: Geoff Summerhayes
Subject: Re: (float 90 107)
Date: 
Message-ID: <t7j953kf1g3p5d@corp.supernews.com>
"Geoff Summerhayes" <·············@hNoOtSmPaAiMl.com> wrote in message
···················@corp.supernews.com...
> "Vladimir V. Zolotych" <······@eurocom.od.ua> wrote in message
> ······················@eurocom.od.ua...
> >   Hello,
> >
> > In exapmles (Object-Oriented Common LISP
> > Stephen Slade) I see something like this:
> >
> > (or (float 90 107) (integer 90 107))
> >
> > as type specifier.
> >
*SNIP*
> >
> >   Thanks.
> >
> > --
> > Vladimir Zolotych                         ······@eurocom.od.ua
>
> I don't have CMUCL but (float 90 107.0),
> (float 7/2 8.9), and (float 7.2 8.9) all work under LW.
>
> The HS says the first arg is of type real, might be a bug.
>
> Geoff

Oops, sorry missed the 'type specifier' was thinking of the function.

Geoff
From: Pierre R. Mai
Subject: Re: (float 90 107)
Date: 
Message-ID: <874ryeut4q.fsf@orion.bln.pmsf.de>
"Vladimir V. Zolotych" <······@eurocom.od.ua> writes:

> In exapmles (Object-Oriented Common LISP
> Stephen Slade) I see something like this:
> 
> (or (float 90 107) (integer 90 107))
> 
> as type specifier.

[...]

> I should write 90.0 107.0 instead. It seems it should be
> 90.0 107.0 according to CLHS. What is right ?

The latter is right, and hence the example by Slade is bogus.
Interval designators must be of the same type as the type they are
used on, i.e. you must specify float interval designators for a float
subtype specifier.

Regs, Pierre.

-- 
Pierre R. Mai <····@acm.org>                    http://www.pmsf.de/pmai/
 The most likely way for the world to be destroyed, most experts agree,
 is by accident. That's where we come in; we're computer professionals.
 We cause accidents.                           -- Nathaniel Borenstein