Representing the case "no result"



Dieter Kaiser wrote:
> Am Dienstag, den 09.06.2009, 13:01 -0400 schrieb Raymond Toy:  
>   
>> Actually, I wasn't thinking about NaN and such, but things like
>> divergent integrals and other things like that where Dieter was
>> proposing returning NoObjects.   In many ways, it makes debugging much
>> harder.
>>     
>
> Because the discussion has become some length, it might be that the
> starting point is missed. 
>
> defint throws a Maxima error, when a divergent integral is found. My
> suggestion was not to throw a Maxima error, because it is not an error
> to have a divergent integral. It does not make sense to break and to
> have a look in the routine which has detected the divergent integral.
>   
I think this depends on the context.  Suppose you have some lengthy
symbolic computation and during the computation you need the value of
some definite integral.  It's not supposed to be divergent, but it is. 
After many hours, you find that the result is []  (or NoObject or
whatever).  Now what?  This isn't specific to divergent integrals, of
course.

I have no good insight into what Maxima should do.  Sometimes I would
want an error.  Sometimes NoObject is fine.

Is there something inherently wrong with Lisp's approach of signaling
errors and letting the user, if desired, handle it appropriately,
including not at all?

Ray