00:00:00 --- log: started forth/04.12.13 00:53:39 --- quit: OrngeTide ("nite") 04:19:36 --- quit: saon ("Leaving") 05:20:51 --- quit: raystm22 ("User pushed the X - because it's Xtra, baby") 07:29:29 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 08:22:49 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 09:01:13 --- quit: tgunr (Remote closed the connection) 09:03:53 --- join: qFox (C00K13S@82-169-140-229-mx.xdsl.tiscali.nl) joined #forth 09:21:53 --- quit: I440r_ ("Leaving") 09:39:29 --- join: Raystm2 (~Ray@adsl-68-95-255-125.dsl.rcsntx.swbell.net) joined #forth 09:46:35 --- join: snowrichard (~richard@adsl-64-217-183-211.dsl.lgvwtx.swbell.net) joined #forth 09:48:27 --- quit: snowrichard (Remote closed the connection) 10:06:55 --- quit: Raystm2 ("User pushed the X - because it's Xtra, baby") 10:12:02 --- join: raystm22 (~color4th@adsl-68-95-255-125.dsl.rcsntx.swbell.net) joined #forth 12:09:17 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 12:09:33 what x86 registers can one freely clobber without push/pop? i know eax is one. 12:09:58 --- join: Raystm2 (~Ray@adsl-68-95-255-125.dsl.rcsntx.swbell.net) joined #forth 12:10:05 Raystm2, hi 12:10:08 Raystm2, what x86 registers can one freely clobber without push/pop? i know eax is one. 12:11:00 Hi slava :)0 12:12:51 hmm I've see that somewhere, lets see if EAX is one then edx is one also right? ah I've seen it in Randal Hydes High Level Assembler site Webster.com. 12:13:10 edx? k. 12:13:46 Unfortunately i've just reinstalled this system and don't have the HLA docs yet. 12:14:05 I'm going to he's site for you to find out for sure :) 12:14:18 nah its ok 12:14:21 i'll do it myself 12:16:06 ok -- but know I have to know also :) 12:18:20 it's not webster.com it's webster.cs.ucr.edu 12:19:17 i have to redo my compiler to store the stack pointer in a global var not in a register, because of windows compiler crapiness 12:21:00 --- join: divgrad (~wer@leased-line-224-207.telecom.by) joined #forth 12:27:07 really. 12:27:22 is there no room for you to use a register? 12:28:49 oh, its not that 12:29:02 it's the compiler? 12:29:18 my interpreter is written in C, and the datastack is in a C global. with gcc, I can use an asm declaration to put it in a registe.r not so with MS VC++. 12:29:49 oh. 12:29:55 I love learning :) 12:31:48 --- join: fca (1469-ident@h229n2fls31o815.telia.com) joined #forth 12:35:26 --- part: divgrad left #forth 12:58:39 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 13:28:16 --- join: arke (apache@11.198.216.81.dre.siw.siwnet.net) joined #forth 13:30:28 --- quit: saon ("Leaving") 13:31:23 --- join: I440r (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 13:31:23 --- quit: I440r (Client Quit) 13:37:41 --- quit: raystm22 ("User pushed the X - because it's Xtra, baby") 13:39:52 --- quit: arke ("CGI:IRC (EOF)") 13:39:52 --- join: guest142 (apache@11.198.216.81.dre.siw.siwnet.net) joined #forth 13:40:03 --- nick: guest142 -> arke 13:43:04 --- join: I440r (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 13:49:55 --- join: raystm22 (~color4th@adsl-68-95-255-125.dsl.rcsntx.swbell.net) joined #forth 13:55:36 --- part: slava left #forth 14:01:17 --- quit: arke ("CGI:IRC (EOF)") 14:07:03 --- quit: Raystm2 ("User pushed the X - because it's Xtra, baby") 14:09:50 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 14:16:20 --- join: Raystm2 (~Ray@adsl-68-95-255-125.dsl.rcsntx.swbell.net) joined #forth 14:18:08 --- quit: raystm22 ("User pushed the X - because it's Xtra, baby") 14:57:43 --- quit: qFox ("this quit is sponsored by somebody!") 15:55:47 --- quit: I440r ("Leaving") 16:08:21 --- quit: saon (Remote closed the connection) 16:09:35 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 16:10:52 --- quit: saon (Remote closed the connection) 16:11:47 --- join: Sonarman (~matt@adsl-67-113-234-182.dsl.snfc21.pacbell.net) joined #forth 16:19:33 --- join: raystm22 (~color4th@adsl-68-95-255-125.dsl.rcsntx.swbell.net) joined #forth 16:35:25 hello all 16:40:11 --- quit: crc ("Leaving") 16:44:11 --- join: crc (~crc@pool-70-20-138-220.phil.east.verizon.net) joined #forth 16:44:16 --- mode: ChanServ set +o crc 17:07:18 --- join: forthweasel (~purple@c-4d5a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 17:07:38 hi forthweasel 17:07:53 Hi, crc 17:08:18 * forthweasel is working at his new Forth. I hope it gets as fast as I want it to be! 17:08:30 cool 17:08:47 NO high-level Forth code in the compiler. 17:08:51 Except macros like IF 17:08:56 :) 17:09:16 And I use a machieforthish set of core words, to base the optimizer on. 17:09:23 cool 17:09:24 Planning to code it, too, in asm. 17:09:34 what assembler? 17:09:36 I hope the extra complexity pays off. 17:09:37 FASM 17:09:45 * crc likes FASM 17:09:46 5B 17:09:48 Since it can do the hashing for me. 17:10:15 * crc has a pretty slow compiler, but it's *clean* and easy to understand 17:10:22 Did I tell you that hashed dictionaries (even with dicts >100 words) only gave a ~30% speed improvement on my 386? 17:10:33 nope 17:10:49 crc: This is actually a few lines of asm source, it's not that bad (hey, it's forth after all) 17:11:00 --- join: I440r (~mark4@216-110-82-59.gen.twtelecom.net) joined #forth 17:11:00 I don't used hashed dictionaries in retroforth 17:11:07 hi I440r 17:11:10 OK, since that I'm trying to check what other things I can optimize. 17:11:19 So I'm doing as much as possible in low-level code. 17:11:20 hi 17:11:21 Hi I440r 17:11:43 hi forthweasel 17:12:00 u new in here forthweasel ? 17:12:03 No. 17:12:05 or do i just not know that nick lol 17:12:10 I'm Robert! 17:12:13 lol 17:12:14 I use a lot of hand-assembled words in several programs 17:12:28 I440r: Did you measure the speed improvement in isForth after introducing hashed dictionaries? 17:12:35 yes 17:12:44 Remember the numbers you got? 17:12:56 a significant improvement but not a HUGE improvement 17:12:59 no not really 17:13:04 I got like 30% 17:13:17 because soon after that i added the mmap of files and that made me HUNDREDS of times faster 17:13:20 Which was less than expected, but 6s -> 4s on the 386 is good 17:13:33 What did it do before? 17:13:35 for how large a file 17:13:42 for a 1k file i would say that was pityfull hehe 17:13:46 I440r: For self-compiling 17:13:57 Don't know exactly how much 17:14:00 I'll check 17:14:27 About 40kB 17:14:37 thats respectable 17:14:50 It's OK, I guess. 17:14:57 isforth does 100 times that in the blink of an eye 17:15:05 load your whole source first 17:15:08 On a 386? :) 17:15:11 yes 17:15:21 Cheater. *grumble* 17:15:22 i compile 800k per second on a k6-2/550 17:15:28 how fast is your 386 17:15:49 Not very fast. Probably 1% the speed of your box 17:16:01 cat /proc/cpuinfo heh 17:16:06 Low efficiency and iirc a clock speed of 25MHz 17:16:08 Naaah 17:16:12 I run MINIX/DOS on it 17:16:27 btw, what did you do before mmaping? 17:16:37 read one line of file at a time 17:16:39 read() with 1 character? ;) 17:16:44 into tib 17:16:50 well yes 17:16:50 No buffering? 17:16:55 no buffering 17:16:58 Whoa 17:17:10 I'm using a 16kB internal buffer now. 17:17:19 Hopefully that'll reduce the I/O overhead 17:17:59 I'm going to do some benchmarking later 17:18:04 And compare to isForth ;) 17:18:38 make a gentoo live cd with isforth on it and see how long a ./extend takes :) 17:19:01 You know, last time I did that mistake was when I was 13 and learning asm 17:19:19 Copying a file with 1-char read/writes in MS-DOS on a floppy...that hurts 17:19:36 hehe 17:19:36 * forthweasel teases I440r some ;) 17:19:50 Hmm 17:19:55 it wasnt a mistake 17:19:58 I just noticed my tforth is 184kB! 17:20:06 it was a stepping stone 17:20:08 (sources) 17:20:19 Bah, I guess I'll accept that 17:20:31 and how much of tforth is really isforth hehehe 17:20:35 thief! 17:20:38 :D 17:20:44 :) 17:20:50 * forthweasel gets a little worried 17:20:55 lol 17:20:58 --- join: crc2 (~crc2@pool-70-20-138-220.phil.east.verizon.net) joined #forth 17:21:05 Waaaait a second 17:21:12 We never had this conversation, OK? 17:21:18 hmm 17:21:24 * forthweasel discovers how tforth reads from files 17:21:41 well i gotta go afk 17:21:45 Bye 17:21:56 --- quit: tathi ("bed") 17:21:58 actually im gona hit the hay reall soon 17:22:09 was up till 4ish last nite 17:22:10 OK, sleep well and forget all about this :) 17:22:11 bleh 17:22:14 Hehe 17:22:17 about what ? 17:22:22 That's the spirit! 17:22:27 about you STEALING isforth ??? 17:22:30 Nah 17:22:31 }:) 17:22:43 About tforth using read() with a 1 character buffer. :P 17:23:02 * forthweasel hides 17:23:04 first get file size. then allocate a buffer exactly that big 17:23:08 then read file into that buffer 17:23:21 I should do that. 17:23:23 then make that buffer your TIB and set #tib equal to the file size 17:23:38 the vector refill to a close/unmap file function 17:24:05 I can't believe how I overlooked this@$#! 17:24:11 * forthweasel screams in (mental) pain 17:24:21 --- nick: forthweasel -> dumbweasel 17:24:28 cool. i inflicted great agony on robert :) 17:24:28 Oh, well, good night ;) 17:24:32 my day is complete :) 17:24:32 Hah 17:24:51 Glad to help 17:40:55 --- quit: raystm22 (Read error: 104 (Connection reset by peer)) 18:02:43 hey dumbweasel 18:02:56 did you still want those stats on letter frequency in the gforth dictionary? 18:03:22 well, i've gotta go 18:03:35 i'll msg the top 15 to you (with percentages) in case you want them 18:03:38 --- quit: crc2 (Read error: 104 (Connection reset by peer)) 18:03:56 --- join: crc2 (~crc2@pool-70-20-138-220.phil.east.verizon.net) joined #forth 18:04:15 --- quit: crc2 (Read error: 104 (Connection reset by peer)) 18:06:25 --- join: crc2 (~crc2@pool-70-20-138-220.phil.east.verizon.net) joined #forth 18:33:28 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 18:42:36 --- quit: crc2 (Remote closed the connection) 18:43:48 Hi saon 18:44:31 hey crc 18:45:31 I'm going to bed in ~10 minutes :) 18:50:25 goodnight 19:09:17 Night 19:09:31 And I, the dumb weasel Swede, is still up 19:39:00 --- join: arke (f2@bespin.org) joined #forth 19:40:56 Hi 19:41:24 hi 19:41:37 hi 19:43:32 :) 20:18:58 --- quit: arke ("Lost terminal") 20:24:45 hehe :) this artical was listing some of the benifits of pear programming then said: "An additional benefit of pairing is that accumulated wisdom and best practices can be rapidly disseminated throughout an 20:24:49 organization through successive pairings. This is, incidentally, the same benefit that sexual reproduction brought to the 20:24:52 genome." 20:25:06 Pear programming - sounds tasty 20:25:15 hahaha... damn you, weasel 20:25:20 * dumbweasel eats Sonarman 20:25:50 * Sonarman lodges himself in dumbweasel's windpipe 20:26:56 --- join: raystm22 (~color4th@adsl-68-95-255-125.dsl.rcsntx.swbell.net) joined #forth 20:27:20 Hi Ray 20:28:57 Hi dumbweasel :0 20:29:14 what are working on? anything? 20:29:50 Yeah 20:30:05 This Forth compiler for Linux, trying to get is as fast as possible. 20:30:16 But I'm also planning an optimizer to make it fast. 20:30:27 We'll see how well that works out. 20:30:28 optimizing, is fun :) 20:30:45 Well...it certainly makes things a bit more interesting! 20:30:52 hehe: 20:30:52 When you build a prototype, there is always the risk that someone will say "that's good enough, ship it". One way to minimize 20:30:55 the risk of a prototype being put into production is to write the prototype in using a language or tool that you couldn't 20:30:58 possible use for a production version of your product. 20:31:12 :) 20:31:30 Herkamire: Then your boss will ask you why you can't ship this QBasic program. 20:31:40 then you can sell both systems as separate or together if you wish. 20:32:03 Herkamire: where is this from? :) 20:32:04 Heh, selling a prototype in BASIC together with the real one? 20:51:11 http://www.laputan.org/mud/mud.html 20:51:44 dumbweasel: yeah, I was trying to think of how to make it uterly impossible :) 20:55:28 writing in herkforth should work 20:58:22 Hehe 20:58:42 Or making up some very odd language, where the compiler inserts random bugs. 20:58:54 Or maybe that was C++ 21:13:09 --- quit: raystm22 (Read error: 110 (Connection timed out)) 21:13:17 --- quit: Raystm2 (Read error: 110 (Connection timed out)) 21:19:07 Labas ritas! 21:19:17 Privet, ASau 21:22:56 heh: We believe that a certain amount of up-front planning and design is not only important, 21:23:00 but inevitable. 21:24:51 Well...a design is inevitable. Even BASIC programmers end up with one ;) 21:26:56 --- join: Raystm2 (~Ray@adsl-68-95-255-188.dsl.rcsntx.swbell.net) joined #forth 21:27:05 Hi again 21:39:17 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 21:39:37 --- join: slava2 (~slava2@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 21:39:44 hello 21:39:59 --- part: slava left #forth 21:40:20 dumbweasel, how's your compiler? 21:41:11 dumb. 21:41:24 Well, so far I just got the basic ITC compiler running. 21:41:50 Going to try to code an optimizer in asm for it. 21:41:56 dumbweasel: optimizer in asm? 21:42:00 Right. 21:42:03 why? 21:42:18 write the optimizer in forth then have it optimize itself :) 21:42:18 Because I like to cry 21:42:36 Hmm... I guess that's reasonable. 21:42:40 dumbweasel, i'm using an irc cleint written in factor right now 21:42:46 Neat 21:43:47 dumbweasel: are you writing your own assembler? 21:44:01 i'm trying to find a *readable* assembler in forth that i can port 21:44:10 gforth's one is written in blocks and its like 100 screens long 21:44:13 win32forth is... win32forth 21:44:43 No, not really... 21:45:12 It's a pretty small subset one actually uses, so it shouldn't be too hard. Except the addressing *shrug* 21:45:16 you'll just have some hex literals here and there? :) 21:45:35 the addressing is the main problem -- direct, indirect, displacements, etc. 21:45:45 Hehe, nah, the isForth prototype had a small "assembler". 22:21:06 --- quit: slava2 (Remote closed the connection) 22:30:16 --- quit: Raystm2 ("User pushed the X - because it's Xtra, baby") 22:50:04 --- quit: Sonarman ("night") 22:55:09 I have very productive day-offs recently. 22:55:13 But not for Forth. 22:55:26 I had... 23:05:07 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 23:05:24 --- quit: cmeme (Remote closed the connection) 23:06:08 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 23:59:59 --- log: ended forth/04.12.13