00:00:00 --- log: started forth/21.01.09 00:01:47 --- quit: hosewiejacke (Ping timeout: 240 seconds) 01:00:25 --- join: dave0 joined #forth 01:05:01 --- join: iyzsong- joined #forth 01:05:38 --- quit: iyzsong (Ping timeout: 256 seconds) 01:05:39 --- nick: iyzsong- -> iyzsong 01:54:58 --- quit: birdwing (Ping timeout: 240 seconds) 03:17:51 floatcomplex: THEN resolves a forward reference, i.e. in IF THEN the IF creates a forward reference, and THEN resolves it. That 'forward reference' is used if the thing popped from the stack is zero at runtime 03:18:10 So it lets IF jump forwards 03:20:10 WHILE creates a forward reference under the reference BEGIN leaves to loop back 03:20:30 That forward reference is used to end the loop early when the thing popped is zero at runtime 03:21:47 So WHILE and IF are very similar, and THEN can be used to consume the forward reference (i.e. choose a different location for the WHILE to jump to) if the loop is ended with UNTIL instead of REPEAT, or if there are additional WHILE's before a REPEAT. 03:22:40 This is allowed by the forth200x standard, and is conventional for these words 03:24:43 So the BEGIN..WHILE..WHILE..REPEAT THEN lets you have two conditions in a loop, which is quite a common need 03:25:37 Two or more 03:49:00 --- join: birdwing joined #forth 05:19:10 --- quit: tabemann (Remote host closed the connection) 05:19:26 --- join: tabemann joined #forth 07:40:59 --- join: hosewiejacke joined #forth 07:59:23 --- quit: hosewiejacke (Quit: Leaving) 08:39:50 --- quit: dave0 (Quit: dave's not here) 09:56:12 veltas: yeah that makes sense, i think it might actually take some options off the table for how to implement it vs if "begin...until" and "begin...while...repeat" were the only allowed options though 09:56:32 maybe possible to have fastpath code for if only those are used 10:16:27 --- quit: gravicappa (Ping timeout: 256 seconds) 10:18:13 --- join: gravicappa joined #forth 10:21:04 --- quit: Gromboli (Quit: Leaving...) 10:59:53 --- join: Gromboli joined #forth 11:25:51 --- quit: Gromboli (Ping timeout: 260 seconds) 11:28:09 --- join: Gromboli joined #forth 11:41:23 --- quit: the_cuckoo (Ping timeout: 246 seconds) 11:50:35 --- quit: birdwing (Ping timeout: 256 seconds) 12:09:59 --- join: the_cuckoo joined #forth 12:15:20 --- quit: gravicappa (Ping timeout: 246 seconds) 15:06:34 --- join: birdwing joined #forth 15:15:14 --- quit: xek (Ping timeout: 246 seconds) 15:16:49 --- quit: lispmacs[work] (Remote host closed the connection) 15:33:14 floatcomplex: I think the only reason it's defined this way is because it was supported in FIG forth or something and too much code already relied on it 15:34:03 So it is conventional now whether we like it or not, a bit like allotting and -allotting memory, you could argue is not optimal for hash forths 15:34:06 veltas: yeah it makes total sense now that i look at the spec for how it's expected to be implemented. but it does seriously constrain the implementation 15:34:42 Well you could have non-standard words that are less constrained, or just not follow standard at all 16:26:31 --- quit: birdwing (Ping timeout: 272 seconds) 16:46:53 --- join: dave0 joined #forth 17:10:49 --- join: jedb_ joined #forth 17:13:11 --- quit: jedb (Ping timeout: 246 seconds) 17:36:13 --- join: jedb__ joined #forth 17:38:59 --- quit: jedb_ (Ping timeout: 264 seconds) 18:48:55 --- join: boru` joined #forth 18:48:57 --- quit: boru (Disconnected by services) 18:49:00 --- nick: boru` -> boru 18:53:53 --- nick: jedb__ -> jedb 20:10:11 --- quit: sts-q (Ping timeout: 264 seconds) 20:14:57 --- join: sts-q joined #forth 20:34:28 --- join: DKordic joined #forth 20:50:56 --- join: Zarutian_HTC joined #forth 20:52:58 --- quit: yyyyyy (Ping timeout: 240 seconds) 21:12:31 --- join: gravicappa joined #forth 21:52:15 --- quit: Zarutian_HTC (Remote host closed the connection) 21:55:40 --- join: Zarutian_HTC joined #forth 22:24:01 --- quit: Zarutian_HTC (Remote host closed the connection) 22:42:38 --- join: jedb_ joined #forth 22:45:58 --- quit: jedb (Ping timeout: 240 seconds) 22:47:34 --- join: birdwing joined #forth 22:49:31 --- nick: jedb_ -> jedb 23:01:01 --- quit: dave0 (Quit: dave's not here) 23:59:59 --- log: ended forth/21.01.09