00:00:00 --- log: started retro/06.07.13 02:35:56 --- quit: crc (Read error: 110 (Connection timed out)) 02:48:11 --- join: crc (n=crc@pool-70-16-148-97.phil.east.verizon.net) joined #retro 02:48:19 --- mode: ChanServ set +o crc 03:23:43 --- part: crc left #retro 03:50:37 hmm, $c3 should be the end of a word, right? 04:17:47 --- join: nighty (n=nighty@66-163-28-100.ip.tor.radiant.net) joined #retro 06:17:56 --- join: yoyofreeman (n=root@219.144.184.243) joined #retro 06:50:23 --- join: swsch (n=stefan@pdpc/supporter/sustaining/swsch) joined #retro 06:50:26 --- mode: ChanServ set +o swsch 07:11:44 --- quit: Shain (Remote closed the connection) 07:16:10 --- join: Shain (i=steve@c-67-161-56-76.hsd1.ca.comcast.net) joined #retro 07:59:04 * swsch is away: going ... going ... gone. 09:18:20 --- join: crc_work (n=cchilder@h-64-105-207-163.phlapafg.covad.net) joined #retro 09:19:08 virl: words will end with either ret ($c3) or a jump ($e9
) 09:21:02 yeah, thanks, after one hour or so I found it out myself 09:21:07 ok 09:21:57 there are some words which jump to $0, interesting. 09:22:10 jumps are *relative* 09:22:41 so $e9 00 00 00 00 is a jump to the following instruction 09:23:01 ah, ok. 09:23:09 I wondered. 09:23:22 well, that could be optimized. 09:23:47 that is done intentionally 09:23:48 I mean a jump that jumps to the next instruction which is one step away? 09:24:06 vectored words change the offset when a vector is set 09:24:19 otherwise, execution continues on to the default definition 09:24:30 so? words is a vectored word? 09:24:47 any word created using 'is' is a vectored word 09:24:55 so yes 09:25:11 well, I haven't looked at the definiton of words 09:25:19 so, I couldn't know it 09:25:54 ok 09:26:06 retrospect can tell you if a word is a vector or not 09:26:12 some words don't end in $c3 and some end in a jump, well why exactly does that happens? 09:26:30 this is tail call elimination 09:26:38 it helps with recursion 09:26:41 : foo .... foo ; 09:26:45 yeah, I red that in the rx handbook 09:26:56 but what's a tail call elimination 09:27:02 if this ended with a call to foo, then a ret; the return stack would eventually overflow 09:27:17 changing to a jump eliminates that from happening 09:27:29 specifically: if a word ends in a call, change it to jump 09:27:56 rationale is a) no overflow of return stack and b) jumps are faster than calls 09:28:03 if another piece of code gets called before the end, right? 09:28:13 yes 09:28:25 ok, nice. 09:28:56 * crc_work will add some documentation on this to the handbook 09:29:02 so when they end in a jump, to what do they jump? the interpreter(the outer one) 09:29:10 is it a HAND book? 09:29:18 if not, don't call it a handbook ;P 09:30:17 and this iirc in ui, right? 09:30:34 : foo bar ; 09:30:39 instead of: 09:30:42 call bar 09:30:43 ret 09:30:51 it compiles to: 09:30:51 jmp bar 09:31:23 ok.. 09:32:12 so the outer interpreter adress lies on the return stack, right? 09:33:40 it would be really cool, when I could implement a simple compiled code dumper which puts an elf header to the file. 09:34:11 virl: yes 09:34:26 * crc_work may have some code to dump out an elf header; he will check tonight 09:35:06 so we need theoretically only a tracer, which puts the code together 09:36:19 what are you trying to do? 09:37:38 at the moment nothing, but I think, I could write some words which simply produce a binary of what you have coded in retro with words. 09:39:14 or: I want to kick C in the ass ;-) 09:42:19 ok 09:42:35 * crc_work has to head back to the shipping/recieiving area.... 09:42:36 crc_work, a near jump is a jump which jumps relative in the range of 255 bytes? 09:42:44 virl: yes 09:43:09 so, you use far jumps, right? like in vectored words 09:43:16 yes 09:43:23 okedockey 09:43:40 --- quit: crc_work ("4.5 hours left...") 10:38:30 --- quit: virl (Remote closed the connection) 12:27:05 --- join: hrmpf_ (n=obi@gw.mastmoen.no) joined #retro 12:29:09 --- quit: hrmpf_ (Client Quit) 12:29:19 --- join: hrmpf (n=obi@gw.mastmoen.no) joined #retro 12:31:25 --- quit: hrmpf (Client Quit) 12:31:33 --- join: hrmpf (n=obi@gw.mastmoen.no) joined #retro 13:21:10 --- quit: hrmpf ("whatever u do, do it right!") 13:51:32 --- quit: nighty (Read error: 113 (No route to host)) 14:48:03 --- quit: swsch ("Leaving") 15:46:02 --- join: crc (n=crc@pool-70-16-148-97.phil.east.verizon.net) joined #retro 15:50:08 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #retro 15:59:11 ping, anybody here? 15:59:41 I am 15:59:49 --- mode: ChanServ set +o crc 16:00:55 fine :-) 16:01:32 crc, you said that you have some elf generation code... 16:01:46 I am searching for it 16:01:52 --- join: nighty (n=nighty@CPE00508be190fc-CM0012253ec1bc.cpe.net.cable.rogers.com) joined #retro 16:02:58 playtime 16:04:14 Raystm2, that's right. 16:08:27 Hi virl! Hope you had a great day. Today is 102 Degrees, in the shade. :) 16:09:15 * Raystm2 doesn't know the celcius for that but considers coding the traditional tutorial in retroforth. 16:12:03 http://retroforth.net/paste/?id=30 16:12:29 this is from helforth3; I had other code, but am not sure which system/disk it is on 16:12:41 http://maschenwerk.de/repository/?p=hf3;a=blob_plain;h=9041c7787355a52fa5ea186216590a5cd035fcbd;f=HFSL/elf-example.h4 16:12:53 this is an example from helforth3 showing how it can be used 16:13:29 Hi, crc! :) 16:13:48 hi Ray :) 16:13:55 how goes the chess game? 16:14:16 the ANS list you posted, those words followed by - - - those are unimplimented as yet? 16:14:23 yes 16:14:40 ones marked xxx will not be implemented at all 16:14:48 I see. 16:15:21 (mostly because they would require serious breaks to the existing structure of the rx core) 16:15:30 Chess is going well. I should say that i'm finding my way around retroforth, and experimenting with some new ideas to exploite the environment. 16:15:45 Had to be a reason. :) 16:16:02 * Raystm2 rephrases 16:16:15 to exploit the benifits of retroforth that is. 16:18:11 I was most recently considering creating a ChuckBot robot style cursor for the editor, which could aid me in creating the chess, and provide a smart editing cursor for the editor. 16:24:46 cool 16:30:56 crc, you implemented something like switch in C, was that 'choose'? 16:31:04 and how does it work? 16:31:31 : foo ( n -- ) switch 16:31:46 1 case: ." 1 was passed" break 16:31:55 2 case: ." 2 was passed" break 16:32:10 ah, ok, thanks. 16:32:14 ." I don't know what to do with " @(case) . cr ; 16:32:22 break exits the word 16:32:48 and a dedicated (case) variable can be defined in a loc: ;loc pair 16:42:16 --- quit: nighty (Read error: 113 (No route to host)) 18:24:12 --- quit: Shain (Remote closed the connection) 18:39:41 --- part: crc left #retro 18:41:40 --- join: crc (n=crc@pool-70-16-148-97.phil.east.verizon.net) joined #retro 18:41:52 --- mode: ChanServ set +o crc 19:28:11 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-138-124.pools.arcor-ip.net) joined #retro 19:36:41 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 19:36:41 --- nick: snoopy_1711 -> Snoopy42 20:57:51 --- log: started retro/06.07.13 20:57:51 --- join: clog (n=nef@bespin.org) joined #retro 20:57:51 --- topic: 'Discuss RetroForth and Related Projects. Pastebin at http://retroforth.net/paste' 20:57:51 --- topic: set by crc on [Tue Jul 04 18:04:22 2006] 20:57:51 --- names: list (clog futhin virl Raystm2 Snoopy42 @ChanServ) 21:03:07 --- join: docl (n=docl@70-101-145-1.br1.mcl.id.frontiernet.net) joined #retro 21:20:39 --- join: crc (n=crc@pool-70-16-148-97.phil.east.verizon.net) joined #retro 23:59:59 --- log: ended retro/06.07.13