00:00:00 --- log: started forth/19.04.27 00:38:41 Good afternoon Forthwrights 00:46:15 --- quit: pierpal (Quit: Poof) 00:46:30 --- join: pierpal (~pierpal@host197-221-static.34-79-b.business.telecomitalia.it) joined #forth 01:44:30 --- quit: rdrop-exit (Quit: Lost terminal) 02:04:33 --- quit: ashirase (Ping timeout: 250 seconds) 02:07:09 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 02:09:21 --- join: proteusguy (~proteusgu@58-97-48-85.static.asianet.co.th) joined #forth 02:09:21 --- mode: ChanServ set +v proteusguy 03:03:25 --- quit: dys (Ping timeout: 246 seconds) 03:16:39 --- join: dys (~dys@tmo-102-144.customers.d1-online.com) joined #forth 03:26:17 Hwy 05:04:24 --- quit: proteusguy (Ping timeout: 258 seconds) 05:24:58 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 05:40:03 --- quit: Zarutian (Ping timeout: 258 seconds) 05:42:43 --- join: Zarutian (~zarutian@173-133-17-89.fiber.hringdu.is) joined #forth 06:42:20 quiet huh 06:42:21 hey 06:43:00 morning WilhelmVonWeiner 06:43:12 how art thou 06:52:17 Hey 07:56:55 --- join: proteusguy (~proteusgu@cm-58-10-154-216.revip7.asianet.co.th) joined #forth 07:56:55 --- mode: ChanServ set +v proteusguy 07:57:32 --- quit: X-Scale (Ping timeout: 246 seconds) 08:02:03 o/ WilhelmVonWeiner 08:16:42 --- join: X-Scale (~ARM@83.223.224.6) joined #forth 08:18:49 --- quit: pierpal (Ping timeout: 255 seconds) 08:18:57 --- quit: proteusguy (Ping timeout: 250 seconds) 08:32:55 --- join: proteusguy (~proteusgu@cm-58-10-154-216.revip7.asianet.co.th) joined #forth 08:32:55 --- mode: ChanServ set +v proteusguy 09:06:02 pointfree, I was thinking about you yesterday 09:06:21 writing a game of snake in Forth and realised a FIFO would be so much more useful 09:06:45 instead of some sequential memory stuff I have to do instead 09:33:59 WilhelmVonWeiner: that sounds like it could be a good demo of fifo style forth. People were asking for some more substantial applications written in that style. 09:34:57 * pointfree is at svfig 09:38:08 s)tartrek uni(V)erse Forth Interest Group? 09:38:39 :-) to think that Spock was coding 3D Chess in FORTH! 09:38:49 WilhelmVonWeiner: how does a FIFO vary from "sequential memory"? 09:39:20 spok played on a weirdass 3d board - it's not even a square-per-level, so...... 09:39:25 it doesn't, just the fifo replaces the stack 09:40:09 but I can think of most situations I use the stack easily adapting to the fifo 09:40:17 or being improved 09:40:25 WilhelmVonWeiner: well, um.. that is a queue.. queuing is SERIALIZATION 09:40:44 since your stack is usually 2-3 items deep at worst unless you're storing a lot of data on it 09:40:51 certainly I can see reasons to serialize 09:41:07 yeah, stacks get stupid fast 09:41:51 lot of stuff I write would overflow the ANS 24 deep return stack because I abuse it since I don't like allocating memory 09:41:56 stacks are great for "got here, let's go wild;" and then DONE: clear it all 09:42:11 yep 09:42:43 alloca-style code is not even remotely MCU headspace, but malloc is even worse for mcu's 09:43:04 I quite like the idea of a fifo instead of a lifo, then an a and b pair of registers like in colorForth and arrayForth 09:43:13 ahhhh 09:43:27 I've avoided the A/B idea so far anyway 09:43:43 Not to say it can't be hacked in as a "syscall" 09:43:49 I try to but it's so likeable 09:44:31 I dunno what 4 codes I'd sacrifice - even 2 - for A/B - I'd rather require another byte of opcode. 09:45:20 In the times you've found queue's useful does it make sense overall to have 2 stacks, 1 queue, and perhaps a register or two? Or does having both queues and stacks make things too complex? 09:45:52 too complex 09:46:02 Kip is also one to ask about A/B 09:46:21 WilhelmVonWeiner, have you tried it in practice? 09:46:23 I was designing something around that and then you don't know when you want a stack or a queue for whatever operation 09:46:38 I think the QUEUE is mostly a nice construct for some task 09:47:09 not for anything large but my university project has been about my own stack machine which is basically a rip off of crc's Nga at this point (because I love nga) 09:47:25 WilhelmVonWeiner: in that case, I'd program 2 tests with either solution and see who "won" in size or speed 09:47:50 and with the stack and the fifo you're thinking too much over a problem domain that doesn't need to be as large as it is 09:47:54 PoppaVic, I'm kinda of your thinking there. 09:48:04 ahh, kids and school - well, ripoffs should fail you - if the prof has a clue (which is never assured) 09:48:24 I think it's why chuck switched to circular stacks, just a hunch 09:48:47 proteusguy: I'm fairly Empiric - or maybe vampiric: shit works or does not. One is clear or not. Make the call, send up the batsignal. 09:49:30 WilhelmVonWeiner, don't think so. He doesn't use the rollover as a feature for anything except stack over/under flow will only ever mess up your stack and not some other part of memory. I think this is a Good Thing (TM). 09:49:39 I'm not a huge fan of RINGS - I don't much care for the code waste 09:50:04 RINGS? 09:50:16 WilhelmVonWeiner: better to avoid Infinite Memory 09:50:17 PoppaVic, me as well (Empiric) but then I hope after several real-world examples I find a pattern that helps me determine the context in which I should use one vs the other. 09:50:21 Like ringbuffers? 09:50:23 john_cephalopoda: rings are circular 09:50:32 I like the rollover feature, it's why I have push, pop and pip (reverse pop) 09:51:20 I think ring buffers are pretty useful data structures. 09:51:37 proteusguy: except, I'd chop yer dick off for "pattern" - Yes, I look for "common' vs "esoteric" - I don't mind shit that works in really special situations, but I am goddamned tired of people pretending voodoo saves us all. 09:51:39 WilhelmVonWeiner, how do you use that on a practical basis? You'd have to predict when your stack is going to wrap around. Seems really hard. 09:51:39 The rollover makes for breadth first execution 09:52:37 pointfree, sounds like you need a stack of a particular fixed size appropriate for your particular context, no? 09:52:43 john_cephalopoda: we are all happy for you, I am sure. Meanwhile, I think of "I am unwinding now and OMFG SHIT WENT WILD" 09:52:44 oh my stack is always 24 deep 09:52:57 the circular ones 09:53:38 WilhelmVonWeiner: here's an idea: don't nest deeper than 16. Next? 09:55:21 I am perfectly fine with stirring up #forth to argue stack-depth and recursion. There is a reason standards have minimal sizes; some of us "THINK MCU" - and frankly, I'd use goddamned C and "infinite memory" in most of the cases folks like to claim in here 09:55:35 okay here's my example for snake, where I would use the queue to index each point in the snake's body where it makes a turn 09:56:05 if the snake makes a new turn, it's just adding another update point to the end of the queue 09:56:34 and you run `update` on each segment which is then appended to the end and they all end up in the order you started with 09:56:59 on a stack you would have to pop them all off onto the return stack and process each as you push it back 09:57:16 or, use sequential cells in memory 09:57:32 both of which are pretty inelegant 09:58:34 All you've done in the later case is serialize them into a FIFO - on a stack already designed for something else 10:07:00 PoppaVic: I don't really understand what you mean with "I am unwinding now and OMFG SHIT WENT WILD" 10:08:06 getting lost on your ring 10:09:11 proteusguy: I implement the fifo-like code on top of a stack based forth sometimes, with high level produce and consume words ( analogous to push and pop). produce and consume produce and consume to and from the bottom of the stack. 10:09:11 So you still effectively use registers or the stack locally for codewords done this way. 10:09:11 With fifos you can make multiple passes over the same parameters without stashing away parameters with `dup` `over` `tuck` etc. 10:09:11 It kinda looks like pattern matching in a way. I like to use `_` to drop parameters. 10:10:31 that point about multiple passes is most pertinent 10:19:34 pointfree, hmm... can you go into the bit about how it looks like pattern matching a bit more? 10:22:04 --- join: pierpal (~pierpal@host197-221-static.34-79-b.business.telecomitalia.it) joined #forth 10:22:14 --- join: cnidario (~dont@cli-5b7ec41e.ast.adamo.es) joined #forth 10:23:43 --- quit: gravicappa (Ping timeout: 258 seconds) 10:28:23 --- quit: pierpal (Ping timeout: 246 seconds) 10:30:57 --- join: pierpal (~pierpal@host197-221-static.34-79-b.business.telecomitalia.it) joined #forth 10:37:01 is ting going to release his esp32 eforth 10:37:26 pointfree: can you ask when there's time 10:38:46 proteusguy: `: d@ depth 1- pick ; : d> depth 1- roll ; : _ drop ; : p? d@ d> $1F $7E within invert and ; 2 3 key 4 key 6 p? p? p? p? p? p? + + + + + . ( 15)` <-- adds up non-characters. 10:40:02 WilhelmVonWeiner: Ting's giving a talk at the moment. I will ask him about esp32 eforth. 10:40:46 yeah i'm watching the youtube feed 10:46:43 proteusguy: filtering. I guess I should say pattern matching is the inverse of words https://pdfs.semanticscholar.org/e702/4d0799a834d59b59e858aa57108c686ab2ae.pdf 10:48:09 pointfree, cool thanx for the ref!! 10:50:14 pointfree, can you ask Dr. Ting how to best contact him regarding eForth for Linux and FPGA? I sent him an email at chenhting@yahoo.com.tw back in Dec of 2018 but never heard from him. Referring to this site of his: https://sites.google.com/offete23.com/eforth/cpu-workshop/ep32-in-vhdl-for-brevia-kit 10:51:36 sure thing! 11:01:24 is my name too wacky to say out loud 11:01:35 hahaha I think so 11:01:45 hahaha 11:01:55 LOL 11:01:57 <3 11:03:51 His site says to contact him via email.... :-) Doesn't have the stuff to download. I sent him the email. 11:04:24 Guess i'll send him again.... haha 11:04:31 did someone note that down 11:04:40 It's exactly what I wrote above. 11:04:48 lol. 11:05:06 I tried to contact him and send him money but got no reply. 11:05:56 Will try again. 11:06:15 Thanx pointfree ! ;-) 11:06:29 :) 11:06:36 yeah thanks mate 11:37:50 --- quit: APic (Quit: Reconnecting) 11:37:58 --- join: APic (apic@apic.name) joined #forth 11:40:59 --- quit: cnidario (Remote host closed the connection) 11:58:59 --- join: tbemann (~androirc@2600:1700:7990:24e0:788d:129b:74f2:b85f) joined #forth 12:06:42 --- quit: tbemann (Remote host closed the connection) 12:07:24 --- join: Keshl_ (~Purple@207.44.70.214.res-cmts.gld.ptd.net) joined #forth 12:07:28 --- quit: Keshl (Read error: Connection reset by peer) 12:20:40 --- join: mtsd (~mtsd@94-137-100-130.customers.ownit.se) joined #forth 12:33:04 --- quit: Keshl_ (Ping timeout: 255 seconds) 13:02:44 --- join: Keshl_ (~Purple@207.44.70.214.res-cmts.gld.ptd.net) joined #forth 14:12:41 --- quit: mtsd (Quit: leaving) 15:04:19 --- quit: pierpal (Ping timeout: 258 seconds) 15:05:51 --- quit: dys (Ping timeout: 258 seconds) 15:30:05 --- join: cnidario (~dont@cli-5b7ec41e.ast.adamo.es) joined #forth 16:07:43 --- join: dave0 (~dave0@108.060.dsl.syd.iprimus.net.au) joined #forth 16:08:11 hi 16:33:44 hi dave0 16:49:50 --- quit: cnidario (Remote host closed the connection) 17:02:23 --- quit: john_cephalopoda (Ping timeout: 276 seconds) 17:06:44 --- join: pierpal (~pierpal@host197-221-static.34-79-b.business.telecomitalia.it) joined #forth 17:10:49 --- quit: pierpal (Ping timeout: 245 seconds) 17:16:27 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 17:22:19 --- quit: Keshl_ (Quit: Konversation terminated!) 19:14:07 --- join: pierpal (~pierpal@host197-221-static.34-79-b.business.telecomitalia.it) joined #forth 19:17:42 --- join: Keshl (~Purple@207.44.70.214.res-cmts.gld.ptd.net) joined #forth 19:18:28 --- quit: pierpal (Ping timeout: 258 seconds) 19:56:51 --- quit: Keshl (Quit: Konversation terminated!) 20:17:33 --- join: Keshl (~Purple@207.44.70.214.res-cmts.gld.ptd.net) joined #forth 21:18:42 --- join: gravicappa (~gravicapp@h109-187-32-71.dyn.bashtel.ru) joined #forth 21:21:37 --- join: pierpal (~pierpal@host197-221-static.34-79-b.business.telecomitalia.it) joined #forth 21:26:06 --- quit: pierpal (Read error: Connection reset by peer) 21:52:00 --- quit: dddddd (Remote host closed the connection) 23:59:59 --- log: ended forth/19.04.27