So the whole point of this peculiar scheme is to avoid inf/inf etc. giving a
nonsense result? I would rather have inf be handled correctly, so that
inf+inf=>inf, inf+0=>inf, inf/inf => und, etc. with possibly an option for
signalling an error when und is returned.
Your proposal would also make all sorts of useful programs impossible, e.g.
if limit(...)=inf then ...
-s
PS Please feel free to continue the discussion with others, but I will not
be participating any further.
On Sun, Oct 4, 2009 at 11:43 PM, Richard Hennessy <rich.hennessy at verizon.net
> wrote:
> 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 <macrakis at alum.mit.edu>
> *To:* Richard Hennessy <rich.hennessy at verizon.net>
> *Cc:* Maxima List <maxima at math.utexas.edu>
> *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 <macrakis at alum.mit.edu>
>> *To:* Richard Hennessy <rich.hennessy at verizon.net>
>> *Cc:* Maxima List <maxima at math.utexas.edu>
>> *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
>
>