[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SRFI-10 Error reporting



   Date: Wed, 1 Dec 1999 19:26:47 GMT
   From: oleg@xxxxxxxxx

   Suppose an application reads an input data stream:
	   1.0 2.0 3.0 #,(pi) 4.0
   Suppose a reader failed to make sense of the #,(pi) form, and per
   SRFI-10 suggestion, has read is as (pi). It appears likely that the
   application will detect this error as the application expects the read
   function return inexact numbers rather than lists.

It's likely that the application will detect it, but it is far
from guarenteed.  Consider the following.

  (let ((pi (lambda () 3.1)))
    (list 1.0 2.0 3.0 #,(pi) 4.0))

Just think how hard it will be to track down the problem of `pi'
not being a legitimate ,# tag.

   The more I write about this the more I wonder why I have put that
   phrase about erroneous #,() forms in the first place. I really don't
   want to get into reading exceptions, syntax error reporting and all
   that.

This should be especially true because SRFI-10 doesn't have anyway
of defining new ,# tags.  Why talk about an error that you provide
no way to commit?
                                         -Richard Kelsey