A Pointless Library Proposal

Ashley Yakeley ashley at semantic.org
Mon Oct 23 22:50:30 EDT 2006

Philippa Cowderoy wrote:
> On Mon, 23 Oct 2006, Samuel Bronson wrote:
>> On 23 Oct 2006 22:05:58 -0400, kahl at cas.mcmaster.ca
>> <kahl at cas.mcmaster.ca> wrote:
>>> I'd say that ``Void'' is not a desirable candidate
>>> since too many people know C,
>>> and the C type ``void'' corresponds to ``()'' (or ``IO ()''...)
>> So how come whenever I say that, someone invariably corrects me that
>> C's void type is uninhabited, whereas the () type is inhabited by ()?
>> And that a real void-alike wouldn't have any constructors?
> Because C's an impure language - and thus it's possible to do something 
> meaningful without returning a value. Oh, and because they're right.

No, I think Wolfram's correct.

In C, void represents a return structure of zero bytes. It therefore has 
256^0 = 1 value, just like the "()" type (ignoring bottom).

AFAIR C disallows declaring a variable void, though it would be 
theoretically possible to relax this, and have them allocated as zero 
bytes. Reading a variable of type "void" would return the "void value" 
without actually reading from memory (since zero of it is allocated to 
read from), and assigning to it would do nothing.

Ashley Yakeley

More information about the Libraries mailing list