August 02, 2014
On Saturday, 2 August 2014 at 03:07:25 UTC, Tofu Ninja wrote:
> D3 anyone? :)

Macros please. God please. I assert(macrosExist);
August 02, 2014
Suppose I call some logging function which has a faulty assertion in it. What about Walter's position prevents that assertion's effects from escaping the logging function and infecting my code? I know cross-module optimization is hard hence this may be unlikely, but still it shows something missing.

I know Walter has said repeatedly that at this point the program is invalid, Implying that it deserves whatever happens to it. I suspect this is a subtopic we should be discussing more directly. What are the boundaries?
August 02, 2014
On 08/02/2014 04:41 AM, Chris Cain wrote:
> Here, I'll do you the favor of giving you a few more Google results with hopes that you'll
> start developing a mental model behind what the definition of assertion is:
> ...

Great, that's a lot more useful than the personal attacks. Thanks!

> Google itself: "state a fact or belief confidently and forcefully"
>
> http://dictionary.reference.com/browse/assert: "to state with assurance, confidence, or force;
> state strongly or positively; affirm"
>
> http://www.merriam-webster.com/dictionary/assert: "to state (something) in a strong and definite way"
>
> http://www.thefreedictionary.com/assert: "To state or express positively; affirm"
>
> http://www.oxforddictionaries.com/us/definition/american_english/assert: "State a fact or belief confidently and forcefully"
> ...

All of those do not imply that a fact is being expressed. Why can an assertion not be the forceful expression of e.g. a lie or a wrong belief, given those entries?

Some more:

http://dictionary.reference.com/browse/assertion: "a positive statement or declaration, often without support or reason: a mere assertion; an unwarranted assertion."

http://www.thefreedictionary.com/assertion: "1. The act of asserting.
2. Something declared or stated positively, often with no support or attempt at proof."

> http://www.macmillandictionary.com/us/dictionary/american/assert: "to state firmly that something is true"

>
> As a bonus, Googling "statement of fact" in case that isn't clear to you
> what that means (maybe that's what's throwing you for a loop?

http://en.wikipedia.org/wiki/Fact

> You seem to be equating statement of fact and facts

Well no, I explicitly affirmed that there were different concepts:

On 08/02/2014 03:55 AM, Timon Gehr wrote:
> There is a difference between a fact and a statement of that fact, but ..


> so you've clearly got some
> understanding wrong for the definition of those two):

I also clarified how I understand the term, in order to give you the possibility of clearing up the misunderstanding in case this was to be the point of contention:

On 08/02/2014 03:55 AM, Timon Gehr wrote:
> A statement of FACT is a statement that expresses a fact. I.e. there is
> an existing fact, and the statement expresses this fact

This is part of any well-reasoned argument. I was applying utmost care to expose it as much in its entirety as I could in order to quickly find where the disagreement was coming from.

> http://en.wikipedia.org/wiki/False_statements_of_fact
> ...

I already googled 'statement of fact' myself earlier, and found the wikipedia entry for 'fact', that I quoted back then:
http://en.wikipedia.org/wiki/Fact

"The usual test for a statement of fact is verifiability, that is, whether it can be demonstrated to correspond to experience."

I.e. in order to determine whether something is a statement of fact, one should verify it. Do you agree that it is saying this?

> False statement of fact... You can't possibly suggest that there exists
> false facts, but false statements of facts do exist, proving that
> statement of fact != fact.

It is hard to tell from that article whether you have a point. It often uses the term 'false statement'. I.e. the term might parse like (false statement) of fact, and not false (statement of fact). Furthermore, this seems to be a legalese use. Legalese words often have distorted meanings. Do you think the legalese use of this term is relevant in the context of the current discussion? In any case, wouldn't the existence of false (statements of fact) contradict the wikipedia article on 'fact'?

Furthermore, if we actually assume for a short time that we may equate statement of fact and 'assertion' as you did in a previous post: aren't you now actually arguing for the position that assertions do not necessarily express facts?

There is also the following source:
https://answers.yahoo.com/question/index?qid=20100816160837AAzpEBY

"Most statements fall into one of two categories: statements of fact and statements of opinion. Statements of fact are falsifiable. They can be either proven or disproven. Statements of opinion cannot be falsified."

This contradicts my interpretation, but I don't know what the legalese use is exactly.

there is another answer that says:
"Without looking it up, I'd say a "statement of fact" is simply speaking something that is true, compared to having an opinion about something.
Satement [sic!] of fact: The world is not flat.
Statement of opinion: The world is so messed up these days. "

This definition is similar to what I used, but it is explicitly qualified as non-authoritative.


Do you see why I think that the definition of 'assertion' in English is not sufficient to describe it's semantics as a programming language construct sufficiently well? Note, there is only one source that even mentions 'statement of fact' as part of the definition of 'assert', and it still leaves open alternatives so this entire sub-discussion is not very relevant to the original one.

If you decide to answer, feel free to point out exactly _where_ my reasoning is wrong or _where_ it is not clear enough, attack my reasoning if you must, but please do not attack me again.
August 02, 2014
On 08/02/2014 04:42 AM, Chris Cain wrote:
> On Saturday, 2 August 2014 at 02:32:45 UTC, Timon Gehr wrote:
>> On 08/02/2014 04:28 AM, Chris Cain wrote:
>>> ...
>>
>> I retract my apology.
>
> Of course. The worst curse I could wish upon you is that you stick to
> your guns. So stick to your guns, my friend. :-)

Well, first you complained about the absence of precise logical reasoning and even asked me to provide precise logical reasoning. When I started to carefully lay down my thinking, you started to complain about the presence of the reasoning, did not seem to read it, and decided to attack me personally. I felt 1A trolled so I thought you deserve to be offended a little bit, hence my previous apology seemed not right, taking all new information into account. :o)

BTW: Just to make sure, there are no bad feelings at all on my side. It is my own fault that I got involved in such a discussion again.
August 02, 2014
On 08/02/2014 05:40 AM, Timon Gehr wrote:
>
> Do you see why I think that the definition of 'assertion' in English is
> not sufficient to describe it's

Argh, it's getting late.
August 02, 2014
On 08/02/2014 05:14 AM, Chris Cain wrote:
> On Saturday, 2 August 2014 at 03:07:25 UTC, Tofu Ninja wrote:
>> D3 anyone? :)
>
> Macros please. God please. I assert(macrosExist);

core.exception.AssertError@chris(332812126): Assertion failure
----------------
chris(_d_assertm+0x26) [0x41601a]
chris() [0x415ff2]
chris(_Chrismain+0xe) [0x415fd2]
chris(extern (C) int rt.dmain2.main(int, char**).void runMain()+0x1c) [0x4167ec]
chris(extern (C) int rt.dmain2.main(int, char**).void tryExec(scope void delegate())+0x2a) [0x416166]
chris(extern (C) int rt.dmain2.main(int, char**).void runAll()+0x3b) [0x416833]
chris(extern (C) int rt.dmain2.main(int, char**).void tryExec(scope void delegate())+0x2a) [0x416166]
chris(main+0xd1) [0x4160f1]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f2c21507ec5]
----------------

August 02, 2014
On Saturday, 2 August 2014 at 04:00:01 UTC, Timon Gehr wrote:
> On 08/02/2014 05:14 AM, Chris Cain wrote:
>> On Saturday, 2 August 2014 at 03:07:25 UTC, Tofu Ninja wrote:
>>> D3 anyone? :)
>>
>> Macros please. God please. I assert(macrosExist);
>
> core.exception.AssertError@chris(332812126): Assertion failure
> ----------------
> ... irrelevant stuff ...
> ----------------

http://en.wikipedia.org/wiki/Macro_(computer_science)

core.exception.AssertError@timon(332812126): Assertion failure
----------------
... irrelevant stuff unimportant to point ...
----------------
August 02, 2014
On 08/02/2014 06:05 AM, Chris Cain wrote:
> On Saturday, 2 August 2014 at 04:00:01 UTC, Timon Gehr wrote:
>> On 08/02/2014 05:14 AM, Chris Cain wrote:
>>> On Saturday, 2 August 2014 at 03:07:25 UTC, Tofu Ninja wrote:
>>>> D3 anyone? :)
>>>
>>> Macros please. God please. I assert(macrosExist);
>>
>> core.exception.AssertError@chris(332812126): Assertion failure
>> ----------------
>> ... irrelevant stuff ...
>> ----------------
>
> http://en.wikipedia.org/wiki/Macro_(computer_science)
>
> core.exception.AssertError@timon(332812126): Assertion failure

D's assert statement does not know about this! :o)


> ----------------
> ... irrelevant stuff unimportant to point ...
> ----------------

I thought it made it more realistic.
August 02, 2014
On Saturday, 2 August 2014 at 03:40:47 UTC, Timon Gehr wrote:
> I already googled 'statement of fact' myself earlier, and found the wikipedia entry for 'fact', that I quoted back then:
> http://en.wikipedia.org/wiki/Fact
>
> "The usual test for a statement of fact is verifiability, that is, whether it can be demonstrated to correspond to experience."
>
> I.e. in order to determine whether something is a statement of fact, one should verify it. Do you agree that it is saying this?

I'll just do this real quick, because it's a really easy one to show the problem with.

Google "verifiable" -> http://www.merriam-webster.com/dictionary/verifiable -> "capable of being verified"

That is, it's something that has some ability to be verified. Thus, 1==2 is "verifiable" (it can be shown to be either true or false).

"God exists" is an example of something that cannot be a statement of fact because we cannot verify it one way or another.

So no, a statement of fact can be verifiable and still false by your quote.
August 02, 2014
On 08/02/2014 06:11 AM, Chris Cain wrote:
> On Saturday, 2 August 2014 at 03:40:47 UTC, Timon Gehr wrote:
>> I already googled 'statement of fact' myself earlier, and found the
>> wikipedia entry for 'fact', that I quoted back then:
>> http://en.wikipedia.org/wiki/Fact
>>
>> "The usual test for a statement of fact is verifiability, that is,
>> whether it can be demonstrated to correspond to experience."
>>
>> I.e. in order to determine whether something is a statement of fact,
>> one should verify it. Do you agree that it is saying this?
>
> I'll just do this real quick, because it's a really easy one to show the
> problem with.
>
> Google "verifiable" ->
> http://www.merriam-webster.com/dictionary/verifiable -> "capable of
> being verified"
>...

Great, now we are getting somewhere.

http://dictionary.reference.com/browse/verify?s=t

"to prove the truth of, as by evidence or testimony; confirm; substantiate: Events verified his prediction."

I understand "capable of being verified" as "there is a way to verify this" which is the same as "this can be proven" which would imply "this is true".

What's wrong here?

> That is, it's something that has some ability to be verified. Thus, 1==2
> is "verifiable" (it can be shown to be either true or false).
> ...

If I can verify 1==2, I would prove 1==2, as per the definition above, no?

> "God exists" is an example of something that cannot be a statement of
> fact because we cannot verify it one way or another.
> ...

> So no, a statement of fact can be verifiable and still false by your quote.

It is possible that this is indeed what it tries to communicate. Thanks for bearing with me in any case!

But as I wrote in my previous post, now this brings up the issue that if an assertion is a statement of fact, then it is not necessarily true.

Why is it now obvious that it should be considered true?