# [Maxima] Void in Maxima

Richard Hennessy rich.hennessy at verizon.net
Sun Oct 4 22:43:30 CDT 2009

```All of the examples you give of using void in an expression or as a function argument or in an nary operation would generate the same3 error.

f(void);
Maxima encountered a lisp error. Attempt to operate on void.  An error. Automatically continuing.

or void + 1, void * 4, void/void or void * 0 or anything else.  The only legal thing you can do with void is return it to indicate no return value.

If limit used void for example you could do this.

(%i1) limit(-x^2,x,inf);
-infinity
(%i2) %*2.
Maxima encountered a lisp error. Attempt to operate on void.  An error. Automatically continuing.
(%i2)

By way of this example limit displays with disp() the answer i.e. disp("-infinity"), then returns void so no one could try to use the answer in a future calculation.  -infinity is really a message to the user telling the answer.  It is not a value.

Rich

----- Original Message -----
From: Stavros Macrakis
To: Richard Hennessy
Cc: Maxima List
Sent: Sunday, October 04, 2009 10:56 PM
Subject: Re: [Maxima] Void in Maxima

Having some sort of non-printing "void" value is of course doable.

Presumably the main value of such a thing would be for calculations that really have no result.  OK, a nice little convenience.  Then we'd have to define the meaning of this thing when combined with other things.  What is %void+1? %void/%void? if %void then 1 else 0? length(%void), f(%void), etc.  And then implement all those things -- remember, Maxima internally is not object-oriented in the sense that every operation on a type of object is centralized under the type definition.  All doable, but a bunch of work.  It doesn't seem worth it to me, but perhaps there is an argument for it.

A *completely different* topic is non-numerical but perfectly meaningful values such as inf. limit(x^-2,x,0) really is inf.  It is not undefined, it is not an error; it is inf.  Yes, I know, in the usual presentations of calculus, inf is not a value, but a notation.  But Maxima doesn't follow the usual presentation..... Und and ind, similarly, are not the usual mathematical conventions for dealing with things like limit(tan(x),x,inf) and limit(sin(x),x,inf) -- but they are perfectly reasonable conventions, and again not errors, and not null values.

And how exactly would %void "handle all of the problems with 'und..."?  It sounds like it would do it simply by replacing them with "problems with %void"...!

-s

On Sun, Oct 4, 2009 at 10:06 PM, Richard Hennessy <rich.hennessy at verizon.net> wrote:

What about the possibility of creating a new system variable called void or %void that would have the properties that I described.  I think this is desirable because many times I think a function should not return a value when the function fails at its job.  This might be a way to resolve how to handle all of the problems with 'und, 'ind, 'inf and 'minf.

Rich

----- Original Message -----
From: Stavros Macrakis
To: Richard Hennessy
Cc: Maxima List
Sent: Sunday, October 04, 2009 11:00 AM
Subject: Re: [Maxima] Void in Maxima

On Sun, Oct 4, 2009 at 9:09 AM, Richard Hennessy <rich.hennessy at verizon.net> wrote:

Is there a way to cause a function to have no return value.

No.

It is possible to create a symbol of length 0 using ?intern("\$") which has a zero-length printed form, but this has none of the properties you want.

-s

--------------------------------------------------------------------------

_______________________________________________
Maxima mailing list
Maxima at math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima

------------------------------------------------------------------------------

_______________________________________________
Maxima mailing list
Maxima at math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.math.utexas.edu/pipermail/maxima/attachments/20091004/2b056ef1/attachment-0001.htm
```