|
Boost : |
From: David Abrahams (abrahams_at_[hidden])
Date: 2000-07-28 08:38:00
----- Original Message -----
From: "Borgerding, Mark A." <MarkAB_at_[hidden]>
> According to Webster:
> postulate:
> Function: transitive verb
> 1 : DEMAND, CLAIM
> 2 a : to assume or claim as true, existent, or necessary :
> depend upon or start from the postulate of b : to assume as a postulate or
> axiom (as in logic or mathematics)
> Function: noun
> 1 : a hypothesis advanced as an essential presupposition,
> condition, or premise of a train of reasoning
> 2 : AXIOM 3
>
>
> Along those lines, I also like any of these forms:
>
> AXIOM( sizeof(int == 4 );
> DEMAND( sizeof(int) == 4 );
> PREMISE( sizeof(int) == 4 );
Ah, but that's exactly why postulate is the wrong word. To postulate
something means to offer it as a premise without proof. Any logical system
depends on some truths which cannot be proven (read:
"checked") inside the system (Godel, said that, I think). I think the point
of an axiom is to make your assumptions so simple on the face of it that
even skeptics are willing to concede them. But our compile-time assert is
inherently provable, or there would be no point in writing it!
-Dave
P.S. I like COMPILE_TIME_ASSERT
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk