00:00:00 --- log: started forth/17.12.31 00:10:27 --- join: gravicappa (~gravicapp@h62-133-162-148.dyn.bashtel.ru) joined #forth 00:53:46 --- quit: nighty- (Quit: Disappears in a puff of smoke) 01:28:29 --- quit: dys (Ping timeout: 256 seconds) 01:37:29 --- join: dys (~dys@tmo-112-184.customers.d1-online.com) joined #forth 01:57:33 --- quit: deep-thought (Ping timeout: 265 seconds) 02:33:42 --- join: deep-thought (~deep-thou@2001:8003:f064:400:f66d:4ff:fe58:ff4b) joined #forth 03:28:10 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 03:43:21 --- quit: deep-thought (Quit: Leaving) 03:46:24 --- quit: ThirtyOne32nds (Read error: Connection reset by peer) 05:55:56 --- join: ThirtyOne32nds (~rtmanpage@61.sub-174-204-7.myvzw.com) joined #forth 05:57:36 --- quit: zy]x[yz (Quit: leaving) 05:59:32 --- join: zy]x[yz (~corey@unaffiliated/cmtptr) joined #forth 06:36:58 --- quit: cheater (Ping timeout: 240 seconds) 07:29:42 --- join: nighty- (~nighty@q029220.ppp.asahi-net.or.jp) joined #forth 07:35:50 --- quit: ggherdov` (Ping timeout: 248 seconds) 07:36:22 --- quit: dys (Ping timeout: 248 seconds) 07:36:27 --- join: karswell_ (~user@cust125-dsl91-135-5.idnet.net) joined #forth 07:36:54 --- quit: a3f (Ping timeout: 248 seconds) 07:37:08 --- join: a3f (~a3f@unaffiliated/a3f) joined #forth 07:37:27 --- quit: nerfur (Ping timeout: 248 seconds) 07:37:58 --- quit: nighty- (Ping timeout: 248 seconds) 07:37:58 --- quit: karswell (Ping timeout: 248 seconds) 07:37:59 --- quit: koisoke (Ping timeout: 248 seconds) 07:39:18 --- quit: ThirtyOne32nds (Ping timeout: 260 seconds) 07:39:28 --- join: koisoke (xef4@epilogue.org) joined #forth 07:42:44 --- join: nerfur (~nerfur@mail.freeside.ru) joined #forth 07:49:39 --- join: nighty- (~nighty@q029220.ppp.asahi-net.or.jp) joined #forth 07:50:22 --- join: ggherdov` (sid11402@gateway/web/irccloud.com/x-otejxvivafbsdxha) joined #forth 08:42:05 --- quit: nighty- (Ping timeout: 246 seconds) 09:11:24 --- join: Gromboli (~Gromboli@static-72-88-80-103.bflony.fios.verizon.net) joined #forth 09:19:00 --- quit: proteus-guy (Ping timeout: 252 seconds) 09:30:06 --- join: proteus-guy (~proteus-g@2405:9800:bc10:1ca:44ef:bd4c:eab4:35e8) joined #forth 09:48:51 --- join: ThirtyOne32nds (~rtmanpage@61.sub-174-204-7.myvzw.com) joined #forth 10:13:37 --- quit: jcob (Remote host closed the connection) 10:17:14 --- join: jcob (~user@cpe-172-74-189-35.nc.res.rr.com) joined #forth 10:26:15 --- join: mark4 (~mark4@99.30.241.51) joined #forth 10:31:40 --- join: lijero (~lijero@unaffiliated/lijero) joined #forth 10:33:02 --- quit: mark4 (Quit: Leaving) 11:04:16 Okay so I want to preface this question by saying I'm a forth newbie. Here's my question: how do forth users deal with things of unknown length? 11:04:16 11:05:17 like memory of length unknown at the time of writing the program. For instance C handles it with malloc/free 11:11:33 you can allocate and deallocate from the dictionary, but I've never been able to see how that's even remotely useful 11:11:59 I would guess most embedded forth users probably use memory pools and similar techniques 11:12:32 and lastly, I think some forths do have c-style memory management words 11:13:24 so for with mine I've just been calling mmap directly until I write a nice library to wrap it and optimize it 11:13:32 s/so for/so far/ 11:14:34 ooh mmap thats one of my favorite bits of unix :) what of program are you writing? 11:15:09 nothing inparticular at the moment, just rolling my own forth because I guess that's what forth people do 11:20:37 --- quit: proteus-guy (Ping timeout: 255 seconds) 11:26:20 --- quit: Zarutian_PI (Ping timeout: 240 seconds) 11:37:03 --- join: proteus-guy (~proteus-g@184.22.242.53) joined #forth 13:11:31 --- quit: ThirtyOne32nds (Remote host closed the connection) 13:27:06 --- join: dys (~dys@tmo-106-110.customers.d1-online.com) joined #forth 13:35:47 --- join: deep-thought (~deep-thou@2001:8003:f064:400:f66d:4ff:fe58:ff4b) joined #forth 14:04:57 dictionary memory management is between c-stack and malloc in terms of flexibility. It's still, in general, stack-style (last-in first-out), but the ability to directly manipulate it makes it useful. The ability to instantly free everything allotted past a certain point is also useful. But still able to handle a smaller class of problems than malloc. I've heard some good stuff about region-based memory management, but haven't tried it 14:04:57 myself. 14:11:42 --- quit: dys (Ping timeout: 268 seconds) 14:18:54 --- quit: lijero (Ping timeout: 240 seconds) 14:26:52 I suppose it depends on what forth you are using. Gforth indicates "allocate", "free" and "resize" do not affect the dictionary allocation 14:32:18 --- quit: gravicappa (Ping timeout: 260 seconds) 14:35:56 --- join: Zarutian_PI (~3.1415@173-133-17-89.fiber.hringdu.is) joined #forth 14:54:54 --- join: lijero (~lijero@unaffiliated/lijero) joined #forth 15:01:22 --- join: nighty- (~nighty@q029220.ppp.asahi-net.or.jp) joined #forth 15:35:29 --- join: dys (~dys@80.187.109.7) joined #forth 18:05:19 --- quit: dddddd (Remote host closed the connection) 18:09:20 --- join: ThirtyOne32nds (~rtmanpage@154.sub-174-204-3.myvzw.com) joined #forth 20:27:40 --- quit: jcob (Remote host closed the connection) 21:34:43 --- quit: lijero (Remote host closed the connection) 21:47:20 --- join: xieyuheng (~user@113.89.237.70) joined #forth 21:58:19 --- quit: Gromboli (Quit: Leaving) 22:28:53 --- quit: xieyuheng (Remote host closed the connection) 23:59:59 --- log: ended forth/17.12.31