01:12:44 -!- Lymia has quit (Quit: No Ping reply in 180 seconds.).
01:13:57 -!- ^[ has quit (Ping timeout: 252 seconds).
01:13:58 -!- Lymia has joined.
01:24:52 -!- ^[ has joined.
03:08:32 -!- razetime has joined.
03:53:53 -!- razetime has quit (Remote host closed the connection).
04:09:56 -!- sam has joined.
04:38:11 -!- razetime has joined.
04:38:39 <esolangs> [[Talk:Footsteps]] https://esolangs.org/w/index.php?diff=106838&oldid=105580 * Ais523 * (+615) /* Start 0 */ reply to [[User:Salpynx]]
04:50:27 -!- craigo has joined.
05:21:11 -!- slavfox has quit (Quit: ZNC 1.8.2 - https://znc.in).
05:26:47 -!- slavfox has joined.
06:14:16 -!- bgs has joined.
07:11:59 -!- Sgeo_ has quit (Read error: Connection reset by peer).
07:18:04 -!- craigo_ has joined.
07:20:56 -!- craigo has quit (Ping timeout: 255 seconds).
07:44:12 -!- tromp has joined.
08:04:42 -!- razetime has quit (Ping timeout: 255 seconds).
08:16:33 -!- razetime has joined.
08:18:06 <esolangs> [[User:Orisphera/Completeness]] https://esolangs.org/w/index.php?diff=106839&oldid=106822 * Orisphera * (+39) /* What is a programming language? */
08:49:33 -!- razetime has quit (Remote host closed the connection).
11:12:10 -!- bgs has quit (Remote host closed the connection).
11:55:10 -!- Lord_of_Life has joined.
12:44:11 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
14:02:51 -!- __monty__ has joined.
14:14:15 -!- tromp has joined.
14:27:23 -!- Cale has quit (Ping timeout: 248 seconds).
14:28:49 -!- Cale has joined.
15:03:12 -!- Cale has quit (Ping timeout: 255 seconds).
15:15:28 -!- razetime has joined.
15:16:13 -!- Cale has joined.
15:40:40 <int-e> TIL that unproductive endless loops like `for (;;) {}` are UB in C++ :-/
15:43:35 <FireFly> in general? I know that having main diverge is UB in C++ but I thought it might be specific to main somehow
15:44:52 -!- Sgeo has joined.
15:46:00 <int-e> FireFly: https://en.cppreference.com/w/cpp/language/memory_model includes a "progress guarantee" and LLVM has started to take advantage of it, leading to https://karlsruhe-social.de/system/cache/media_attachments/files/109/856/328/357/566/082/original/abdcd25332d18d5a.png (confirmed with versions 13.x and 14.x)
15:47:44 <int-e> (seen on ##rust-offtopic)
15:59:42 <fizzie> There's a similar C thing (since C11) but it's restricted to loops that have a non-constant controlling expression.
16:01:32 <fizzie> C11 6.8.5p6: "An iteration statement whose controlling expression is not a constant expression, that performs no input/output operations, does not access volatile objects, and performs no synchronization or atomic operations in its body, controlling expression, or (in the case of a `for` statement) its /expression-3/, may be assumed by the implementation to terminate."
16:01:54 <fizzie> Inherited from one of those C <-> C++ harmonization efforts, I believe.
16:02:32 <fizzie> https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1349.htm "Non-terminating loops"
16:03:51 <fizzie> AIUI the "-- controlling expression is not a constant expression --" part was added in committee deliberations because of the body of existing C code that used `for (;;);` as a "should not be reached, and execution should not continue if reached" construct.
16:07:35 <esolangs> [[Special:Log/newusers]] create * Vodracseck * New user account
16:12:05 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=106840&oldid=106825 * Vodracseck * (+74) /* Introductions */
16:19:28 <b_jonas> int-e: ok, that does look weird. I'd not be surprised if the while(1); loop could end in finite time, since that's a look with no side effects so it can be optimized away to nothing. but I don't see how you'd enter the other function. it can't be UB caused by the missing return statement in main because this is C++ code, not C, and C++ has an implicit return 0 at the end of main.
16:24:05 <b_jonas> are you saying that the while(1); loop can be optimized to unreachable somehow instead of just optimized to a nop?
16:27:02 <FireFly> how would the loop ned in finite time?
16:28:33 <b_jonas> FireFly: it can't really, but since it never causes side effects and never changes any value that can be observed from the outside, I assume the compiler can optimize it as if it ended in finite time and did nothign
16:28:40 <b_jonas> I don't think it can optimize it to UB
16:31:11 <b_jonas> but no, I can't cite the standard for this
16:31:18 <b_jonas> it's just how I think it might work
16:31:50 <b_jonas> but maybe that's not right
16:32:00 -!- Hooloovoo has quit (Ping timeout: 248 seconds).
16:32:04 <b_jonas> yeah, it shouldn't be optimized to a nop
16:32:43 -!- Hooloovoo has joined.
16:33:03 <FireFly> I've heard the thing about divergence being explicitly UB, and I think a compiler replacing an infinite loop without side-effect with a nop def woludn't be fine (well uh, I guess it would be as a consequence when it's UB, but like, just indirectly in that it could do anything)
16:33:13 <FireFly> but I don't really speak C++ much
16:33:26 <b_jonas> imagine a loop that searches for a counterexample to the Goldbach conjecture (or a contradiction in ZF or whatever), and then the statement after the loop just prints "found" without printing any more specific info about the loop. presumably you don't want that loop to be optimized away to nop, so this infinite loop shouldn't be either
16:34:29 <b_jonas> (of course that loop might be hard to write in a way that the compiler can prove it has no side-effect, since a naive implementation will have malloc call sbrk or mmap, but that's just a technical problem, the compiler can know enough about malloc to know that those aren't real side effects)
16:35:52 <b_jonas> (I think both C++ and rust folks are working on that you can eventually heap-allocate from compile-time code)
16:36:41 <b_jonas> (and besides, you can just avoid the malloc by searching for a counterexample that fits a gigabyte of pre-allocated memory, presumably the compiler won't be smart enough to be able to prove that that doesn't terminate)
17:04:13 -!- j-bot has joined.
17:25:04 -!- razetime has quit (Remote host closed the connection).
17:25:55 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
17:26:21 -!- Lord_of_Life has joined.
18:02:53 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:24:39 -!- bgs has joined.
18:50:07 -!- FreeFull has joined.
19:00:34 -!- tromp has joined.
19:28:19 -!- Cale has quit (Read error: Connection reset by peer).
19:45:44 -!- Cale has joined.
19:52:22 -!- sam has quit (Quit: leaving).
20:10:43 -!- lagash_ has changed nick to lagash.
20:15:39 -!- lagash has quit (Quit: ZNC - https://znc.in).
20:20:18 -!- lagash_ has joined.
21:03:58 -!- tromp has quit (Read error: Connection reset by peer).
22:02:27 <esolangs> [[Abc!?]] https://esolangs.org/w/index.php?diff=106841&oldid=100412 * 1hals * (+2371) Clarify variables and operation types
22:05:11 <esolangs> [[Abc!?]] https://esolangs.org/w/index.php?diff=106842&oldid=106841 * 1hals * (+85) /* Move statement */
22:07:06 -!- craigo_ has quit (Ping timeout: 255 seconds).
22:09:48 <esolangs> [[Abc!?]] https://esolangs.org/w/index.php?diff=106843&oldid=106842 * 1hals * (+316) re-organize the operators section
22:10:38 <esolangs> [[Abc!?]] https://esolangs.org/w/index.php?diff=106844&oldid=106843 * 1hals * (-293) remove the redundant special features section
22:27:20 -!- chiselfuse has quit (Ping timeout: 255 seconds).
22:28:23 -!- chiselfuse has joined.
22:31:55 <esolangs> [[Abc!?]] https://esolangs.org/w/index.php?diff=106845&oldid=106844 * 1hals * (+598) Add untested Fibonacci example
22:34:20 <esolangs> [[Abc!?]] https://esolangs.org/w/index.php?diff=106846&oldid=106845 * 1hals * (+210)
22:38:29 <esolangs> [[Abc!?]] M https://esolangs.org/w/index.php?diff=106847&oldid=106846 * 1hals * (+24) /* Variables */
23:04:03 -!- __monty__ has quit (Quit: leaving).
23:12:50 -!- bgs has quit (Remote host closed the connection).
23:21:10 <int-e> b_jonas: the crazy thing is that it discards the code *after* the loop as unreachable, but also discards the loop.