[racket] Void expression found

From: Gustavo Massaccesi (gustavo at oma.org.ar)
Date: Tue Jan 6 19:00:50 EST 2015

>From a practical point of view, at the low level the implementation is
heavily optimized for functions that return exactly one value.
Functions that return a different number of values are slower.

Gustavo


On Tue, Jan 6, 2015 at 12:09 AM, Jack Firth <jackhfirth at gmail.com> wrote:
> Given that racket has multiple return values, what sort of issues would
> arise if functions were allowed to return no values at all instead of opting
> to return the single value void when they have nothing to return? Is it
> purely a backwards compatibility thing, or are there more fundamental
> problems with that?
>
> On Mon, Jan 5, 2015 at 4:46 PM, Hendrik Boom <hendrik at topoi.pooq.com> wrote:
>>
>> On Mon, Jan 05, 2015 at 05:58:31PM -0500, Sean Kanaley wrote:
>> > I see "void" as a tangible value specifying no information, whereas
>> > "undefined" is literally no information. So void is more like an empty
>> > universe and undefined is no universe at all.
>>
>> Algol 68 had a void value, called 'empty' in the defining report, but
>> it didn't need a name in the language itself, because there were too
>> many easy ways of geerating it.
>>
>> I always considered void to be a type with exactly one value, which
>> would need log2(1) bits to reprresent it, i.e., zero.
>>
>> The report also left a number of things undefined.  An early draft of
>> the report went on to specify 'undefined' as meaning anything from a
>> reasonable continuation of the computation to 'indescribable chaos'.
>>
>> -- hendrik
>> ____________________
>>   Racket Users list:
>>   http://lists.racket-lang.org/users
>
>
>
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users
>

Posted on the users mailing list.