00:00:00 --- log: started forth/16.06.13 00:12:04 --- quit: wa5qjh (Remote host closed the connection) 00:15:22 --- join: wa5qjh (~Thunderbi@121.54.58.139) joined #forth 01:02:07 --- quit: mnemnion (Remote host closed the connection) 01:02:46 --- join: mnemnion (~mnemnion@2601:643:8103:f9d0:cd93:fd8d:4bb5:64d6) joined #forth 01:07:18 --- quit: mnemnion (Ping timeout: 250 seconds) 01:27:07 is it legal and good practice to temporarily set the here value to a buffer and use , to write cells to it? 01:40:20 --- quit: wa5qjh (Ping timeout: 250 seconds) 01:41:29 --- join: wa5qjh (~Thunderbi@121.54.58.139) joined #forth 01:50:11 --- quit: wa5qjh (Read error: Connection reset by peer) 01:51:54 --- join: wa5qjh (~Thunderbi@203.111.224.50) joined #forth 03:03:42 --- quit: wa5qjh (Quit: wa5qjh) 03:12:58 --- quit: nighty (Quit: Disappears in a puff of smoke) 03:21:37 --- join: true-grue (~true-grue@176.14.216.104) joined #forth 04:19:49 --- quit: gordonjcp (Ping timeout: 244 seconds) 04:44:38 --- join: nighty (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 04:49:30 --- join: wa5qjh (~Thunderbi@203.111.224.50) joined #forth 05:29:42 --- quit: nighty (Ping timeout: 246 seconds) 05:43:19 --- join: nighty (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 05:56:47 it's probably legal in that you can do it, if you're careful about stashing on the stack whatever you intend to restore as the value of HERE 05:57:26 as for good practice, got me 06:12:31 --- join: karswell (~user@37.152.216.236) joined #forth 06:32:18 var there there ! : t, there @ tuck ! cell+ there ! ; 06:33:22 the ',' word is just so simple I don't see any reason to twist it like that when you could make your own for it 06:33:25 Skuzzzy: welcome to the club of Great Forth Heretics. :) 06:42:32 --- quit: DGASAU (Read error: Connection reset by peer) 06:42:40 --- join: DGASAU (~user@lmpc.drb.insel.de) joined #forth 06:53:50 --- quit: Pastaf (Ping timeout: 258 seconds) 06:55:04 --- join: pastaf (~pastaf@2601:600:8b00:58a6:ea40:f2ff:feb9:eb4d) joined #forth 07:04:37 --- join: Locathor (~locathor@2601:882:100:3191:213:ceff:fe7c:4cd7) joined #forth 07:05:18 Why does forth have roll and not -roll ? 07:07:51 there is rot and -rot, but roll goes only one way 07:13:08 Because it's Forth. 07:13:41 so, write 'rock' 07:19:30 :( 07:22:28 nobody knows then? 07:25:11 also, i know puzzling out the stack with our hands tied behind our back can be an amusing pass time. but apart from the value of our amusement are there any technical reasons why wikis and such seem to so strongly emphasize not treating the stack as an array by using pick and roll? 07:35:00 I've always found going over 3 items on the stack to be a headache, personally 07:36:02 its more of a headache without pick than it is with... 07:36:14 or is that you agreeing? 07:36:47 i couldn't quite read your tone 07:37:32 more as in "I refactor things to not need that many on the stack" 07:39:13 well that is the forth way(tm) but i wish someone would explain it and defend it on technical grounds 07:40:25 to my mind, the stack would be on cpu memory and so more efficient than variables which are in ram.. but maybe my whole concept is not right 07:40:55 the stack is in ram 07:41:12 only exception is going to be ToS on some forths 07:41:17 is in a register 07:41:45 why would i do that tho, say i am making a forth.... to my thinking the stack is where you put the stuff you are most immediately working with, so shouldn't that be on the cpu if possible? 07:42:07 a normal cpu has like 8~16 registers 07:42:15 that's all that can be "on the cpu" 07:42:31 you need a bunch of those to actually implement the language 07:42:49 well you handle that by spilling the rest to ram 07:43:15 having more then just ToS in registers makes it much much more complex 07:43:16 hmmmm 07:43:42 but still quite doable 07:43:43 because it's very complex to treat a group of registers as a stack 07:44:19 and you know if you are pulling out all the stops optimizing, you are making trade offs increasing complexity for speed etc 07:44:28 each additional register that's part of the "stack" adds a couple ops to everything 07:44:53 and still can't optimize "5 pick" by that much 07:45:45 with a stack in ram it's basically 'mov a, [SP+5] push a' or similar 07:46:14 with stack in registers you have to start processing which register it'd be in. 07:46:31 it could possibly be faster if you are going subroutine threaded and heavy optimization 07:47:25 the other factor though, is that "cpu is faster then ram" is an assumption that only holds true on full up computers 07:47:41 a lot of the places forth is run the memory is lockstep with the cpu anyways 07:48:03 and lets say i agree with you, and i wont until i learn the hard way i guess, but lets say for the sake of argument i do, then you still have random access to ram, why would you make your immediate working values be in a linked list or whatever it is you have in mind? 07:49:02 I don't? 07:49:22 heck, half the time I've got something that complex I just drop into assembly 07:49:54 so if you are storing the registers in a random access data structure in random access memory, why object strongly to not pretending they are otherwise? 07:50:01 i mean the stack 07:51:14 why would 5 pick be harder to optimize than a[5] in c? 07:51:39 because experience has shown that code using "5 pick" all over the place tends to be harder to maintain? 07:53:09 i think it is not harder to maintain, it is maybe a little harder to remember how to use because the parameters are positional and you have to get their order right 07:54:09 now you are arguing that experiential evidence is invalid because your experience has been different 08:06:46 --- quit: true-grue (Ping timeout: 276 seconds) 08:07:45 --- quit: Keshl (Read error: Connection reset by peer) 08:08:14 --- join: Keshl (~Purple@24.115.181.94.res-cmts.gld.ptd.net) joined #forth 08:10:18 --- quit: Locathor (Quit: Leaving) 08:11:14 --- join: gordonjcp (~gordonjcp@gjcp.net) joined #forth 09:01:42 --- quit: wa5qjh (Ping timeout: 260 seconds) 09:03:16 --- join: wa5qjh (~Thunderbi@203.111.224.50) joined #forth 09:13:47 --- join: true-grue (~true-grue@176.14.216.104) joined #forth 09:21:51 --- join: mnemnion (~mnemnion@2601:643:8103:f9d0:8584:5442:4438:d273) joined #forth 09:55:38 --- quit: djinni (Ping timeout: 252 seconds) 10:29:11 --- quit: wa5qjh (Ping timeout: 252 seconds) 10:31:04 --- join: wa5qjh (~Thunderbi@203.111.224.50) joined #forth 10:47:04 --- join: JDat (~JDat@89.248.91.5) joined #forth 10:51:51 --- quit: mnemnion (Remote host closed the connection) 10:53:25 --- join: djinni (~djinni@68.ip-149-56-14.net) joined #forth 11:32:53 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 12:52:56 --- quit: wa5qjh (Remote host closed the connection) 12:53:59 --- join: wa5qjh (~Thunderbi@203.111.224.50) joined #forth 13:23:38 --- quit: wa5qjh (Read error: Connection reset by peer) 13:23:55 --- join: wa5qjh (~Thunderbi@203.111.224.50) joined #forth 13:31:58 --- quit: Zarutian (Quit: Zarutian) 13:35:48 --- join: mnemnion (~mnemnion@128.177.29.250) joined #forth 13:40:42 --- join: michaelmd (~mdagn111@202.172.102.151) joined #forth 13:41:29 --- part: michaelmd left #forth 13:45:33 --- join: impomatic (~impomatic@54.39.114.87.dyn.plus.net) joined #forth 13:55:08 --- quit: wa5qjh (Remote host closed the connection) 14:27:23 --- join: ASau (~user@netbsd/developers/asau) joined #forth 14:29:00 --- nick: pastaf -> Pastaf 14:29:05 --- quit: Pastaf (Changing host) 14:29:05 --- join: Pastaf (~pastaf@unaffiliated/pastaf) joined #forth 14:41:02 --- quit: JDat (Ping timeout: 240 seconds) 15:20:47 --- join: ErhardtMundt (~quassel@2a02:8084:2847:8f80:215d:cd6b:ad43:2a92) joined #forth 15:22:21 --- quit: nighty (Quit: Disappears in a puff of smoke) 15:25:37 --- join: ASau` (~user@176.7.50.183) joined #forth 15:29:37 --- quit: ASau (Ping timeout: 260 seconds) 15:36:18 --- join: Kumool (~kumool@adsl-64-237-234-35.prtc.net) joined #forth 15:40:03 --- quit: true-grue (Read error: Connection reset by peer) 15:44:49 --- quit: mnemnion (Remote host closed the connection) 16:17:03 --- join: saml_ (~saml@cpe-24-102-97-97.nyc.res.rr.com) joined #forth 16:34:59 --- join: wa5qjh (~Thunderbi@203.111.224.50) joined #forth 16:54:54 --- join: mnemnion (~mnemnion@2601:643:8103:f9d0:fd93:229f:403b:a18) joined #forth 16:57:14 --- join: nighty (~nighty@d246113.ppp.asahi-net.or.jp) joined #forth 17:28:46 --- quit: octophore (Ping timeout: 244 seconds) 17:31:56 --- join: octo- (~octo@159.203.97.79) joined #forth 18:33:26 --- quit: saml_ (Quit: Leaving) 19:06:07 --- join: leaverite (~Thunderbi@121.54.58.132) joined #forth 19:07:49 --- quit: wa5qjh (Ping timeout: 276 seconds) 19:07:49 --- nick: leaverite -> wa5qjh 19:24:42 --- quit: mnemnion (Read error: Connection reset by peer) 19:25:26 --- join: mnemnion (~mnemnion@2601:643:8103:f9d0:fd93:229f:403b:a18) joined #forth 19:43:41 --- quit: wa5qjh (Read error: Connection reset by peer) 19:45:36 --- join: wa5qjh (~Thunderbi@121.54.58.132) joined #forth 20:40:48 --- join: leaverite (~Thunderbi@203.111.224.56) joined #forth 20:41:07 --- quit: wa5qjh (Ping timeout: 260 seconds) 20:41:07 --- nick: leaverite -> wa5qjh 20:44:04 --- quit: wa5qjh (Read error: Connection reset by peer) 20:45:54 --- join: wa5qjh (~Thunderbi@203.111.224.56) joined #forth 23:24:41 --- quit: Kumool (Ping timeout: 252 seconds) 23:40:05 --- quit: wa5qjh (Ping timeout: 252 seconds) 23:42:04 --- join: wa5qjh (~Thunderbi@203.111.224.56) joined #forth 23:59:59 --- log: ended forth/16.06.13