Subject: Re: R6RS: Why is it needed?
From: rpw3@rigden.engr.sgi.com (Rob Warnock)
Date: 1998/06/04
Newsgroups: comp.lang.scheme
Message-ID: <6l5gcm$4t31q@fido.engr.sgi.com>

Ray Dillinger  <bear@sonic.net> 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

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