00:00:00 --- log: started forth/19.01.10 00:13:58 --- join: jedb (~jedb@199.66.90.113) joined #forth 00:38:55 --- quit: pierpal (Quit: Poof) 00:39:11 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 01:13:03 --- join: john_metcalf (~digital_w@host81-136-106-230.range81-136.btcentralplus.com) joined #forth 01:19:55 --- join: dave0 (~dave0@211.27.44.47) joined #forth 01:20:09 re 02:03:35 --- quit: ashirase (Ping timeout: 250 seconds) 02:07:05 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 02:23:47 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 02:34:35 --- quit: nighty- (Quit: Disappears in a puff of smoke) 03:04:31 --- quit: jedb (Remote host closed the connection) 03:04:51 --- join: jedb (~jedb@199.66.90.113) joined #forth 03:07:45 woot - was right - have an elegant solution to sandbox stack instances (a primary stack can create multiple secondary stacks - the dictionaries, variables and parsing state is unique to each, but the actual data can be shared [or not]) 03:08:07 https://gitlab.com/lilo_booter/rpany/blob/master/bin/rpany-shell 04:25:45 --- join: gravicappa (~gravicapp@h109-187-2-216.dyn.bashtel.ru) joined #forth 04:29:29 --- join: X-Scale` (~ARM@83.223.249.39) joined #forth 04:30:39 --- quit: X-Scale (Ping timeout: 268 seconds) 04:30:39 --- nick: X-Scale` -> X-Scale 06:05:32 --- quit: rdrop-exit (Quit: Lost terminal) 06:16:06 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 06:18:29 --- quit: MrMobius (Ping timeout: 240 seconds) 06:18:29 --- nick: [1]MrMobius -> MrMobius 06:36:26 --- join: Kumool (~Khwerz@adsl-64-237-235-188.prtc.net) joined #forth 06:55:14 --- join: Monev (~Khwerz@adsl-64-237-235-188.prtc.net) joined #forth 06:57:24 --- quit: Kumool (Ping timeout: 268 seconds) 06:59:27 --- quit: Monev (Client Quit) 06:59:45 --- join: Kumool (~Khwerz@adsl-64-237-235-188.prtc.net) joined #forth 07:07:02 --- quit: pierpal (Remote host closed the connection) 07:14:16 --- quit: tabemann (Ping timeout: 250 seconds) 07:54:18 --- join: proteusguy (~proteus-g@58.10.154.246) joined #forth 07:54:18 --- mode: ChanServ set +v proteusguy 08:13:13 --- quit: dave0 (Quit: dave's not here) 08:48:21 Yall think it's a bad habit to just name some words F and G and H because they perform such little work? 08:48:42 --- quit: Zarutian (Read error: Connection reset by peer) 08:49:05 --- join: Zarutian (~zarutian@173-133-17-89.fiber.hringdu.is) joined #forth 08:50:28 works for auto C vars - not for forth. Unless you are writing an editor that see's a KEY as a word 08:50:39 sees 08:50:56 see? sea.. sea-saw 08:51:23 `: F ( c c-addr -- f) 1+ c@ = ;` is such a meaningless word though 08:51:48 yes, 'F' is just too vapid 08:52:22 what would you call it 08:52:55 might just inline it 08:52:59 not sure where you use it or why - so, wouldn't matter 08:54:34 What is it DOING for you? 08:55:29 `: G ( c c-addr -- c-addr f) swap over F ;` 08:55:47 man, you have issues 08:57:40 elaborate 08:58:23 If you are going to refine, pick useful noise to create new, hopefully reusable, idioms. 09:01:41 En anglais? 09:01:42 is there any need elsewhere/later for: : c@? swap over 1" c@ = ; 09:01:53 1"/1+ 09:02:35 Probably not, but it keeps the intent more obvious. 09:03:05 I inlined it into G anyhow. Still don't have a name for G, now G is F. 09:06:28 and it's still "=c@" 09:08:28 that a word? 09:09:37 well, look at what it does.. the only issue is you've also mixed in non-destructive to the address. But, that describes what it does: "fetch a byte from a1 to compare to c1 - leave a flag" 09:10:12 so it's akin to =0 or <>0 and friends 09:10:31 --- quit: Zarutian (Read error: Connection reset by peer) 09:10:41 consume the address and it's exactly as stated 09:10:43 --- join: Zarutian (~zarutian@173-133-17-89.fiber.hringdu.is) joined #forth 09:11:25 `swap over` is `tuck` 09:11:50 didn't realise tuck was core 09:12:01 crc: yeah, when around it's nice 09:12:56 WilhelmVonWeiner: CORE EXT, 6.2.2300 09:13:10 WilhelmVonWeiner: that's part & parcel of refinement/decomposition - he just gave you a new word - which either you can use now or add and still refine that idiom 09:44:41 --- quit: dys (Ping timeout: 250 seconds) 10:07:36 --- join: dys (~dys@tmo-122-246.customers.d1-online.com) joined #forth 10:08:08 Uhrg... I just can't get Bresenham's line algorithm right -_- 10:17:35 --- quit: Kumool (Ping timeout: 246 seconds) 10:23:52 just use a few variables to start out 10:31:32 --- quit: gravicappa (Ping timeout: 258 seconds) 10:34:16 john_cephalopoda: Are you implementing anti-aliasing? 10:37:41 Nope. 10:37:53 I just want to get a line on the screen. That's all. 10:42:47 It is _so_ annoying. 10:46:35 In C I'd have implemented this 100 times by now >:/ 10:46:58 john_cephalopoda: what is so annoying in particular? 10:47:10 why wouldn't you just put it in a function and call it 100 times 10:48:44 Zarutian: I just can't get Bresenham's line drawing algorithm right. It has half a dozen variables and I am trying to avoid using those. 10:49:28 john_cephalopoda: start with those variables then eliminate one at a time. 10:51:41 [13:46] In C I'd have implemented this 100 times by now >:/ 10:51:47 probably true for most things here 10:51:52 :P 10:53:53 Pff, maybe :þ 11:01:22 if you right shorter words, your stack becomes easier to manage. 11:04:03 also if you're using seperate x and y values, try keeping them stored as if the framebuffer was a flat array and use /MOD to get x and y when you need either 11:04:06 --- join: mark4 (~mark4@12.41.103.244) joined #forth 11:04:34 That's not a problem. 11:05:33 I just have no clue what to do with all the delta-X, delta-Y and x0, x1, y0, y1... 11:05:38 Maybe I should make it a matrix... 11:05:49 Hmmm... 11:06:09 you doing line drawing with breshenham? 11:06:59 mark4: I'm planning to do that. 11:07:02 well one thing to do is p0 = y0 * w + x0 11:07:27 that way you're just storing dx, dy, p0, p1... 11:07:56 As soon as there are more than 3 elements on the stack that have to be kept in mind, things are blowing up. 11:08:36 maybe you should split your word up into shorter words that have easier to follow logic 11:12:07 Using matrices as input might be the best solution. 11:12:11 Only two values on the stack. 11:12:29 that sounds convoluted 11:13:05 Not really. I'm using matrices for everything anyway. 11:30:25 what does the `i` in `ix` or `iy` stand for 11:30:35 with bresenham 11:58:43 oh derp, nevermind lol 12:20:28 --- join: X-Scale` (~ARM@46.50.6.40) joined #forth 12:20:42 --- quit: X-Scale (Ping timeout: 244 seconds) 12:21:35 --- nick: X-Scale` -> X-Scale 12:22:28 I'm reading through 'starting forth' and I wonder if I'm misunderstanding this question. 12:22:41 from chapter 2 12:22:53 Convert the following postfix expression to infix: 12:22:53 1. b - b a + / 12:23:09 wouldn't the first - result in an error since there's only one item on the stack? 12:28:18 Croran: Where exactly is it? 12:28:32 https://www.forth.com/starting-forth/2-stack-manipulation-operators-arithmetic/ 12:28:35 'quizzie 2-a' 12:29:19 Convert the following postfix expressions to infix: 12:29:22 6. a b - b a + / 12:29:45 6? 12:30:06 it's 1. in my browser and it states 'b - b a + /' 12:30:09 Yeah, 1. is "infix to postfix" 12:30:22 Maybe you are looking at an older version with a typo 12:30:49 are you looking at the page i linked? or you have a different source? 12:31:02 I think I have a different edition. 12:31:12 Since mine has an a added, it is probably a newer one. 12:31:25 ah ok. i guess it's just an error then 12:31:26 thanks 12:32:49 it should be: 1. a b - b a + / 12:32:52 https://1scyem2bunjw1ghzsf1cjwwn-wpengine.netdna-ssl.com/wp-content/uploads/2018/01/Starting-FORTH.pdf 12:49:15 I think question 4 on 'quizzie 2-b' is a bit of a trick question given the book hasn't covered floating point. lol. 12:57:03 4? 12:57:06 did you mean 5 12:58:12 no. i mean the one with the 0.5 12:58:14 '0.5 ab / 100' 12:58:44 they give the answer as '* 200 /' 12:59:03 yep 12:59:08 which is fine i guess, it's basic math, but it was an unexpected math quiz 12:59:19 fixed point is important in forth 12:59:19 as opposed to learning forth 13:00:23 well the question is really asking "how do you do this floating point calculation in fixed point" 13:00:39 not even in fixed point really just "with integers" 13:01:13 yeah going back, they make it clearer in the PDF with a parenthetical note on 'quizzie 2a' but i started on the web version and they've taken out that context... 13:01:59 that happens again 13:02:01 and again 13:02:05 and probably, agagin. 13:02:10 agagagain 13:03:57 I'm only working off the PDF now, but it's a bit of a shame since it looks like a faxed copy of a typewritten doc 13:05:02 sounds like an accurate scan 13:05:35 I love the font in SF 13:15:43 --- join: Kumool (~Khwerz@adsl-64-237-235-188.prtc.net) joined #forth 13:24:06 page 53 defines 2OVER as (d1 d2 -- d1 d2 d1), but when i use it with 3 items on the stack it underflows... 13:25:05 Croran: that is because it expects doubles. Each such takes two items on stack. 13:26:36 2OVER actually has ( d1_hi d1_lo d2_hi d2_lo -- d1_hi d1_lo d2_hi d2_lo d1_hi d1_lo ) stack effect 13:27:06 hmm ok. was that an older version of the forth standard? 13:27:11 this seems to conflict 13:27:11 http://lars.nocrew.org/forth2012/core/TwoOVER.html 13:27:12 also, the scan is from 1981, some words will be different in modern Forth 13:28:07 just a different notation. d1 is a pair of numbers (x1 x2), d2 is also a pair (x3 x4) 13:28:56 Croran: see no conflict there, just a different notation like crc said 13:31:49 ah ok i understand 13:33:59 s/items/cells/ 13:34:36 a cell was usually 16 bit (before the 32 bit era) 14:22:04 hokay, does ++y*2+1 in C translate to y 1+! y @ 2 * 1 + \ ? 14:25:54 Is "?" at the end part of the sentence? :-) 14:26:50 yes 14:29:53 the \ comments to end of the line and I do not like to be ambigous about where the forth code ends 14:31:42 --- join: dave0 (~dave0@47.44-27-211.dynamic.dsl.syd.iprimus.net.au) joined #forth 14:31:59 hi 14:52:30 I never really liked seeing ++y*2+1 type expressions in C. Relies on order of operations and it's easy to miss something 14:52:58 Forth is unambiguous, so that'a good. 15:53:05 --- join: rdrop-exit (~markwilli@112.201.166.158) joined #forth 16:11:26 Good morning Forthwrights :) 16:22:39 Good evening rdrop-exit 16:23:15 Hello crc :) 16:35:36 Hey rdrop-exit 16:38:18 Hi John! 16:46:42 --- quit: cheater (Quit: leaving) 17:02:16 --- quit: john_cephalopoda (Ping timeout: 268 seconds) 17:03:38 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 17:32:00 --- join: tabemann (~tabemann@h193.235.138.40.static.ip.windstream.net) joined #forth 18:12:02 --- quit: tabemann (Ping timeout: 244 seconds) 18:19:04 --- quit: john_metcalf (Quit: john_metcalf) 18:25:10 siraben: any kind of compound statement in c is a freeking nightmare, you cant guarantee order of operations with different compilers on the same architecture, nevermind different architectures 18:31:49 mark4: There was a serious error in your statement. 18:31:59 s/any kind of compound statement in // 18:32:04 Fixed it for you. 18:32:06 ;) 18:32:08 Use more parens. 18:32:32 x+++++x 18:32:35 nuff sed 18:32:39 heh 18:33:00 ++x+x++ ! 18:33:36 never was interested in the obfuscation-shitfests 18:34:11 the point isnt obfuscation, its undefined behafiour 18:34:41 "don't do that" - I won't argue it, nor defend it - I just code and go. 18:35:34 the problem with c in my opinion is that there are more ways to shoot yourself in the foot with it than almsot any other language 18:36:05 or why else would you have highly complicated interview questions on c coding isms 18:37:17 oh, that's simple: they want java or c++ programmers - or php ;-) 18:38:08 any interview thst involves complicated programming questions in any language is already fundamentally flawed 18:38:27 go apply for a job at google lol 18:38:31 ewwww 18:38:39 no 18:38:45 :) 18:38:52 why in the hell would I want to apply to guzzle? 18:39:13 Never apply for any job 18:39:21 i know someone who works at google and he keeps pinging me every 4-6 months asking me to come work there and i'm like no i'm good thx 18:39:32 lol 18:39:45 dont go there if you are a conservative thats for sure 18:39:46 he has not had enough of the kool-aid - the calls will end 18:40:17 yeah it's also in washington... not particularly interested in moving 18:40:33 zy]x[yz: where are you? 18:40:40 georiia 18:40:49 georgia? 18:40:51 except the one that's spelled right 18:40:57 damn touchscreen 18:40:58 The country? 18:41:05 im in alpharetta georgia 18:41:11 u.s.a 18:41:13 wooooaaahhh me too 18:41:16 wait 18:41:18 srsly? 18:41:21 yeah 18:41:36 im working a contract for landis + gyr here 18:41:39 asl 18:41:45 asl ? 18:41:58 hahahahahahahaha 18:42:16 "age-sex-location" 18:42:22 oh lol 18:42:40 i forgot that one, not heared it since like the 90's lol 18:43:23 well, straighten yer blouse and fluff yer hair ;-) 18:43:36 Advanced Squad Leader 18:44:09 I always approve of squad-leaders in the forefront. 18:45:29 still better than ACPI Machine Language :P 18:45:59 eh, i mean ACPI Source Language of course 18:47:55 Arithmetic Shift Left (6502) 18:48:13 nice one 18:51:39 no one remembered "American Sign Language"? man.. 18:52:21 I signed it, rather than typing it 19:04:49 rdrop-exit: 6502 and, like, 9/10 of the other instruction sets out there. :) 19:05:28 wtf is an arithmetic shift left 19:06:04 save-sign bit, << 19:06:13 oh, right 19:06:28 i don't know why that wasn't obvious 19:09:03 Some ISAs use SAL 19:40:40 --- quit: dddddd (Remote host closed the connection) 19:48:06 --- part: izabera left #forth 19:49:14 --- join: tabemann (~tabemann@2602:30a:c0d3:1890:7d04:1e92:6395:7db) joined #forth 20:02:17 --- join: cheater (~cheater@unaffiliated/cheater) joined #forth 20:46:28 --- join: gravicappa (~gravicapp@h109-187-2-216.dyn.bashtel.ru) joined #forth 20:54:50 --- quit: rdrop-exit (Quit: Lost terminal) 21:17:50 okay, wordlist handling is revamped! 21:18:15 aside from the linked lists of words in the dictionary, wordlists are no longer part of the hashforth core 21:18:47 even when words are created by : or create, the linked lists are established in hashforth assembly code 22:44:58 --- quit: Kumool (Quit: EXIT) 23:39:29 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 23:42:09 --- quit: MrMobius (Ping timeout: 240 seconds) 23:42:09 --- nick: [1]MrMobius -> MrMobius 23:59:59 --- log: ended forth/19.01.10