00:00:00 --- log: started forth/15.07.20 00:37:09 --- log: started forth/15.07.20 00:37:09 --- join: clog (~nef@bespin.org) joined #forth 00:37:09 --- topic: 'Forth Programming | logged by clog at http://bit.ly/91toWN | http://forthworks.com/standards/DPANS/ | www.greenarraychips.com' 00:37:09 --- topic: set by crc!sid2647@gateway/web/irccloud.com/x-gjufmiaqljwdybvp on [Wed Mar 18 14:28:55 2015] 00:37:09 --- names: list (clog darkf atommann C-Keen FireFly _longines joneshf-laptop +proteusguy Korsi impomatic nisstyre JohnMarkM pointfree TodPunk irsol tangentstorm carc rprimus defanor kulp Quiznos enthos malyn nighty^ the_cuckoo djinni bjorkintosh phadthai Vendan diginet pepijndevos dzho bluekelp yiyus Duality newcup DKordic Quozl` scoofy Backer ionthas b4283) 00:47:57 --- join: crc (sid2647@gateway/web/irccloud.com/x-zlrswdyaznpfqsnl) joined #forth 00:57:50 --- quit: FireFly (Ping timeout: 244 seconds) 01:04:37 --- join: ggherdov` (sid11402@gateway/web/irccloud.com/x-rucccgcvlpmppqhg) joined #forth 01:27:29 --- join: true-grue (~grue@95-27-128-247.broadband.corbina.ru) joined #forth 01:32:14 --- join: FireFly (~firefly@firefly.xen.prgmr.com) joined #forth 02:44:50 --- join: karswell (~user@75.160.189.80.dyn.plus.net) joined #forth 03:23:57 --- quit: atommann (Quit: Leaving) 03:25:46 --- join: xyh (~user@14.150.214.132) joined #forth 03:26:43 --- quit: Quiznos (Quit: leaving) 04:38:50 --- join: vsg1990 (~vsg1990@cpe-67-241-148-119.buffalo.res.rr.com) joined #forth 04:54:47 --- join: nighty-_ (~nighty@hokuriku.rural-networks.com) joined #forth 05:07:38 --- quit: TodPunk (Read error: Connection reset by peer) 05:08:02 --- join: TodPunk (Tod@50-198-177-186-static.hfc.comcastbusiness.net) joined #forth 05:34:09 --- quit: vsg1990 (Read error: Connection reset by peer) 05:34:12 --- join: vsg1990_ (~vsg1990@cpe-67-241-148-119.buffalo.res.rr.com) joined #forth 07:03:13 --- join: kumul (~mool@adsl-72-50-86-234.prtc.net) joined #forth 07:38:41 --- join: crc_ (sid2647@gateway/web/irccloud.com/x-meovklvllczmuwpe) joined #forth 07:42:25 --- quit: crc (Ping timeout: 248 seconds) 07:42:26 --- nick: crc_ -> crc 07:42:30 --- quit: the_cuckoo (Ping timeout: 248 seconds) 07:42:31 --- quit: ggherdov` (Ping timeout: 248 seconds) 07:42:32 --- quit: JohnMarkM (Ping timeout: 248 seconds) 07:42:34 --- quit: darkf (Ping timeout: 248 seconds) 07:42:35 --- quit: bjorkintosh (Ping timeout: 248 seconds) 07:43:13 --- join: JohnMarkM (~johnmark@24.1.223.32) joined #forth 07:43:40 --- join: the_cuckoo (~charlie@d51A577C5.access.telenet.be) joined #forth 07:44:30 --- join: bjorkintosh (~bjork@ip68-13-224-81.ok.ok.cox.net) joined #forth 07:56:02 --- join: ggherdov` (sid11402@gateway/web/irccloud.com/x-dwvlmyniwmaizezl) joined #forth 08:27:09 --- quit: proteusguy (Ping timeout: 240 seconds) 08:40:15 --- join: proteusguy (~proteusgu@ppp-110-168-230-20.revip5.asianet.co.th) joined #forth 08:40:16 --- mode: ChanServ set +v proteusguy 09:46:30 --- quit: FireFly (Changing host) 09:46:30 --- join: FireFly (~firefly@oftn/member/FireFly) joined #forth 10:14:16 --- quit: xyh (Remote host closed the connection) 10:22:19 --- join: xyh (~user@14.150.214.132) joined #forth 10:34:53 --- quit: JohnMarkM (Ping timeout: 256 seconds) 10:45:40 --- quit: xyh (Remote host closed the connection) 11:17:11 --- join: ASau (~user@176.2.13.244) joined #forth 11:29:04 --- join: MrMobius (~Joey@c-68-45-16-225.hsd1.nj.comcast.net) joined #forth 11:45:32 --- join: _spt_ (~jaat@unaffiliated/-spt-/x-5624824) joined #forth 11:48:51 --- join: johnmark_ (~johnmark@24.1.223.32) joined #forth 11:55:33 --- quit: karswell (Ping timeout: 244 seconds) 12:58:13 --- quit: vsg1990_ (Quit: Leaving) 13:10:12 --- quit: ASau (Remote host closed the connection) 13:10:30 --- join: ASau (~user@176.2.13.244) joined #forth 14:54:48 --- join: vsg1990 (~vsg1990@cpe-67-241-148-119.buffalo.res.rr.com) joined #forth 15:22:50 --- quit: true-grue (Read error: Connection reset by peer) 15:53:53 --- quit: _spt_ (Quit: gone to fix a server for Staffc CC) 16:37:27 --- quit: nighty-_ (Quit: Disappears in a puff of smoke) 16:44:27 --- join: Soni (SoniEx2@unaffiliated/soniex2) joined #forth 16:44:35 hello! 16:44:43 I have a challenge for y'all 16:44:55 single-stack forth 16:45:44 well more like single-"stack" forth 16:46:33 the basic idea is to add types to the stack 16:46:41 you have the "cell" type and the "return" type 16:47:17 then you just do stuff based on that 16:48:02 So make a compiler that will map DStack and RStack onto TheStack? 16:51:26 well... not quite? 16:52:07 just write an algorithm to make pushing and popping both the data stack and the return stack use the same stack 16:53:13 that is, make every word that pushes to the stack use the algorithm when pushing, then make every word that pops from the stack use the algorithm when popping 16:53:46 keep the return stack on top of the data stack and make the return stack manipulation words add the "cell type" or w/e 16:54:46 (that means the return stack would be slightly faster than the data stack, but guess what, in C and friends, is faster than the heap? the call stack! :P) 16:55:42 you know, it's just a silly thought 16:55:45 idk 16:56:06 it's easier to do in Lua with LuaJIT 16:58:25 What do You mean by ``keep the return stack __on top__ of the data stack''? 17:03:06 keep the "return"-typed elements on top of the "cell"-typed elements 17:05:44 that is, to push to the data stack, first you *swap* the register with the element at depth n, where n is the element which when scanning the stack comes before a "cell"-typed element, then keep swapping but decreasing n on every swap, then push the element left on the register. 17:07:37 if you want you can keep the return stack depth on top of "the stack" 17:09:32 You mean insert into an array? Why would You do that?! 17:11:47 well you can easily treat "the stack" as an array 17:13:58 How many copying will have to be done to simply push onto DStack?! 17:15:35 well there's another option 17:16:10 use Lua and LuaJIT xD 17:16:21 jk 17:16:27 let me think 17:16:33 you'd still have types 17:16:41 at least "cell" and "return" 17:17:14 both would have an usize (I'm thinking in Rust here) 17:18:08 maybe "frame" and "empty" as well? 17:18:21 (well if you use "frame" you don't need "empty") 17:18:40 so I guess there are 2 other options 17:20:10 Why not simply 2 Stacks? 17:20:13 both push to "the stack" like just `push`, but when popping you scan the stack looking for the first data/return and replace it with an "empty" (easier than inserting) 17:20:33 easier than removing*** rather 17:20:39 well 17:20:44 this /is/ a challenge 17:20:53 so kinda just for fun 17:21:16 anyway, the 3rd option 17:22:11 when calling a word, you push a "frame", then do insert/remove just like before? 17:22:19 wait I forgot what the 3rd option was... 17:22:35 it's something like that tho 17:22:55 anyway, can you do a forth with only 1 stack? 17:23:14 in practice, not just in theory 17:37:56 I don't think it makes sense if it is not compiled code. 18:13:08 --- quit: vsg1990 (Quit: Leaving) 18:13:36 --- join: vsg1990 (~vsg1990@cpe-67-241-148-119.buffalo.res.rr.com) joined #forth 18:16:23 --- quit: vsg1990 (Client Quit) 19:18:32 --- quit: impomatic (Remote host closed the connection) 19:36:56 --- join: saml_ (~saml@cpe-24-102-97-97.nyc.res.rr.com) joined #forth 20:13:03 --- quit: saml_ (Ping timeout: 250 seconds) 20:24:30 --- join: kumool (~mool@adsl-72-50-86-234.prtc.net) joined #forth 20:25:37 --- nick: johnmark_ -> JohnMarkM 20:26:54 --- join: DocPlatypus (~skquinn@c-73-166-109-75.hsd1.tx.comcast.net) joined #forth 20:27:21 --- quit: kumul (Ping timeout: 250 seconds) 20:55:02 --- join: atommann (~atommann@58.251.2.94) joined #forth 21:31:09 --- quit: DocPlatypus (Excess Flood) 21:36:24 --- join: DocPlatypus (~skquinn@c-73-166-109-75.hsd1.tx.comcast.net) joined #forth 22:00:05 --- join: darkf (~darkf___@unaffiliated/darkf) joined #forth 22:03:19 --- quit: kumool (Quit: Leaving) 22:33:20 --- quit: DocPlatypus (Quit: Leaving) 23:59:59 --- log: ended forth/15.07.20