00:00:00 --- log: started forth/02.12.19 00:07:22 --- quit: proteusguy ("Client Exiting") 00:26:00 --- quit: Serg_Penguin (Read error: 110 (Connection timed out)) 00:29:01 --- join: lament (~lament@h24-78-145-92.vc.shawcable.net) joined #forth 00:47:13 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 00:52:52 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 00:55:32 --- quit: Serg_Penguin (Client Quit) 01:27:09 --- join: proteusguy (~username@65.191.88.177) joined #forth 03:07:13 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 03:28:40 --- quit: onetom (forward.freenode.net irc.freenode.net) 03:28:56 --- join: onetom (~tom@160.114.27.131) joined #forth 03:54:58 --- part: Serg_Penguin left #forth 03:55:06 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 03:58:41 --- join: knoppix (~knoppix@p50805BCE.dip.t-dialin.net) joined #forth 03:59:00 hi knoppix 03:59:42 howdy Serg_Penguin 04:00:10 country ? me - RU 04:00:18 de 04:00:39 oh man that was a night... 04:00:51 what ? 04:01:02 i just woke up 04:01:51 not a record, i sometimes woke at 17 :) 04:01:58 fixed halfway a downshot box last night 04:02:20 so what happened ? 04:03:16 m$win shot its own registry suddenly and hung at repairing that 04:03:22 btw, can u point me on some URL on first Deutche computers, Konrad Zuse, plankalkul etc... ? 04:03:31 change RAM 04:03:45 or maybe mommy 04:04:38 i work for second-hand-and-ultra-cheap computers company, so i know the damn thing i say 04:04:57 yes. Zuse's son wrote a (free) book 'bout computer lang history 04:05:27 gimme a few moments for that.... 04:06:43 i'm interested more in hardware and structure 04:07:39 had Zuse thing stored prog ? i heard it had movie-tape w/ optically written opcodes 04:08:28 while ENIAC was progged by wiring plugboards (SUXX) 04:11:46 what about http://www.konrad-zuse.de/ ? his son is called horst zuse. i think he's prof in berlin. he's very much about hw benchmarking, so it could be interesting for you. i suggest googlin' a bit around, can't find it right now... 04:12:36 ok? 04:12:45 DE ? i dunno read 04:12:58 if END, will look 04:14:13 i'm afraid yes. his book is certainly not, might get your info out of that. 04:14:21 'werrvluchten schwine' is all i can say in DE :( 04:15:46 not very nice :-( but unfortunatly sometimes true... 04:16:32 i like to wordplay even in languages i hardly recognize :) 04:17:19 * Serg_Penguin dreams about having manuals studied by U-boat crews 04:17:35 then you are just right, here on OPN... 04:17:53 right about what ? 04:18:00 wordplay 04:18:48 minsky serg 04:18:54 eg 04:18:54 so did u recognize what i meant 'were-damn were-pig' or i FUBAR-ed this beyond comprehence ? 04:19:03 minsky ? 04:19:50 minsk-y 04:20:13 dunno understand what u talk about 04:20:44 ok i'll stop offtopics now... 04:20:47 city of Minsk has nothing in common w/ u-boats, wordplay or werepigs 04:21:15 yes 04:21:45 i just wrote wordplay progge in Forth, after Dissociated Press, see Jargon File 04:22:38 thought that your whois gave minsk someday... thats the whole secret 04:23:00 i'm in Moscow 04:23:36 whats the temperature right now up there? 04:24:01 maybe -10..-15 04:24:09 --- quit: skylan (Read error: 104 (Connection reset by peer)) 04:24:22 pto -25..-30 at night 04:24:39 you're kidding 04:24:39 upto, my kbd really begs for a hammer 04:24:56 hell no, look at weather-yahoo 04:25:00 --- join: skylan (sjh@207.164.213.102) joined #forth 04:25:09 brrrrrr 04:26:09 and what's at u'r site ? 04:26:31 slightly over 0 04:26:53 'cause its sunny 04:27:30 here 'sunny' means heavy cold, cloudy=warm 04:27:51 coz Earth here emits in space more energy than gets from sun 04:29:04 i didn't tell you the joke yet: after shredded registry i put in the asus recovery cd and then the cd automatiacally deleted the whole partition... 04:29:50 auto-recovery is LAME 04:30:04 i was quite surprised :-O :-( 04:30:17 burn remainings of info to CD'r and then try to recover manually 04:30:25 next time :( 04:31:09 i do so - 1st partition - Win and utils, 2 - swap, 3- my data 04:31:31 and after configuring all, backup ENTIRE first partition 04:32:31 so if Lose gets hosed, i just restore it in few minutes 04:33:02 and swapfile is kept from fragging - adds much stability and speed 04:34:02 my box now is set up this way :) so i'm not afraid of inserting gluk'y RAM 04:34:41 its neither my lap nor my administry... i had luck tweaking mbr was sufficient, so im now at part two, fiddling 'bout 11meg system.dat 04:35:50 but you're right, dedicated part's make A difference 04:37:14 but you can't blame all win-hungs on flaky RAM, do you 04:40:30 i never ever had a complete hung/shotdown on unix, on those 98se boxes i have to see it at least twice a week. thats what i experience, not prejustice 04:41:07 but REG nuke was almost every time cured by RAM change, we made too much boxes out of Chineze crap 04:44:30 over twice a week hungups makes 100x the year. might be still rare, but this time hungup shredded system.dat on the fs (i guess) 04:46:51 btw how much are those RAM-modules in russia? especially those w/ extra corrector/proofing bit? 04:48:29 probably you stated another (regnuke/ram) issue... 04:49:38 almost no 'parity' RAM, here folks use "servers" on Tomato (barf!) mommy, cheap-crap-eaters.... 04:50:53 but hands are more important than hardware 04:51:26 i own a tomato board as well, which is serving me better than my intel board(arrgh!) 04:51:55 my work comp has half-dead mommy, no battery, burned FDD controller, RAM what failed in other box and bad-blocky hdd 04:52:04 Win9SE stands rock-solid 04:52:44 our manager has much better hardware, distro disk is the same 04:52:57 damn, it falls all the time, coz he's LAMER 04:55:06 i was running Tomato server 4r some greedy jewish bastard 04:55:25 it worked OK, coz i downclocked bus frm 66 to 50 04:56:20 ok i understand your msg, but i see to much SILLY broken 98se's to agree 04:57:23 i can rely ALWAYS on my knoppix cd to fix them... 05:00:13 btw http://www.konrad-zuse.de/ is in english, too ;-) 05:03:59 TNX, put it into hamster's cheek :) 05:05:27 --- quit: lament ("mental mantle") 05:23:29 z 05:38:38 -> knoppix what's u'r forth experience ? 05:45:26 --- join: Speuler (~l@mnch-d9ba468b.pool.mediaWays.net) joined #forth 05:46:38 'morning 05:55:55 which is...? 05:58:04 btw how do i say hello in russian? 06:03:22 IsForth - linux, written by i440r, often seen here 06:03:38 ultra buggy but Right Thing by design conception 06:03:50 slightly bloated, but no better one 06:03:59 gpforth(ru) - dos 64k com 06:04:14 smal32(RU) - DOS DPMI 32, linux 06:04:30 sorry 4 lags, work hard 06:05:18 better not try talk RU - asiatic pronounciation will be hard 4 u mouth 06:05:38 as well as european - 4 mine 06:07:02 knoppix: priviet 06:07:05 knoppix: privit 06:07:29 privet 06:07:50 knoppix: that's "hello" in russian 06:08:20 all three options? 06:08:39 i tried to get the pronounciation right 06:08:51 knoppix,: what's your native lang ? 06:09:30 as yours i guess... 06:09:42 then it is "priväät" 06:09:58 or "privÄt" 06:10:29 priviet, Speuler :-) 06:11:07 hyvää huomenta, knoppix :) 06:11:51 Serg_Penguin: there you found another wordplayer... 06:12:19 oh. serg could have told you too 06:13:00 hmhm 06:13:45 spelled 'privet' it can be said so mungled that russian will hardly recognize 06:14:03 * Serg_Penguin doesn't know phonetic signs 06:15:40 make a new channel, #russian4newbies, i'll be your 1st guest ;-) 06:16:06 --- join: Herkamire (~jason@wsip68-15-54-54.ri.ri.cox.net) joined #forth 06:16:37 hell no, better all learn English 06:17:05 everyone learning all other's languages is N^2 work 06:17:27 all learning english - N amount of work 06:17:28 serg: true, but just once 06:17:51 once you learned other langs, you can use them for free 06:18:22 i actually never studied English, i live in it, from first attempts to comprehend Beatles songs 06:18:49 the only lang i learned (partly) through lessons was english 06:19:06 i was forced to study in it school, but i was damn bad on it forceful way 06:19:14 other i picked up in the country, listening to people, trying to speak 06:19:26 which i found a more efficient way to learn a lang btw 06:19:47 i happened to speak, but my pronounce is bearish :) 06:20:57 explaining in English to polish man how to drive Win98 w/ niderlandian locale over glitching foneline..... brrrrrrrr 06:21:30 but i did the damn thing by hands of that suit monkey 06:23:47 and few more times in even more FUBAR'is situations 06:25:02 fubar is by definition not recoverable 06:25:06 fu is 06:25:26 R is not only repair :) 06:25:41 recognition 06:25:50 could be , yes 06:26:40 if u lurk along a street and see FU BAR, will u enter to drink some beer :) ??? 06:27:17 * Serg_Penguin likes to recover unrecoverable things 06:27:47 once i did this w/ book-keeping database 06:28:07 possibly. if its not a cutthroat style pub 06:28:49 databeast :) filez seemed compleetly hosed, but it was up again in few howrs 06:28:56 not a fan of dagger-between-teeth hospitality 06:29:30 our chief bookkeeper sucked valeriane like beer this time :) 06:29:57 she was 45, looking like a girl and we hd some kind of romance :) 06:30:41 btw got the lap full up back again :-) 06:31:07 yeah 06:31:13 my error was : i backuped data info but not structure info 06:31:33 then it fell, i data mismatched structure 06:32:11 i installed virgin copy from distro, and applied all patches in same order as on broken one 06:32:21 so created anew same structure info 06:32:54 and merged new structure w/ old data, and - voila !!! - it started !! 06:33:06 no digit lost :) 06:34:52 -> knoppix did u split partitions this time ? 06:37:20 Serg_Penguin: English is my native language, and the beatles songs don't make much sense to me :) 06:37:50 --- join: tathi (~josh@wsip68-15-54-54.ri.ri.cox.net) joined #forth 06:38:00 -> Herkamire have u read Lennon's prose ? 06:40:26 no 06:41:08 do it. great wordplays :) 06:41:32 they have hackish nature :) 06:44:44 Serg_Penguin: not yet. the owner told me 'bout mysterious "fs losses"(~2GB) longtime before this crash. scandisk¾&defrag are behaving strange now. well the laptop is only 1 year old. &%§$/$(/&$%!! 06:45:21 seems like hardw trouble 06:47:08 google 4 'mhdd' proggie 06:47:17 mabey. but it is a sw prob, i'm sure about this. looong story... 06:48:06 docs in RU, i-face ENG 06:48:16 _great_ 4 tracking HDD troubles 06:49:40 those losses are fs disorientation 06:50:18 disorientation ? 06:53:58 its all there on hd, healthy sectors, only somehow corrupted fat-tables+etc... (fs-data-allocation) 06:54:47 virii ? 06:56:18 --- quit: Serg_Penguin ("run like hell to my girl.....") 07:18:03 --- quit: skylan (Read error: 104 (Connection reset by peer)) 07:18:49 --- join: skylan (sjh@Rockcliffe86.tbaytel.net) joined #forth 07:27:17 --- quit: Speuler (Remote closed the connection) 07:44:09 --- quit: skylan (Read error: 104 (Connection reset by peer)) 07:45:57 --- join: skylan (sjh@207.164.213.40) joined #forth 08:05:18 --- join: rafe (~rafe@www.scinq.org) joined #forth 08:05:41 --- join: I440r (i440r@209.199.48.62) joined #forth 08:05:41 --- mode: ChanServ set +o I440r 08:27:03 why does netscape suck so !@#$#@ much? 08:27:22 because its aol :P 08:27:41 netscape 4 does it too 08:28:26 you set the username for pop e-mail checking to art@darterpress.com and netscape sends "art" and then pops up a dialog saying that authorization failed for username "art@darterpress.com" 08:28:43 filthy lies!! 08:29:49 A computer should do what it's told, not what it thinks you probably meant. 08:31:05 even if the computer can guess right most of the time, when it's wrong it takes WAY too much time to find the problem. 08:31:26 and then you have to come up with some screwy thing to try to convince the computer to actually do what you told it to 08:32:43 --- join: neobrat (~~jeff_tkd@h-64-105-21-62.DNVTCO56.covad.net) joined #forth 08:40:49 Good evening. 08:41:47 howdy 08:41:50 mornin for me 08:42:17 Good morning then. 08:48:13 where ya at for evening? 08:52:08 Anyone ever try to make a portable stack language? 08:52:08 Hm? 08:52:16 ANS Forth :P 08:52:33 hehe, no im thinking of something a little different 08:53:08 Think of an assembler dictionary that produced a "byte code" 08:53:43 then a separate app could easily compile that byte-code to a native machine code 08:53:52 if the byte code was generic enough and simple enough 08:54:00 just something im toying with 08:55:10 IMHO it would make writing native code forth compilers extremely easy 09:06:04 neobrat: why bother with the byte code? why not compile directly to machine code. 09:06:13 plus this way you can still use it interactively 09:06:31 yeah, you lose interactively 09:06:47 but the way I'm invisioning this there are a few advantages: 09:07:00 1. Every FORTH would be the same 09:07:26 for example: CODE SWAP X POP PUSH A ,X MOV END-CODE 09:07:41 it is the same for all because the assembler is a byte-code 09:08:04 2. Native compilers would be a breeze 09:08:37 the byte code would be simple and flexible enough that any processor would have direct conversions for the byte code 09:09:04 3. Easy to optimize 09:09:47 by making many words inline one could easily optimize out many crazy things (PUSH/POP into MOV) 09:10:38 You could make simple lookup tables for processors to convert the byte-code to native code 09:11:05 like i said, just a concept idea 09:13:08 I'm working with Forth on a stack VM... to get around some limitations of microcontrollers. 09:13:30 I.e., they can not run native code from RAM memory. 09:20:22 --- quit: I440r (forward.freenode.net irc.freenode.net) 09:20:22 --- quit: rafe (forward.freenode.net irc.freenode.net) 09:20:22 --- quit: skylan (forward.freenode.net irc.freenode.net) 09:20:22 --- quit: proteusguy (forward.freenode.net irc.freenode.net) 09:20:22 --- quit: Fractal (forward.freenode.net irc.freenode.net) 09:20:22 --- quit: Radek (forward.freenode.net irc.freenode.net) 09:20:22 --- quit: knoppix (forward.freenode.net irc.freenode.net) 09:20:22 --- quit: tathi (forward.freenode.net irc.freenode.net) 09:20:22 --- quit: Herkamire (forward.freenode.net irc.freenode.net) 09:20:23 --- quit: fridge (forward.freenode.net irc.freenode.net) 09:20:23 --- quit: XeF4 (forward.freenode.net irc.freenode.net) 09:20:23 --- quit: OrngeTide (forward.freenode.net irc.freenode.net) 09:20:23 --- quit: Robert (forward.freenode.net irc.freenode.net) 09:20:23 --- quit: onetom (forward.freenode.net irc.freenode.net) 09:20:23 --- quit: ChanServ (forward.freenode.net irc.freenode.net) 09:20:23 --- quit: neobrat (forward.freenode.net irc.freenode.net) 09:20:23 --- quit: TreyB (forward.freenode.net irc.freenode.net) 09:20:23 --- quit: o- (forward.freenode.net irc.freenode.net) 09:22:05 --- join: I440r (i440r@209.199.48.62) joined #forth 09:22:05 --- join: neobrat (~~jeff_tkd@h-64-105-21-62.DNVTCO56.covad.net) joined #forth 09:22:05 --- join: rafe (~rafe@www.scinq.org) joined #forth 09:22:05 --- join: skylan (sjh@207.164.213.40) joined #forth 09:22:05 --- join: tathi (~josh@wsip68-15-54-54.ri.ri.cox.net) joined #forth 09:22:05 --- join: Herkamire (~jason@wsip68-15-54-54.ri.ri.cox.net) joined #forth 09:22:05 --- join: knoppix (~knoppix@p50805BCE.dip.t-dialin.net) joined #forth 09:22:05 --- join: onetom (~tom@160.114.27.131) joined #forth 09:22:05 --- join: proteusguy (~username@65.191.88.177) joined #forth 09:22:05 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 09:22:05 --- join: Fractal (tdms@h24-77-171-228.ok.shawcable.net) joined #forth 09:22:05 --- join: Radek (~radek@ilja.moraviapress.cz) joined #forth 09:22:05 --- join: fridge (meldrum@linux.spice.net.au) joined #forth 09:22:05 --- join: XeF4 (xef4@lowfidelity.org) joined #forth 09:22:05 --- join: OrngeTide (orange@65.19.141.250) joined #forth 09:22:05 --- join: Robert (~Robert@h236n2fls31o965.telia.com) joined #forth 09:22:05 --- join: o- (~o@nzym.fi) joined #forth 09:22:05 --- join: ChanServ (ChanServ@services.) joined #forth 09:22:05 --- mode: forward.freenode.net set +oo I440r ChanServ 09:22:12 Robert: optimizing interactive code i think is something not really possible 09:22:12 not with forth at least 09:22:12 Herk: doing web searches now :) 09:22:53 robert: and it would be slow and on a per/processor basis 09:23:19 if i wanted to write another forth, i would have to write the assembler, compiler and optimizer again 09:23:55 the way im thinking, all id have to write is a simple lookup table of instruction and minor optimizations 09:24:03 for each processor i wanted to write a forth for 09:24:29 Hm. 09:24:42 Well, depends of your definition of "optimize" :) 09:25:06 I mean, inlining basic words and similar things do improve speed, and are simple enough to handle. 09:26:35 To me, optimizing is fixed stupid mistakes (ie. dup drop) 09:26:54 and allowing the programmer to "expand" thought and letting the optimizer shrink them again 09:27:25 : Add-4 2 2 + + ; ==> 4 + 09:29:20 you guys prolly use forth a lot more than i -- what is the major advantage of interactive programming for you? 09:30:15 --- join: onetom_ (~tom@novtan.bio.u-szeged.hu) joined #forth 09:30:18 Heh. 09:30:18 --- quit: onetom (Connection reset by peer) 09:30:37 "Fixing stupid mistakes" is an excellent example of a _thinking time_ task. 09:30:43 NOT a compile-time. 09:31:06 i agree 09:31:08 I don't use Forth very much. 09:31:14 but that was a small example 09:31:17 In fact, I started earlier this year. 09:31:24 think of something like this: 09:31:46 : add-4-to-var ( addr -- ) dup @ 4 + swap ! ; 09:31:54 that is insane! 09:32:13 in assembly, that should be 3 instructions! 09:32:20 load, add, store 09:32:34 any C compiler could optimize that too 09:32:39 neobrat: and a drop 09:32:54 optimizing that in forth is a mess, though. 09:33:22 : add-4-to-var ( addr -- ) 4 swap +! ; 09:33:49 that required you to add another word: +! which to get optimized you had to code in assembly 09:34:28 and the swap shouldn't even be needed (IMHO), but it is because you had to arrange the stack properly 09:34:41 im just ranting :) 09:34:46 : add-4-to-var ( -- ) @ 4+ ! ; 09:34:55 Assuming you have the address in A. 09:35:21 That gives you not too many instructions. 09:35:35 getting better, but if you are using registers now, why not use asm to beginw ith? 09:36:01 Who said Forth isn't assembly? :) 09:36:17 forth (to me) is an awesome tool, because it allows you to so closely work with the processor 09:36:49 but it just bloats (imho) 09:36:55 Yes... and if the CPU is Forth hostile, we have to use some hacks to get everything to work. 09:36:58 What does? 09:37:04 forth 09:37:19 imagine we're using an indirect-threaded forth 09:37:33 Why would you do that these days? 09:37:36 even your @ 4+ ! function (which is elegant) 09:38:19 treyB: im hardly a guru (far from), but arent' most forths threaded? 09:39:59 Define "most". The comercial forths (SwiftForth, VFX, iForth) all generate native code. VFX and iForth generate very well optimized native code. 09:41:19 of those, i only knew of swiftForth 09:41:45 Check Chuck Moore's latest work. 09:42:00 colorforth i know of :) 09:42:18 How about Forth CPUs? 09:42:19 iForth's floating point code beats MS's C. 09:42:23 You can't call them slow. 09:42:24 yep :) 09:42:44 i'll have to lookup iforth :) 09:43:07 For $100 you get both a Linux and a Windows version. 09:43:27 * TreyB goes back to work :-) 09:44:25 neobrat: an A register is very handy in forth. Chuck Moore uses it, and implemented it in hardware too 09:44:46 it iliminates stack shuffling 09:44:54 and makes code simpler 09:45:50 ah, good to hear :) 09:46:15 is it used as a TOS or just generic register? 09:47:15 --- quit: tathi ("leaving") 09:48:25 * Robert just got a christmas gift from Thailand! 09:48:31 Electronics :) 09:48:56 hehe 09:49:04 --- quit: knoppix (Read error: 110 (Connection timed out)) 09:56:09 neobrat: Addressing register. 09:56:34 neobrat: TOS and NOS are the inputs to the ALU. 09:56:48 Nothing else of the stack is visible. 09:57:26 It's simly a register stack... no PICK and ROLL stack :) 10:03:56 --- join: knoppix (~knoppix@pD9E4EAB7.dip.t-dialin.net) joined #forth 10:06:19 Hello again, knoppix. 10:16:28 the address register also simplifies because you can access memory sequentially easily 10:16:39 with incrementing/decrementing stores/loads 10:33:54 & the address is also not on the top of the stack, in the way of data manipulation 10:35:04 re, lately. howdy robert 10:35:35 dalnet sucks time oh my god 10:46:49 knoppix and you only just figured that ?? heh 10:49:34 btw knoppix have we talked before ??? :) 10:49:39 or are you new to #forth ? 10:50:36 * Robert is back. 10:51:14 Hmm... when I've worked with x86, I've noticed that two addressing registers is often more useful. SI and DI, with the lods/stos family instructions. 10:59:46 I've heard of the idea of having two address registers, but I haven't needed more that one yet. 11:10:49 I don't know... I just feel one source and one destination register is convenient. 11:13:48 I440r: yes mabey no 11:14:11 Robert: yeah, that sounds useful for moving stuff around 11:14:34 but I try to avoid moving stuff around 11:15:10 Good point. 11:15:31 I try not to guess what would be convient. 11:15:38 I use it when I for example want to parse an input string, and get one word at the time. 11:16:05 a seccond address register might be extremely useful, but I haven't needed it, so I don't know. 11:17:01 --- nick: onetom_ -> onetom 11:33:58 --- quit: proteusguy ("Client Exiting") 11:41:02 --- quit: knoppix (Read error: 60 (Operation timed out)) 11:51:23 --- quit: neobrat () 12:32:27 --- join: knoppix (~knoppix@pD9E4E428.dip.t-dialin.net) joined #forth 12:44:59 --- join: gTs2 (gTs2@212.205.244.173) joined #forth 12:45:07 :D 12:45:28 :-P 12:45:33 :| 12:45:39 hey all 12:45:44 how's it going 12:45:53 hi hi :) I'm doing well. 12:45:58 cool 12:46:01 I'm considering boordom as an option 12:46:13 uh huh 12:46:14 , a healthy alternative to work 12:46:20 ;) 12:46:41 i'm listening to music 12:47:51 * Robert is sorting resistors... 12:47:57 And of course listening to Pink Floyd. 12:48:11 sorting resistors? 12:48:12 And IRCing, but that's not really unusual. 12:48:13 hm 12:48:22 s/ircing/idling :) 12:48:25 or lurking :) 12:48:48 bbl 12:48:49 --- quit: gTs2 (Client Quit) 13:04:21 --- quit: rafe ("Client Exiting") 13:05:25 --- join: gTs2 (gTs2@212.205.244.173) joined #forth 13:08:59 i am studying about algorithms 13:09:06 complexity/run time etc 13:10:30 woohoo!!! new S2 alpha build released! 13:10:38 * gTs2 sits down quietly now 13:25:08 does anyone remember by heart what is the Theta of selection sort? 13:25:12 (just in case 13:30:49 i can't write damn pseudocode if i want to see in detail what does an alorithm do 13:30:52 stupid book 13:38:49 oh my 13:38:50 gotta go 13:38:52 --- part: gTs2 left #forth 13:48:10 --- join: onetom_ (~tom@novtan.bio.u-szeged.hu) joined #forth 13:48:11 --- quit: onetom (Read error: 54 (Connection reset by peer)) 13:53:38 --- quit: knoppix (Read error: 110 (Connection timed out)) 14:01:14 --- join: knoppix (~knoppix@pD9E4EB0D.dip.t-dialin.net) joined #forth 14:05:30 --- quit: knoppix ("Client Exiting") 14:10:18 --- join: wossname (~lightrazo@HSE-QuebecCity-ppp81101.qc.sympatico.ca) joined #forth 14:11:01 --- quit: Herkamire ("leaving") 14:56:24 --- join: Herkamire (~jason@ip68-9-58-54.ri.ri.cox.net) joined #forth 15:25:02 Hey :) 15:25:23 http://robert.zizi.org/pub/projects/forth/tand.f <-- a little game I ported from C to Forth for a guy... 15:25:51 * Robert is really starting to see how much better Forth can be sometimes. 15:28:24 reminds me of the trap game in starting forth 15:30:50 trap game ? 15:35:25 a different sort of number guessing game 15:36:51 One of my first BASIC games was a number guessing game ;) 15:57:33 * Robert thinks about Forth in BASIC. 16:00:38 * fridge thinks robert is ill 16:17:48 ;) 16:21:43 --- quit: wossname ("vesna, hey!") 16:24:00 anyone seen thefox lately ? 16:29:38 I think #forth is lame. Especially that i440r punk. 16:30:02 aha 16:30:07 that explains it :) 16:30:08 heh 16:30:11 Heh. :) 16:30:37 you do of corse realise he is going to read the logs and see you putting words in his mouth eh ?? :) 16:30:43 Hmm.. time for bed. Good night :) 16:30:53 real coders never sleep 16:30:54 :) 16:31:01 Heh. Whatever. Not like I care what he thinks. :) 16:31:12 :) 16:31:13 Night robert. 16:31:20 not like he cares what you say :P 16:31:23 : coder 1000 ms coder ; 16:31:34 er that wont compile 16:31:41 : coder 100 ms recurse ; 16:31:46 and that will crash 16:31:47 so 16:31:50 Will under an early name binding forth, like frugal. 16:31:51 Bah. 16:31:55 : coder r>drop 100 ms recurse ; 16:31:56 :) 16:32:00 or. better 16:32:04 : coder begin 100 ms again ; 16:32:05 Real Forths support tail recursion! :P 16:32:17 : coder 1000 ms ;recurse ; 16:32:21 this one does :) 16:32:21 ^ There you go. 16:32:34 Ah, well... Good night anyway. 16:32:37 School tomorrow... 16:32:41 its called GOTO but you cant goto yoursel :P 16:33:03 That's very ungood. 16:33:07 Agreed. 16:33:23 no. thers nothing wrong with goto 16:33:37 the problem occurs with goto when its teh ONLY option like in old basics 16:33:38 You really ought to have a tail-recurse word or something, I440r. 16:34:10 i can see NO reson for it 16:34:14 : some-word 16:34:15 being 16:34:18 do lotsa shit here 16:34:21 again ; 16:34:24 there ya go 16:34:47 the branching done by "again" will be faster than the tail recursive method 16:34:53 What if you want potentially multiple recursion points? 16:35:04 : some-word 16:35:05 Nonsense, there's no difference in speed. 16:35:06 begin 16:35:09 begin 16:35:13 do lotsa shit here 16:35:14 again 16:35:18 do more lotsa shit here 16:35:20 again ; 16:35:34 fractal yes there is 16:35:47 They're both branches. 16:35:49 branch is mov esi, [esi] 16:35:54 a tal recursion is a 16:35:56 lodsd 16:36:04 r>drop 16:36:05 jmp eax 16:36:12 erm 16:36:14 lodsd 16:36:19 mov esi, [eb] 16:36:19 Well that's stupid, a tail recursion should only be a branch. 16:36:24 add ebp, byte 4 16:36:27 jmp eax 16:36:47 no. tail recursion jumps to the cfa of a word 16:36:54 the cfa of a colon def is "call nest" 16:37:24 code ;recurse 16:37:27 lodsd 16:37:34 mov esi, [ebp] 16:37:37 Why don't you have it jump to the beginning of the code, avoid that efficiency "problem" altogether, and wind up with cleaner code than your begin .. again method? 16:37:42 add ebp, byte 4 16:37:44 jmp eax 16:38:02 begin again is ALOT clearer 16:38:07 and ;recurse would have to do 16:38:20 : ;recurse last @ >body compile branch , ; 16:38:22 ugly shit 16:39:13 : ;recurse last head> branch , ; immediate compile-only What's wrong with that? 16:39:15 also, how do yo have multiple recursion points 16:39:18 you would have to have 16:39:20 : blah 16:39:31 ... if ;recurse then .... ;recurse ; 16:39:35 now THAT is realy ugly 16:39:43 gordian knot stuff 16:40:18 Well it's not really ugly, and the same thing has to be done with the begin/again 16:40:29 only if you have not realy 16:40:44 because that if again then can be done useing a being blah while blah repeat 16:40:46 begin 16:40:48 begin 16:40:54 blah 16:40:56 while 16:40:57 blah blah 16:41:00 repeat 16:41:01 again 16:41:22 So, in other words, no fundamental difference. 16:41:23 there. multiple recursion poings. and the inner one is conditional 16:41:43 except one is blatantly obvious in how it works, the other is recursive 16:42:10 begin while repeat is more efficient than if ;recurse then 16:42:23 you could do 16:42:31 begin begin blah until repeat 16:42:35 much nicer 16:42:50 Which is just as blantantly obvious, makes for smaller code-text, is just as efficient, and uses the word structure as an inherent control loop. 16:42:53 i see absolutely no reason for including a tail recursion word 16:43:16 but its NOT using it as an inherent control loop 16:43:21 It's only less efficient in a braindead implementation. 16:43:33 its like saying "loop back up to the point yo knnow i mean" 16:43:36 instead of saying 16:43:44 "loop back to the point i MARKED 16:43:47 " 16:44:06 i will never be sold on any form of recursion 16:44:21 But it's obvious where the recursion is aimed to branch to, and you don't have to check any begin/again points. 16:44:22 i was very tempted to not even include the word recurse 16:44:36 isforth doesnt check any begin again points 16:44:43 No, the programmer. 16:44:46 it doesnt do any if/else/then checking either 16:45:12 sorry, but i think the begin/while/repeat/until/again method is more self commenting 16:45:46 When you see ;recurse, it's obvious where it'll branch to, but with begin/again, you'll always have to check to make sure it corresponds with the structure, etc. 16:47:40 And as for the efficiency issue, I can only speculate that you don't understand the nature of tail recursion? 16:47:53 lol i do 16:47:58 Well... 16:48:00 its what GOTO is 16:48:04 except you cant GOTO yourself 16:48:51 if ;recurse compiles an unconditional branch back to the start of the definition 16:49:02 you could have ?;recurse compile a conditional branch 16:49:08 but i STILL dont like it 16:49:12 Yes, you could do that. 16:50:07 actuially, i was suggesting it for you heh 16:50:21 Heh. I have no problem with if ;recurse then 16:51:56 very inefficient 16:52:07 ?branch forward ;recurse blah 16:52:12 instead of ?branch backwards 16:52:34 every single xt i can save is a plus :) 16:53:09 Marginal efficiency gain in some cases. 16:53:44 having a conditional branch arround an unconditional branch can NEVER be the most efficient method 16:54:03 just remove the unconditional branch and make the conditional branch point to the unconditional branches target 16:55:12 However, you lose signifigant flexibility if that's the suggested method. Often you'll want some type of "cleanup" before you ;recurse, so if ... ;recurse then 16:55:37 Aligning the arguments, etc. 16:56:27 But yeah, ?;recurse isn't a bad idea, really. 16:57:04 But I imagine it will only be used in the most trivial of recursive functions. 16:57:33 and i can see better ways of doing it too :) 16:57:46 imho that is :) 16:58:31 Well, IMO, recursion is probably the fastest route to "correct" code available to the programmer. It's a powerful concept, once you learn to use it. 16:58:46 its not that i dont know HOW to use it 16:58:52 its that i can see WHY to use it :) 16:58:54 big difference 17:04:05 --- join: Mirrored (~Blandest@h24-65-137-230.ed.shawcable.net) joined #forth 17:05:26 hi 17:06:23 Hello I440r. 17:06:35 Nice topic ;) 17:06:39 heh 17:07:07 the "up yours" part is all futhins fault :) 17:07:34 Yes, but you know how futhin is :) 17:07:52 yes. he runs the channel after he stole it off me :) 17:07:59 not that i mind :) 17:08:12 those can DO. those who cant MANAGE 17:08:13 :P 17:08:35 * Mirrored grins 17:16:52 --- join: fridge_ (meldrum@zipperii.zip.com.au) joined #forth 17:17:45 --- quit: Mirrored () 17:17:57 I440r: the reason we think that you don't really get tail recursion, is that you keep saying that it's more confusing and slower. 17:18:07 it is 17:18:13 : foo begin ba while r repeat ; 17:18:27 : foo ba if r foo then ; 17:18:34 take your pick 17:18:42 or : foo begin blah until ; 17:18:48 I say the seccond one is simpler, has less constructs, and is more clear 17:18:54 (once you get used to it) 17:19:09 begin doesnt realy compile anything that executes. it compiles a dobegin which is a noop so that the decompiler can decompile 17:19:15 if you didnt want that you could do 17:19:20 ' here alias begin 17:19:22 immediate 17:20:03 I440r: I think it's a waste to put a MARKER at the begining of a word. It's already marked! it's "foo" in this case 17:20:05 : again compile branch , ; immediate 17:20:26 herk the decompiler marker words ARE a waste 17:21:10 but "see" can be useful 17:21:11 with tail recursion the only flow control construct is if/then. 17:21:17 yes ill have a view also eventually 17:21:46 : blah being blah if again then blah ; <-- ugh 17:21:55 : blah being blah while blah repeat ; 17:22:28 huh? 17:22:29 you will never sell me on tail recursion, i see absolutely no reason to include it 17:22:40 simplicity 17:22:46 : blah .... if ;recurse then ...... ; 17:22:48 is the same as 17:22:59 : blah begin ...... if again then ..... ; 17:23:06 which is totally stupid imho 17:23:09 its the same as 17:23:13 except that it's simpler 17:23:14 : blah begin ...... until ; 17:23:18 no its not 17:23:21 HOW is it simpler 17:23:29 thers NO fscking difference!!!! 17:23:35 the begin until is far simpler 17:23:39 far more pleasing on the eye 17:23:45 its like doing 17:23:48 only because you are used to it 17:23:50 if(x < 1) 17:23:55 do this crap here 17:23:56 in c 17:23:59 instead of doing 17:24:04 if (x < 1) 17:24:05 { 17:24:07 do this 17:24:08 } 17:24:18 single line IF statments in c should ALWEAYS be braced 17:24:29 it leaves no room for mistakes 17:24:42 also tail recursion encourages good factoring 17:24:58 the begin and again or what ever are visual markers for you 17:25:02 much in the same way as teh braces are 17:25:18 branching back to an implied marker is BAD imho 17:25:26 its like doing 17:25:30 if (x < 1 17:25:31 do thsi 17:25:32 ]?} 17:25:35 it's the bloody definition, you already KNOW it's there 17:25:37 argh i cant type 17:25:53 you always know when definition you're reading 17:26:01 : blah ad fdadloiu adfaed ae ca ae ce ;recuse arfae fd ae afe arfe aeagfe cae ase rfef ae a ; 17:26:12 the ;recurse is buried in a bunch of visual clutter 17:26:44 indent on the begin and undent on the until and you have a very clear indication of where the block is 17:26:47 : blah 17:26:49 do 17:26:53 all 17:26:54 this 17:26:57 ;recurse 17:27:00 blah 17:27:02 blah ; 17:27:10 you cant tell where one block begins or ends 17:27:26 unless you just arbitarilly indent at the top and undent the ;recurse 17:27:32 which is again BUTT UGLY 17:27:44 : blah 17:27:52 fooblah 17:27:59 ;recurse ; 17:28:00 ugh 17:28:32 anyway, im gona go do some reading :) 17:28:50 --- quit: I440r ("abort" reading and maybe some coding"") 17:28:51 I put all my definitions on one line, and I they don't go more than half way across my screen much. 17:31:21 : strle c@+ 0 eq if exit then strle ; 17:31:44 : strlen dup a! strle swap - ; 17:31:59 oops, 17:32:08 : strlen dup a! strle a swap - ; 17:34:44 --- join: lament (~lament@24.78.145.92) joined #forth 17:45:03 --- join: semtex (~l@pD950255F.dip0.t-ipconnect.de) joined #forth 17:45:12 'morning 17:45:31 --- nick: semtex -> Speuler 17:46:01 --- quit: fridge_ ("http://lice.codehack.com") 17:56:56 --- part: Speuler left #forth 18:11:23 --- join: fridge_ (meldrum@zipperii.zip.com.au) joined #forth 19:35:41 --- join: Speuler (~l@mnch-d9ba468b.pool.mediaWays.net) joined #forth 19:35:56 'morning 19:39:32 hi :) 19:40:26 did you stumble across tek-tips.com ? 19:41:02 there's a forth forum with about 100 members 19:43:32 interesting: statistics 19:43:47 "do members enjoy working with forth?" 19:43:53 0 % no 19:43:59 14 % fair 19:44:08 86 % yes 19:44:31 (actually 3 smileys, frowning, neutral, smiling) 19:46:15 :) 19:47:03 i'm searching for forth-cgi related pointers 19:47:22 our php programmer is about to mess up 19:48:30 sourceforge forth script i found 19:48:58 is about to ? 19:49:13 you can predict the future? 19:49:20 but it says "operating system windows95/98/200" ... 19:49:42 I wrote a script to hook gforth to cgi 19:50:11 fridge: it's in the line of progression 19:50:44 --- join: YumaSun (~chatzilla@dialup-65.56.248.169.Dial1.Phoenix1.Level3.net) joined #forth 19:51:55 herkamire: the html generating part would be nice 19:54:10 dsiconnect 19:56:32 Speuler: I didn't get that far. I just made a script that parsed the URL a bit and called gforth. 19:56:47 I think it's lost forever though 19:56:50 I can't find it 19:56:58 I didn't put that much time into it anyway. 19:57:41 less than 14 lines ? 19:59:29 --- quit: fridge (Read error: 113 (No route to host)) 20:00:43 --- part: YumaSun left #forth 20:04:49 probably not 20:05:23 I can't remember how much it did 20:14:22 just calling a script from the url is no prob at all. that's more web server config 20:15:45 user input is something to think about, 20:16:13 and the html output driver looks like it would just be tedious to write it 20:17:11 but right now i don't see a bigger problem there 20:17:52 /whois Speuler 20:18:47 strange 20:19:20 i think i don't like this irc client very much 20:20:26 but i forgot the name of the one i used yesterday :) 20:22:24 --- join: semtex (~l@mnch-d9ba468b.pool.mediaWays.net) joined #forth 20:22:34 /leave 20:23:21 --- part: Speuler left #forth 20:24:08 --- nick: semtex -> Speuler 20:26:09 this is lostirc now 20:52:42 --- quit: skylan (Read error: 54 (Connection reset by peer)) 20:57:46 --- join: skylan (sjh@Riverview92.tbaytel.net) joined #forth 22:04:29 --- quit: Speuler (Read error: 60 (Operation timed out)) 22:07:26 --- quit: Herkamire ("leaving") 22:13:23 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 23:19:17 --- join: proteusguy (~username@65.191.88.177) joined #forth 23:47:32 --- quit: proteusguy (Connection reset by peer) 23:47:35 --- join: proteus_ (~username@65.191.88.177) joined #forth 23:55:48 --- quit: Serg_Penguin () 23:56:08 --- nick: proteus_ -> proteusguy 23:59:59 --- log: ended forth/02.12.19