Subject: Re: R6RS: Why is it needed?
From: (Rob Warnock)
Date: 1998/06/04
Newsgroups: comp.lang.scheme
Message-ID: <6l5gcm$>

Ray Dillinger  <> wrote:
| 'assert' is one of the most useful of the expressions I use.
|    (+ (assert flonum x) (assert flonum y)) 
| has exactly the same semantics as 
|    (+ x y) 
| but the compiler in the first case is not generating code 
| to handle situations like x being a complex number.

Sounds like you need to read up on the Common Lisp operator "the".
In CL your example reads exactly the same (modulo "assert" vs "the"):

     (+ (the flonum x) (the flonum y)) 

and whether you blindly ignore a broken type assertion or trap on it
is controlled by the "safety" declaration.


Rob Warnock, 7L-551
Silicon Graphics, Inc.		Phone: 650-933-1673
2011 N. Shoreline Blvd.		FAX: 650-933-4392
Mountain View, CA  94043	PP-ASEL-IA