00:00:00 --- log: started forth/03.01.24 00:24:27 --- join: deluxe (~deluxe@p50805C01.dip.t-dialin.net) joined #forth 00:24:47 good morning all 00:24:59 somebody awake? 00:25:10 I am. 00:25:41 howdy male 00:27:13 Are you getting up or falling asleep? 00:28:17 9:30am here 00:28:29 Ahh. 00:30:38 guessing from url you are still yesternight? 00:31:03 at the moment i'm looking for somebody speaking french 00:31:12 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 00:31:23 Sorry, just English. 00:31:41 You speak french, eh? 00:31:58 Then could you rewrite the RPL/2 sources in English!? ;-) 00:32:11 good morning Serg_Penguin 00:32:16 hi 00:32:25 new to this chan ? 00:33:10 been here yesterday also 00:33:25 :)) 00:33:37 what do u write in Forth ? 00:33:46 me - tiny gamez and utils 00:33:51 just 4 fun :) 00:34:57 --- nick: deluxe -> forth_newbie 00:35:17 :))) 00:35:54 read ultratech stuff from topic - u'll be enlighted newbie 00:36:29 also read Leo Bro[u?]die 'Starting Forth' and 'Thinking Forth' 00:36:30 Hey Serg 00:36:33 hi 00:36:53 * forth_newbie has written some pieces, but not worth mentioning :-) 00:37:07 --- nick: forth_newbie -> deluxe 00:37:14 1 dup swap drop . 00:37:22 tell forth_newbie about one-liners, sokoban and TEA 00:37:35 http://robert.zizi.org/pub/ 00:37:38 sokoban? 00:37:52 Hmm... I could upload Serg's stuff if I find it. 00:38:04 i wrote sokoban game in one-line words after reading some ultratech articles from topic 00:38:39 after it, Robert wrote TEA crypto in one-liners too, while chatting 00:38:57 did it work from 1 run, no debug ? am i right ? 00:39:05 http://robert.zizi.org/pub/snippets/ 00:39:21 Serg_Penguin: Yeah... Much better than the non-one-liner ;) 00:39:38 sure :))) 00:39:40 mine too 00:40:15 so you all use forth as a scripting language as well? 00:40:34 old sokoban had 11-line word 4 level-decode, it was C'ishly indented read-only obfuscate mess 00:41:10 one-linerish has 3 words :) , clear and grok-at-glance'able 00:41:16 deluxe: I use Forth, like other kids use toys ;) 00:41:39 and packing became tighter :) 00:42:13 i wrote one 'scipt' in IsForth, it's a 'dissociated press' 00:42:25 Hrm.. I have an ugly snake game there :/ 00:42:34 look Jargon File 4 algorithm and description 00:46:16 deluxe: u may use Forth like Perl, but u need 2 write or find string mangling routines 00:46:46 and smoke much one EXEC syscall 00:47:54 and pipes 00:48:00 I'm leaving for school now, bye 00:48:10 regexes are said to be perl's strenght 00:48:15 bye 00:48:39 Robert: have a nice day 00:49:09 some times they are overkill, just like firing flak cannon at flies 00:49:31 example: 00:49:48 i was looking 4 job and needed email extractor 00:50:07 i tryed some shareware crap on my file, it failed 00:50:43 i thinked writing proggie will be faster than waiting till monday and downloading 00:51:00 result: entire src <1k, it worked 00:51:11 how much src regexes would be ? 00:51:19 100 k ? 00:51:54 deluxe: A short day, it will be! 00:52:24 Robert: du u study comp sci at school ? at what level ? 00:53:04 No, I don't. 00:53:29 But hopefully I'll be able to study part time at the university within a couple of months. 00:54:00 Remember, I'm just 16 :) 00:54:02 Anyway, bye 00:54:50 friend of mine at 17 was 'professor' at 'summer school' 00:55:27 ASM and C++ to math-talented 12-13y kids who never progged 00:57:08 TObj -> TView -> THello :))) 00:58:09 i dream of trying Forth on total newbie :)) 00:58:35 They used to teach forth to children. 00:58:50 Much like what was done with LOGO. 00:58:59 who - 'they' ? 00:59:15 They == Forthers of the time. 00:59:22 Parents no doubt. 00:59:48 Didn't you notice all of the cartoons in "Starting Forth"? 01:00:21 haha... LOGO will never compile itself, SPF4 of Alex Larionov (RU) - does 01:01:05 hmmm.. i didn't mind they were quite childrish 01:01:30 * Serg_Penguin has amateur translation in HTML 01:02:12 Are you a native english speaker, serg? 01:02:33 how do u think (no whois please) ? 01:03:08 Its just that I'm having trouble understanding you. 01:03:28 no, i'm RU. You ? 01:04:02 Filthy American. 01:05:04 male: what do you mean w/ filthy??? 01:05:39 Just your standard self deprecation, deluxe ;-) 01:06:37 Deluxe, you do know about RPL/2 don't you? 01:06:52 If I was french I would use RPL/2 ;-) 01:07:21 http://www.makalis.fr/~bertrand/rpl2/ 01:11:04 my standard self deprecation? what on earth do you mean? 01:11:54 That is simply how I express modesty. 01:12:27 To claim one is American is to claim pride over that fact. I have no such pride. 01:13:06 Therefore I chose a statement which reflected none. 01:17:52 ah ic 01:28:25 why u have no such pride ? 01:28:52 I guess I'm just more of a man than a countryman. 01:28:59 American folk inherit Roman culture and pride 01:29:23 fu..g judaic gov-ment has no hell in common w/ folk 01:29:40 they must die in boiling shit 01:30:17 Die in boiling shit, eh? 01:30:54 Talmud says Christ suffers such punishment :((( 01:32:27 u can't verify if dunno hebrew, but i can dig up some linx in conventional christian bible too 01:33:00 if only i'll translate book's names by some special dictionary 01:33:06 Serg_Penguin: did you read the whole talmud then? 01:33:27 no 01:33:35 xian bible was damn enough 01:33:54 xian? 01:34:01 christian 01:34:55 the one sold in RU by orthodox church, says u must stone to death u'r close relatives if they are of different faith 01:35:11 somethere in Moses 5-books, exact linx at home 01:35:22 how do you know what the talmud says then, especially in your example? 01:35:38 i wonder why it's not banned 4 intolerance 01:37:30 deluxe: i don't know 4 sure about talmud, but if common bible is so fascist, why not ? talmud is based on Moses books (torah) 01:41:43 Serg_Penguin: if common bible is so fascist??? want to explain? 01:47:43 it says people will be separated to 'good' or 'bad', and 'bad' will be killed w/ extra cruelty (in hell) 01:47:47 enough ? 01:48:18 arbitrary separation and killing on this basis _is_ fascism, at least 4 me 01:50:06 no matter what is separation criteria - racial (Hitler, old testament) or faith (new testament, hell etc.) 01:52:29 fasces[lat.]=elements of a bunch, eg. muscel 01:54:26 all evil forces use good symbols 4 disguise 01:55:14 so did Mussolini w/ word 'fascist' - it was "good" be4 wwII, meaning one who stands 4 union 01:55:46 so did Hitler w/ ancient Indian solar symbol - it was no bad be4 wwII, but try 2 wear it now... 01:55:54 --- quit: male ("User disconnected") 01:56:33 so u'r pre-wwII dictionary definition is obsolete now 02:02:14 ack'd how pure symbols are mixed w/ personal actions. looks like some kind of abstraction 02:16:06 Serg_Penguin:...Talmud says Christ suffers...says u must stone to death u'r close relatives if they are of different faith...if you find the links, please tell me occasionally. just curious, because i never heard it like that before 02:21:28 hitler flipped the swastika :) 02:25:04 --- quit: deluxe ("brb") 02:44:34 z 02:44:39 --- quit: Serg_Penguin () 02:46:33 --- join: deluxe (~deluxe@pD950F681.dip.t-dialin.net) joined #forth 03:02:34 --- quit: deluxe ("'bye") 05:03:09 --- join: mur (ammu@baana-62-165-184-125.phnet.fi) joined #forth 05:54:29 --- quit: mur ("MURR!") 05:59:04 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 06:21:51 --- quit: Serg_Penguin () 06:43:53 'morning 06:52:19 --- join: Rk (~chris@gen3-camarillo8-206.vnnyca.adelphia.net) joined #forth 06:52:29 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 06:53:27 hi Robert ! 06:56:29 Robert seems to be away, hes ignoring me on the other channels too 07:08:50 Hi Serg_Penguin 07:09:25 * Robert yawns. 07:14:54 --- join: chris__ (~chris@gen3-camarillo8-206.vnnyca.adelphia.net) joined #forth 07:15:42 --- quit: Rk (Read error: 60 (Operation timed out)) 07:15:55 --- nick: chris__ -> Rk 07:23:47 --- join: mur (jukka@baana-62-165-186-178.phnet.fi) joined #forth 07:27:34 --- quit: Serg_Penguin (Read error: 110 (Connection timed out)) 07:27:52 :hello ."hello" ; 07:27:54 no 07:27:58 bnoooo! 07:28:26 :helloworld ." hello!" world say; 07:29:32 hehe 07:30:17 >:| 07:30:25 Invalid syntax, dear. 07:30:32 * mur is always correct 07:30:39 :correct MUR; 07:30:45 No. You're just a finn, remember? :( 07:30:54 correct 07:30:56 returns MUR 07:30:57 :) 07:32:45 syntax error in function Robert 07:33:00 syntax terror by function Robert 07:33:14 syntax hero is function onetom 07:33:15 no 07:33:17 it was MUR! 07:33:26 but tab changed it to next ! 07:33:27 :) 07:58:50 --- quit: lament ("Did you know that God's name is ERIS, and that He is a girl?") 08:00:23 * mur tries to avoid putting to quit message "if jesus were coder, he woudl have caused all the time syntax errors" 08:07:25 --- join: Speuler_ (~Speuler@mnch-d9ba4553.pool.mediaWays.net) joined #forth 08:23:04 --- quit: Speuler (Read error: 110 (Connection timed out)) 08:23:49 --- nick: Speuler_ -> Speuler 08:25:36 --- quit: fridge (""Girl who go to bachelor pad for snack get tit-bit."") 08:37:58 mur: ? 08:38:12 notyhing 08:42:20 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 08:55:42 --- join: I440r (~mark4@ip209-183-83-49.ts.indy.net) joined #forth 08:56:22 serge! 08:56:43 hi-i-i-i ! 08:56:53 glad 2 see u ! 08:57:05 how's u'r trubblez ? 08:57:39 "how's"? not "how r"? 08:58:04 how is you are troubles? 08:58:31 "_your_ trubblez" i meant 08:58:54 some people put it ur 08:59:01 although i dont like either of those >:) 08:59:38 praise gods Eng is not flexive like RU 09:00:05 in RU, such bytemumble leads to total upset 09:00:31 --- quit: I440r (Excess Flood) 09:00:47 bytemumble, shto? 09:00:54 --- join: I440r (~mark4@ip209-183-83-49.ts.indy.net) joined #forth 09:00:55 shto eto bytemummble? 09:01:27 squeezing grammar words into as few chars as possible 09:02:07 * mur knows what is also nice 09:02:16 using W for all english question words :D 09:03:20 :) 09:03:25 how are u ? whatz about ur troubles ? 09:04:04 W U say? 09:05:02 mur: are u kidding or really can't understand ? 09:05:47 I440r: did u look at my disoociated press ? 09:05:54 >:) 09:06:41 serge where ? what ? 09:07:00 oops 09:07:11 do u remember a proggie i sent to you ? 09:07:38 and stupid q's how 2 pass args 09:08:30 serge erm - i dont remember 09:08:33 oh!! 09:08:42 it answered that 09:08:50 ./isforth - x y z 09:08:53 is the same as doing 09:08:54 isforth 09:08:56 x y z 09:09:04 run isforth then runwords x y and z 09:09:16 the dash tells isforth to INTERPRET the command line tail 09:10:13 so, i wanna invoke my script as : 09:10:50 if you want a forth source to be executable you need a shebang in the top line that looks like this 09:11:00 #! /path/to/isforth - fload 09:11:08 you NEED to have it exactly like that 09:11:08 dispress -if text.txt -of mungle.txt -chance 20 -len 30 -bs 64000 09:11:37 thats harder 09:11:41 not cat infile | dispress >outfile, and can't pass numeric values 09:12:24 i wanna do GNU options, not make users learn Forth 09:12:49 if u use ls(1) written in C, u don't have to know C to call it , yeah ? 09:13:07 so why the hell user has to know Forth to call my dispress ? 09:14:17 long ago, then i weenied in BASIC, i wrote function what scanned COMMAND$ and returned args 09:15:34 so if i call s$=SCANOPT$("-if","CON") 09:15:53 it returned "text.txt" in s$ 09:16:14 or "CON" if it failed 2 find "-if" in COMMAND$ 09:16:27 serg there are alot of issues involved with doing complex command line stuff, ive not fully resolved them yet 09:16:43 but what i have is useable - sorta 09:16:49 its a work in progress 09:17:23 so forget all what i demand and 4 work yourself out of trouble ! 09:18:25 what is the trouble 09:18:28 * mur does not understand 09:18:46 mur ive not had paid work since august 2001 09:19:06 ouch 09:19:09 why not? 09:19:19 serg the command line stuff isnt the same as what you would have with a c program but this is forth 09:19:29 you just have to write your script to understand that 09:19:46 you would have a word called -if that would parse the input stream for its parameter 09:19:50 etc etc etc 09:20:05 but doing that is up to the script. 09:20:30 oh, would i _really_ need it, i'll write SCANOPT in Forth and give it 2 u 09:20:57 and u need _better_ web site 09:21:09 actually, this isnt possible i dont think 09:21:24 or - not EASILLY done 09:21:27 i have some kind of "engine" 4 static sites 09:21:52 because how do you differentiate between parameters passed to the script and parameters the the shebang passes to isforth 09:22:04 i may port it to sh (now it's 4 COMMAND.COM :) 09:22:24 what do we have in buffer at start ? 09:23:13 - fload 09:23:18 erm 09:23:27 - fload scriptfile-name 09:23:41 - fload scriptfile-name paramers you passed to the script 09:23:49 "#!/bin/isforth - fload dispress -if text.txt -of mungle.txt -chance 20 -len 30 -bs 64000 09:24:06 no you shouldnt put all that in the shebang 09:24:18 and you NEED a space after the shebang 09:24:22 #! /bin/isforth - fload 09:24:28 NOTHIGN else in the shebang 09:24:36 when you run the script isforht will see 09:24:46 so just don't call SCANOPT w/ "-" and u won't get "fload" as param :))) 09:24:49 - fload scriptfile-name blah blah blah 09:25:03 you HAVE TO HAVE FLOAD as a param 09:25:13 the fload says FLOAD the script file 09:26:34 its complex :) 09:26:43 which is why its still a "work in progress" 09:28:01 i did something like : 09:28:16 args dup scanz 2dup swap - type 09:28:35 and seen whole cmdline from $0 :) 09:29:25 the trouble is that the #args is LESS than the ACTUAL number of args 09:29:47 the way linux passes parameters is totally fucked in the head 09:29:59 whoever designed it had his head up his ass 09:29:59 LITERALLY 09:30:15 argc is actualln too small in some cases 09:30:28 usually when you are running a shebaned script 09:31:50 it's just optimized 4 c :)) 09:32:12 no. its just totally brain dead 09:35:30 Good evening, forth freaks. 09:35:48 :) 09:36:01 no such thing as a forth freak 09:36:01 its the c coders who are FREAKS 09:36:08 weirdoze 09:36:14 :) 09:36:14 were sane 09:36:14 *twitch* 09:36:35 Yeah. 09:36:39 c is utter brainbarf 09:36:42 We're always right, they're always wrong. 09:36:54 c==foo+++bar :((( 09:37:12 FU err 09:37:37 int i = 6; 09:37:46 int j = i++ + ++i; 09:37:52 ugh 09:38:38 :D 09:38:44 j = i++ + ++i; is NOT ambigous 09:38:49 Sane people don't do that in any language. 09:39:02 c==fu+++bar - IS 09:39:05 Nobody does that anyway, heh. 09:39:51 but u can do it by typo, and it will be syntactically correct, and compiler will swallow the BIG crap 09:40:11 while forth will barf on == or ++ 09:40:38 robert ive seen WORSE c code used by almost ALL c coders 09:40:56 like single funcitons of 6 or 7 pages containing a single switch statement where every case was a witch statement where ever case was a switch statement 09:41:02 ive seen code like that LOADS of times 09:41:04 Hmm.. I read an article about Russia after 1991 some time ago. Do you beleive in capitalism, Serg_Penguin? Do you just think that they did it wrong in Russia, or that it can't be done right? 09:41:18 I440r: 1000 line case statements are cute :P 09:42:22 i don't believe in Russia :(( it's a scrap of natural selection, knocked to cold lands by 'better' folks 09:42:48 Yes, we stole Sweden from you! 09:43:30 Finland and Poland were lost in XX, and Ukraine - not 2 sure 09:43:48 +Korea in 1905 09:44:26 Nothing important :P 09:44:40 i don't mine 1000 line case statements. 09:44:54 i once had to figure out what a 2000 line chained if() was supposed to be doing. 09:45:07 i hope Moscow will be lost 2 Germany, not China :(( 09:45:07 :) 09:45:09 about 1/4 of it turned out to be adjusting for timezones. 09:45:15 i'm like WTF!? 09:45:28 just add and modulus the result. 09:45:59 the guy i was hired to replace was either a terrible programmer or was just fucking around on purpose. 09:46:32 maybe he was trying 2 be 'unreplaceable' :))) 09:46:50 OrngeTide: As a true pessimist, I'd guess on the former. 09:46:59 --- join: Kitanin (~clark@SCF61185.ab.hsia.telus.net) joined #forth 09:47:26 praise gods he did'nt wrote obfuscator :))) 09:47:35 yah. well i replaced his nearly 2000 line long chained if with 10 lines, and that's including comments he never had. 09:47:58 OrngeTide: Heh. Neat. 09:48:21 Robert: why are you ignoring me? 09:48:36 that was certainly the most extreme case i've ever been involved in. 09:48:43 Rk: Hmm.. didn't see you. Hello. 09:48:53 damn, i gotta run ! 09:48:57 BYE ! 09:48:57 Bye serg. 09:49:02 --- quit: Serg_Penguin () 09:49:44 hi great rewriter 09:49:57 now what i need is a fast high performance multithreaded realtime forth for ppc and mips.. oh and I want it to be cheap/free. too bad i've never worked for a company that would use such a thing. 09:50:04 Speuler: hallo. 09:50:06 * Speuler grins sardonically 09:50:21 s/bad/but 09:50:53 OrngeTide: for pocket pc 09:50:55 ? 09:52:11 nah. for embedded systems. routers, modems, disk arrays, etc. 09:52:12 Robert: gimme a hand please? 09:52:32 although something for my casiopeia e-125 stuffed in my closet would be neat. 09:53:11 there's not much forth for pocket pc around at the moment. there's dsforth which is a translator/compiler 09:53:25 i want to run it w/o WinCE is the problem. 09:54:03 i started implementing one, using pocketc but that compiler is that non-standard that i didn't get much result 09:54:31 nobody has ported linsux or anything to NEC VR4122 (MIPS 64bit). so it's mostly an expensive paperweight right now. 09:54:53 Speuler: why not just code it up in asm? 09:54:55 ah. pxa250 here. seems better supported 09:55:14 OrngeTide: have no assembler running on the ipaq yet. 09:55:31 and i intend to get rid of wince, put linux on 09:55:50 Speuler: my friend has gas running natively on his ipaq/linux :) 09:56:15 seems like you could cross-assemble it. although i dunno how well supported the structure of wince executables is. 09:56:34 the pxa250 port (39xx) is still pretty alpha. not as far as the 36xx/37xx port 09:56:45 wince has been nothing but ultimate flakeness. i got it thinking that PalmOS is flakey. no palmos is great:P 09:56:56 wince is a horror 09:57:01 Speuler: ah. isn't 39xx using the x-scale? 09:57:12 right. xscale = pxa 09:57:16 oh okay. 09:57:58 i want one as thin as one of the new HPs or toshibas. but i really have to have a CF slot, so i'm pretty much stuck getting a chunky one. 09:58:29 there's a cute panasonic handheld (pentium though) 09:58:35 pentium? 09:58:57 subnotebook 09:59:02 pretty small 09:59:03 i have 3 of the old HP palmtops w/ PCMCIA type I slots and ROM-DOS 5.0 on 80186 cpus 09:59:18 oh. yah. NEC has subnotebooks running mips 10:01:56 maybe i'll just get a zaurus sometime. 10:03:45 --- quit: Speuler (Broken pipe) 10:03:54 --- join: Speuler (~Speuler@mnch-d9ba4553.pool.mediaWays.net) joined #forth 10:30:24 --- join: MrReach (~mrreach@209.181.43.190) joined #forth 10:30:43 mrreach! 10:30:51 WHERE?!?! 10:31:07 how goes it? 10:31:55 Hey MrReach :) 10:32:03 Het gaat goed. 10:32:05 :) 10:32:26 hihi, Robert 10:32:44 sounds greek to me :) 10:32:54 I440r: was looking at your heap code ... 10:33:01 (sounds German to me) 10:33:06 its not german 10:33:15 It's Dutch.. just reacted on the Swedish/Dutch-style word order. 10:33:22 ftp://ftp.taygeta.com/pub/Forth/Applications/ANS/memory.fth 10:33:27 its sweedish :P 10:33:30 I440r: No! 10:33:34 you ought to take a close look at that, I440r 10:33:45 Det går bra. That is the swedish version, 10:33:51 warum sprechen wir nicht einfach alle deutsch? 10:33:52 Hm. I440r likes ANS code. 10:33:59 will do - im writing the deallocator now 10:33:59 Rk: Because we're uneducated morons? 10:34:01 since when? 10:34:06 thers a iddy biddy bug in the code you have heh 10:34:17 no. i dont 10:34:28 oh, I'm sure ... you disclaimed that the code you sent me wasn't tested 10:34:44 and the file ended a bit abruptly 10:35:07 yes. it was mostly tested, just not all words were tested. i think it was missing a NIP in there somewhere :) 10:35:27 but the general idea is sound 10:35:45 yes. its now TWO whole definitions longer than what you have hehe 10:35:46 * Rk spricht jetzt nur noch deutsch 10:35:48 it looked sound, but rather complex 10:36:07 it is complex 10:36:41 have a look at that link, especially the loop that looks for the next block to return 10:36:52 but i want to to be fairly general purpose. i could simplify it by returning a "memory handle" to the user instead of an address but then the user would have to "extract" the address from the handle somehow 10:37:08 there's like three primitives in the loop, that's all 10:37:59 ive seen that code, its MORE complex than mine :P 10:38:30 erm ... ok 10:39:06 how good is isforth at dynamically loading a .so ??? 10:39:14 heh 10:39:21 it cant 10:39:28 one day maybe 10:39:28 but not yet 10:39:30 will it be able to? 10:39:36 ok 10:40:22 did the Linux 2.4 kernel integrate regexp in the kernel by any chance? 10:40:37 no idea 10:40:47 (that's highly unlikely, as shouldn't be a system service) 10:41:48 my code looks more complex than it is and in the end there will only be TWO words visible to the user. allocate and free 10:42:01 of course 10:42:27 but I was looking at the loop that chose which free memory block to return to the user 10:42:44 and my code allows for any number of heaps - you can allocate a block larger than the default heap size 10:43:07 oh! I wanted to comment on that 10:43:34 you might want to consider using the kernel alloc for the heap itself 10:43:45 that has to be more complex in mine because when you ask for a block of size N it will search ALL heaps till it finds one that big or lager. if none are found a NEW heap is created 10:43:52 there IS no kernel alloc 10:43:53 why did you choose to take it from head space??? 10:44:00 theres mmap and brk 10:44:06 im not going to be using brk 10:44:07 rk: praat je ook plat duits ? 10:44:37 if i use allot and then do an fsave the "alloted" space is part of the executable 10:44:44 head space can be thought of as bss 10:44:48 right, I understand that part 10:44:50 Speuler: ich verstehe schwedisch oder holländisch oder was auch immer das ist nicht 10:45:03 hi mrreach ! 10:45:06 Linux kernel certainly has an alloc or malloc 10:45:08 because buffers allocated with greetings, Speuler! 10:45:22 no it doesnt 10:45:28 LIBC does 10:45:29 let me see if I can find it ... brb 10:45:30 Robert: #tinyvm 10:45:32 libc malloc calls sys mmap 10:45:33 MrReach: ltns hayd 10:45:44 are you sure?? 10:45:46 man 2 mmap 10:45:52 :) 10:45:53 all memory allocation is done via mmap in linux 10:45:58 yes, Speuler, it HAS been a while 10:46:01 posative 10:46:07 how odd 10:46:15 there is no "malloc" syscall 10:46:30 you do an anonymous memory mapping 10:46:37 i.e. you memory map NO file 10:46:50 right, I understood 10:47:02 ok ... 10:47:35 I would suggest using that instead of blocking mem from header space 10:47:38 you need a certain ammount of memory to manage the memory you are managing 10:48:03 --- join: proteusguy (~username@65.191.88.177) joined #forth 10:48:07 heh, yes, it's called overhead 10:48:14 I440r: : kb 10 rshift ; : mb 20 rshift ; 10:48:15 lol how do i keep track of the memory allocaed to keep trackk of the memory allocated ? 10:48:20 lshift ... 10:48:57 I440r: put it in the same memory 10:49:14 yea - i dont like defining 2874827356 iddy biddy words like that within the compiler. if a use wants a word to compute megs or k's he can use it heh 10:49:38 there are a gazillion other places i could create words like that and isforht would be 4* larger if i defined them 10:49:54 no, because of headerless words 10:50:04 but those two are generally useful 10:50:16 tho "20 megs constant heap-size" is more readable than 2784782547324 constant heap-size 10:50:19 (so long as they are documented somewhere) 10:50:38 I440r: was wondering about the 20563832 , commented : 20 mb 10:51:01 mrreach all words are headerless in a turnkey - and headers are stored at the bottom of head space - and head space is half a meg in size 10:51:15 does mmap allow to resize a memory block? 10:51:18 tho it IS possible 10:51:32 no 10:51:47 and you cant sys brk anything other than the data segment 10:51:47 so its fucking useless 10:52:13 have to do it the long way? (map new, larger block, copy old data, release old block) 10:52:31 yes 10:52:41 your using a segmented memory model in Linux??? 10:53:16 oh - i lied above - heh resizing a buffer will also be an option so there will be at least 3 words visible :) 10:53:16 no 10:53:23 the data segment is the datan section 10:53:31 try man 2 brk 10:53:35 ok 10:53:43 got a URL? 10:53:45 the man pages use the words segment and section to equate to the same thing 10:53:52 for the man pages ? 10:53:55 yes 10:53:59 nope 10:55:20 http://www.lxhp.in-berlin.de/lhpsysc1.html#brk 10:56:09 h.p.r was in here the other day :) 10:56:21 who? 10:56:24 he tracks isforth very closely 10:56:34 (there's probably a newer reference somewhere) 10:56:46 h. p. recktenwald 10:56:53 i think i spelled that right :) 10:56:56 oh! ok 10:57:00 lxhp 10:57:08 you just qouted his web pages url :P 10:57:15 lib4th guy 10:57:31 heh, no shit? I wasn't paying attention to who owned the page 10:58:16 :) 10:58:38 it was a site that I was reading through when you first started isForth, and bookmarked it for its usefulness 10:58:40 his is the only other linux forth kernel i have any respect for 10:58:47 its not coded in c :P 10:58:52 --- join: rafe (~rafe@www.scinq.org) joined #forth 10:58:53 yes 10:59:07 hiya, proteusguy, rafe 10:59:09 it has been VERY useful 10:59:17 hello 10:59:40 * Robert plays some ABBA for #forth. 10:59:54 his lisence is cool 11:00:15 it specifically excludes any and all employees of microsoft :) 11:00:23 maybe even former employees, i forget 11:01:42 heh 11:01:50 NOW ENOUGH OF MUSIC! 11:02:17 brb fone 11:04:17 back 11:04:26 ok 11:06:48 * Speuler makes mrbungle overshout abba 11:07:46 * Robert plays Sweet Charity for l. 11:08:10 goodbye sober day 11:09:49 --- join: lament (~lament@h24-78-145-92.vc.shawcable.net) joined #forth 11:10:15 drug me 11:10:38 Jawohl. 11:11:57 * Speuler wonders why the office mates flee when i turn up the volume 11:12:22 * I440r is bored again 11:12:24 gee, couldn't guess 11:12:57 panic stricken faces. cold sweat. fear symptoms 11:13:03 pale 11:13:30 but, the dog seems to like it 11:13:57 I440r: was thinking about apps that might hammer a mem allocation scheme ... web servers come to mind 11:14:35 yes. huge ammounts of memory being continually allocated and deallocated in small chunks 11:14:47 a puzzle solving game also comes to mind 11:14:48 MrReach: window manager - randomly create and destroy windows 11:14:50 chess/checkers etc 11:15:02 * MrReach nods. 11:15:12 as does my text windowing system 11:15:15 how would your system look after a couple of hours? 11:15:25 windows give a visual feedback of proper working too 11:15:32 lisp is the worse about allocating and deallocting small chunks... 11:15:32 or a couple million allocations? 11:15:54 mrreach it could handle it i believe 11:15:57 lisp often manages its own memory 11:16:00 * Speuler wrote windowing system especially for testing mem dealloc 11:16:09 but it needs to be tested 11:16:44 lol i wrote the memory manager specifically for my window system hehe 11:16:44 lisp has to manage it's own memory because it's so fucked up and intrusive. :P 11:17:31 I wouldn't say intrusive ... but its memory needs are difficult to provide efficiently at the processor level 11:17:59 i think there have been attempts to make a mark-sweep at the processor level. 11:18:06 or at least the hardware. 11:18:25 yes, that's true ... but they aren't on the market anymore @:^> 11:18:43 dammit. i really could use a 36bit computer :) 11:18:52 for what? 11:19:20 for hardware garbage collection:) 11:19:23 video munching? 11:19:29 32bits + 4bit type 11:19:35 * MrReach nods 11:19:46 do you work with lisp much? 11:20:08 nah. 11:20:19 although my forth-like scripting language is very scheme-like. 11:22:06 btw, i found a copy of lifo (lisp forth) again. someone was looking for it a while ago, forgot who it was 11:22:53 forth doesnt need garbage collection. forth HAS no garbabe. :P 11:22:54 heh, certainly not I 11:23:01 version from 1995 11:23:09 c shouldnt have garbage collection because a real garbage collection would collect everything :P 11:23:27 heh 11:23:56 I440r: ahaha:) 11:24:24 i need garbage collection. but only for one of my data structures. the real guts of it can be done by hand. 11:24:48 i could do the whole thing in forth of course. but i'm too scared to. 11:25:04 that and i already did a big hunk of it in C like 2 years ago 11:25:47 if you had started with forth 2 years ago it would have been finished in 2 weeks or less 11:25:52 lifo = forth syntax, stacks, with lisp data structures 11:25:59 I440r: I take it that kernel threading is not available to you? 11:26:17 Speuler: neat. 11:26:28 I440r: nah. 11:26:34 mrreach kernel threading is done via a clone syscall 11:26:34 thats available to me 11:26:54 is that process threading? 11:27:01 not familiar with it 11:27:02 I440r: i keep rewriting it is the bigger problem. and forth makes rewriting it even more attractive. 11:27:09 yes 11:27:16 linux threads 11:28:04 isnt that what you meant ? 11:28:16 not sure 11:28:21 clone is not fork 11:28:22 clone is just like fork except it adds an entry to the scheduler pointing to the SAME memory space. which means it's just a thread. 11:28:35 that sounds right 11:29:05 its also 100% linux specific 11:29:10 it's cute and has some side effects not compatible with posix threads:) 11:29:21 its emulated in fbsd i believe - not sure how 11:29:55 its saner than fork because fork forces the evil copy on write on you 11:30:11 boohoo 11:30:49 theres no copy on write with clone 11:31:11 of course not 11:31:17 that would defeat the purpose 11:31:34 but now we have re-entrancy problems 11:31:40 and shared parameter/return stacks 11:31:47 one cant simply CLONE in isforth 11:31:58 no, according to the man page, a safe stack is established 11:32:16 a fresh parameter stack would need to be allocated 11:32:30 (or return stack, whichever is not the native stack) 11:32:41 but isforth has parameter AND return stack 11:32:55 right, and one of them is native 11:33:12 so the other would have to be allocated before thread could start 11:33:19 the clone would push return addresses onto the reutn stack which the parent would then return to heh 11:33:26 now THAT could be used to create some REALY obfuscatd code :) 11:33:53 they don't share stacks 11:34:34 they cant. but - this is all stuff im defering till later 11:34:41 im not looking at it yet - not in depth that is 11:36:30 arg 11:36:30 ebx: clone flags 11:36:30 ecx: ptr to top of (distinct!) stack space for clone 11:36:30 pre-set to safe stack space if ecx=NULL 11:36:30 edx: ptr tp pt_regs structure - or NULL 11:37:26 aha ok - you specify stack space when you clone 11:37:40 so, you get to set up a stack or let the system do it, AND specify exactly what each of the registers will be on startup 11:38:19 ya. that will be VERY usefull 11:38:38 because i can specify EBP = return stack pointer. and esi IP 11:38:54 that might be very elegant for progs that tend to hammer memory 11:39:29 divide the process into independent portions, when a portion is finished in a thread, deallocate ALL its memory 11:40:55 if your prog has lots and lots of threads starting and finishing, you might want to preallocate a pool of return and parameter stacks beforehand 11:41:50 another use for this memory manager :) 11:42:14 well, your mem manager is what got me started thinking about this to begin with, silly 11:42:34 dont need to allocate a pool, just allocate and free buffers as required. a pool CANT be dedicated to a specific cause 11:42:41 heh 11:43:04 ok ... let's take the web server example, as I'm intimate familiar with it ... 11:43:40 for each connection, one needs to read the headers, process the headers, build a reply, send the reply 11:43:49 k 11:43:56 that requires both memory manager and task manager for sure 11:44:13 after reading the headers, the next set of headers can arrive before processing is complete (pipelining) 11:44:30 but replies must be sent back in order 11:44:40 right 11:44:54 first in first out 11:44:56 this can still be done in a single thread 11:45:14 but preventing memory fragmentation would be nearly impossible 11:45:27 yes i was thinking that 11:45:50 not realy, my manager helps prevent fragmentation 11:46:01 so, for each request, start a thread that mmaps a new heap ... and unmaps it as it exits 11:46:07 ?? do you limit the frag sizes ?? 11:46:29 he buckets free frags, if I recall 11:46:44 thx 11:46:57 i have a 16 byte granularity instead of 4k. and adjacent fragments are merged when freed up 11:47:08 I couldn't figure out if he combines adjacent free frags, though 11:47:10 its a "semi" best fit algorithm too 11:47:13 oh, ok 11:47:24 not fully best fit but can easilly be made so 11:47:31 the code doesnt yet. 11:47:31 it will 11:47:50 im writing the "free" part now - you just have the allocate 11:48:07 in any case, if each process unmaps its heap as it finishes, fragmentation is moot 11:48:27 yes 11:48:30 sorry, if each THREAD unmaps 11:48:50 well, its "semi" moot 11:49:04 because im not giving the user any way to free up any unused heaps 11:49:12 i might eventualy add code to free them automaticlaly once they become empty 11:49:22 so, for each thread started, several allocations have to be made, a return stack, a parameter stack, and a heap 11:49:59 there's no reason that 20 of each can't be allocated at program startup ... and used over and over again for each new thread 11:50:08 no. they share the same heap. 11:50:15 they just grab the parts they need 11:51:15 I'm proposing an alternate method for a heavily used process 11:51:35 ok 11:51:53 but, it is a more effient method? 11:52:02 efficient? 11:52:05 dedicated heaps for each purpose... 11:52:21 i think mine is as efficient as i can make it heh 11:52:35 the user doesnt care what heap a block of memory comes from 11:52:40 yes, but how would the coder use your system? 11:53:06 : allocate ( size --- address ) ... ; 11:53:20 : free ( address --- ) .... ; 11:53:49 in a single-thread algorithym, it is very likely that the heap will continuously grow, though it would become exponentially slower 11:53:58 the "address" can be within any of the existing heaps. even the allocator doesnt know till it looks 11:54:26 yes. but heaps dont grow realy, you get multiple heaps 11:54:40 and even a tiny mem leak would really screw the pooch 11:54:51 allocating is fairly fast but free is more complex 11:55:39 ill be able to speed it all up later when i can do coded defs 11:55:53 theres alot of cases like that in the extensions :P 11:55:55 so using multiple threads, and zeroing out the per-thread heap would be much safer, IMO 11:56:21 (maybe not unmapping it altogether) 11:56:35 maybe - dont know. but it would be more complex for the user 11:56:48 so then only the master thread is mission critical 11:57:42 not sure any thread would be able to claim being the master or root thread 11:57:54 in a web server, yes 11:58:03 not neccessarily all apps, though 11:58:20 any app I can think of, for sure, because that's the way I think 11:58:37 why would one thread have to be "first amongst equals" in a web browser ? 11:59:01 because one of them has to actually accept the socket connection ... they cannot all do so 11:59:36 well, I suppose they could, but that would rather defeat the purpose 12:00:02 well. in an irc server you could have one thread for server connection reads, another for server connection writes and another two for user read/writes 12:00:37 Actually, for the most part, the "first among equals" thread in a browser is the one that draws pretty pictures. The networking is strictly incidental. 12:00:37 stil dont need any ONE of them to be considered a master. or root - 12:00:40 that's true ... and one that reads the config file and starts the other 4 12:01:02 maybe handles the keyboard input, if there is one 12:01:22 or one to read the config file, start 3 more and then take on the responsability of the 4th 12:01:29 on a server ? 12:01:29 maybe 12:01:34 that's true 12:01:45 might have application for a user interface on the server 12:02:07 give the admin the ability to config on the fly 12:02:18 I tend to think that the thread that starts other threads will eventually go mostly idle at some point 12:02:25 right 12:02:30 that's what I was implying 12:02:39 sounds like a waste of a thread heh 12:02:46 but yes. 12:03:12 --- quit: Rk ("Client Exiting") 12:03:29 long-running threads and processes are a hazard if there happens to be a mem leak 12:04:01 mem leaks are the because of bad coders writing bad code 12:04:09 in the web-server example, deallocation wouldn't even be neccessary, as the per-thread heap is zerod out ofter each invocation 12:04:21 its not up to the compiler to worry about what the idiots are doing :P 12:04:22 mem leaks happen, no matter how careful 12:05:02 it's never appropriate to assume that your application has no memory leaks 12:05:09 only because of poorly designed and poorly coded applications 12:05:24 if a memory leak happens its not "my" fault 12:05:24 its whoever coded the leak 12:05:38 yes. but right now 12:05:42 a properly designed and properly coded app can't have a mem leak? 12:05:53 " my application" is the compiler 12:05:53 heh 12:06:14 of corse not. a properly designed and properly coded program is 100% bug free! 12:06:21 it never happened before 12:06:22 that is true ... not a major concern for you at the moment 12:06:36 but --- its not my job to worry about that :) 12:06:44 but it certainly will be for your users 12:06:51 not until i start WRITING applications 12:06:58 which i do plan to do 12:06:59 correct 12:07:12 yes. but its the users who need to deal with it, not the compiler 12:07:20 the compiler just compiles 12:07:20 it wont baby you 12:07:37 in any case ... all humans are fallible ... source code is written by humans ... ergo all source code is fallible 12:08:03 erm ... let me rephrase ... 12:08:18 in any case ... all humans are fallible ... source code is written by humans ... ergo all source code has the possibility of error 12:08:22 yes. but if the compiler has to checl for and deal with all possible erros my meg a second compiled will be converted into a byte a month :P 12:08:32 haha! 12:08:52 the forth way is to not test for errors 12:08:56 not the compilers job to check for logic errors (only syntax errors) 12:08:57 * Kitanin boggles at the fallibility of : five 3 2 + . ; 12:09:06 if thers an error its te USERS fault, not the compilers 12:09:22 what if the 3 was a typo 12:09:28 Kitanin: what if 'five' was supposed to return the result on the stack ??? 12:09:36 and anyone who codes 3 2 + is an idiot :P 12:09:44 : five 5 . ; 12:09:51 : five 2 2 + ; : the-party ." 2 + 2 = " five . ; 12:09:53 which its name implies, otherwise it should have been called '.five' 12:09:58 what he said :) 12:10:02 3 2 + constant five 12:10:20 * MrReach shakes his head 12:10:21 : robert.three 1 1 + ; 12:10:22 : five [ 3 2 + literal ] ( . ) ; 12:10:27 STOPIT! 12:10:30 damn! 12:10:40 : stop talk irc ; 12:10:42 : five 0 5 0 do 1+ loop ; 12:10:43 lol 12:10:53 Hehehe. 12:10:57 mrreach is going bald from all the hair pulling :) 12:11:14 the he can use it as notebook 12:11:24 We're damaging his mental health. 12:11:34 i shall refrain from defining 5 as being 6 1- :) 12:11:53 not the compilers job to check for logic errors (only syntax errors) 12:12:04 how did this conversation deteriorate to this level anyway 12:12:24 not even those 12:12:29 but both have to be accounted for ... and it's YOUR job to provide effient tools to do so 12:12:31 ' : alias 1 ' ; alias 4 1 2 3 4 12:12:38 there is no such thing as a syntax error 12:12:53 : madness \ dont try decompile this word 12:13:00 0 \ init count 12:13:00 begin 12:13:00 key? not \ check for keypress 12:13:00 while \ think of this as realy being an if 12:13:00 1+ \ no key pressed, bump count 12:13:01 dup 900000 = \ did count max out? 12:13:01 :bignumber 31337 ; 12:13:05 until 12:13:09 : foo blah blah blah ; blah? ok 12:13:10 drop beep \ count maxed - beep once 12:13:12 else \ and exit 12:13:15 key drop . \ key pressed, display count 12:13:16 then ; 12:13:18 does the above have a syntax error ? 12:13:32 : foo blah blah blah ; blah? ok 12:13:34 I440r, whty dont you compile and try? >:) 12:13:43 the code works but it is contrary to what most FORTH coders would say is normal syntax 12:13:54 yep 12:13:56 mur i already did. it works perfectly 12:14:15 \ dont try decompile this word ?' 12:14:17 incidently, your coding style looks more and more like mine each month 12:14:32 forward references arent a syntax error mrreach, they are poor style 12:14:34 nice and tall, each line has a comment 12:14:37 :P 12:14:52 no. the decompiler will barf 12:14:57 I440r: What does a 16-bit system say about "900000"? 12:15:10 no, but insert the word 'blah' in there somewhere and you've got a syntax error 12:15:22 kit who cares - isforth isnt a 16 bit compiler 12:15:26 ...unless blah is defined as ( -- ). 12:15:30 no you dont 12:15:42 blah is defined? 12:15:45 thats an unresolved reference, not a syntax error 12:15:46 that's pathetic 12:15:51 ah! ok 12:16:16 forth syntax happens to be rediculously simple 12:16:33 ...and forth programmers are simply ridiculous. 12:16:37 another example might be a paren comment that is never closed 12:17:04 so the last part of the file is ignored, the compiler should throw an error as it closes up the file 12:17:06 minimal is always simple. and nothing is more minimal than "non existant" :) 12:17:31 that might be considered a "syntax error" 12:17:33 --- quit: lament ("Did you know that God's name is ERIS, and that He is a girl?") 12:17:37 false, non existant does not exist 12:17:44 thus it can not be minimal 12:18:06 : blah ...... 12:18:06 it woudl be like short string that did not have even terminator 12:18:09 : foo ..... ; 12:18:13 thats a syntax error 12:18:27 yep, and a very hard one to catch 12:18:42 null ending string that does not even have null is not minimal because it is not string at all 12:18:44 whats hard to catch ? 12:18:53 that type of error 12:18:55 : blah ...... : foo ..... ; 12:19:02 foo? 12:19:08 yes, I read it correctly 12:19:38 the second colon is compiled. foo instead of being defined is now a reference. probably (but not guaranteed to be) an unresolved reference 12:19:38 maybe : should be immediate, and prints a warning if compiled ... but compiles itself anyway 12:19:55 : blah ." this is also a syntax error as stated above ; 12:19:59 right, I understood what you were proposing 12:20:37 anyway, those sorts of things happen, and should be caught when possible 12:20:37 mrreach : could be immediate to display an error on compile but thats exactly the sort of thing i thing forth should NOT be doing 12:20:51 ok 12:20:53 like if/else/then etc checking the stack 12:20:53 : blah if x ..... ; 12:21:08 giving an error because no else/then etc 12:21:25 I440r: you just misread what I typed 12:21:45 read my quotes files "unix wasnt designed to stop people doing stupid things because that would stip them doing clever things" 12:21:45 no - i understood 12:21:59 make : immedite and display an error if its invoked in compile mode 12:22:13 that is *NOT* what I typed, damnit 12:22:14 : : state if ." blah" else ...... then ; immediate 12:22:45 oh 12:22:45 a warning 12:22:45 so 12:22:59 : : state if ." blah" then ..... ; immediate 12:23:07 i dont even give warnings for "not unique" 12:23:56 right, it is appropriate to compile : into a definition ... but most of the cases where that happens, the coder didn't intend it 12:24:23 correct 12:24:38 but solving that problem is HIS responsability, not the compilers 12:24:53 forth lets him shoot himself in the foot 12:25:03 I've spent over an hour before searching for the problem, when it turned out to be a missing ; 12:25:26 ( I happened to be overloading an existing word) 12:25:27 exactly why i dislike optimizing compoilers source --> compiler --> "oh i knnow what he typed but this is better" 12:25:27 but why point there for them? 12:25:54 i do that all the time. usually takes me 2 seconds to figure it out heh 12:26:01 right 12:26:08 .... : blah ..... 12:26:08 where blah already existed 12:26:16 well, I don't do that all the time, it's rather rare for me to forget the ; 12:26:16 --- quit: Kitanin (Read error: 104 (Connection reset by peer)) 12:26:23 so was compiled instead of defined 12:27:07 right, it's a situation that happens fairly commonly, and a little extra in the compiler can save the coder a great deal of headaches 12:27:27 now, if the : really DID belong there, not much is lost 12:27:31 it would be simple to add these tests but i HATE it when compilers play "mommy" 12:28:10 except the time it takes to process each : definition is effectivly doubled by all the tests and checks 12:28:19 I'd like to think of the compiler as my coding partner ... pointing places that might be dangerous 12:28:39 besides. you can always write a wrapper for : 12:28:50 yes, there's a point at which there is simishing return 12:28:54 : : state if ." blah then : ; 12:29:02 now that looks weird heh 12:29:09 erm ; immediate 12:29:14 forgot the I 12:29:16 heh 12:29:46 and forgot the closing quote 12:30:01 yea lol 12:30:17 : : state @ if ." blah" then : ; immediate 12:30:34 that might be another one to warn about "EOL reached without closing quote" 12:30:47 a forth beginner would look at that and keel over heh 12:31:50 : : warn-colon : ; IMMEDIATE 12:33:00 erm ... 12:33:28 : : ( -- ) warn-colon : ; IMMEDIATE 12:33:32 why do forth coders like to code in upper case ? 12:33:47 upper case is a hello of alot harder to read 12:33:54 and adds nothing 12:33:54 0 CONSTANT foo 12:34:07 because standard words are defined as upper case ... and not all systems are case insensitive 12:34:31 (an irritation to me, too) 12:34:39 ugh 12:34:39 thats a HORRIBLE convention 12:34:54 but forced by history 12:34:54 its as bad as "constants are upper case" in c 12:35:07 not forced by history 12:35:21 forced by the ans standard team who have consistantly refused to take a stance on any issue 12:35:28 there's simply no escaping the convention that previous systems used upper case words 12:35:28 lets not mess with NOT - lets invent "INVERT" instead 12:35:43 that way we dont need to make any decisions about it one way or the other 12:35:50 yes there is 12:35:58 --- join: arke (~unknown@gen3-camarillo8-206.vnnyca.adelphia.net) joined #forth 12:35:58 become case insensative 12:36:06 no, NOT was defined one way in Fig, and another way in F83 12:36:18 ay 12:36:19 hi arke! 12:36:19 you a forth coder ? 12:36:26 * arke is Rk 12:36:30 yes 12:36:34 in all cases where popular systems had conflicting usage of a word, another name was chosen 12:36:40 yes. and instead of deciding how it realy should be. they decide NOT to decide 12:36:47 i.e. they cop out of all issues 12:37:02 yes. no decision made 12:37:04 --- quit: Robert (Read error: 110 (Connection timed out)) 12:37:10 cop out 12:37:17 that is correct, if you read the appendix, either the first or second goal of the standard was to break as little existing code as possible 12:37:38 otherwise people wouldn't use the standard at all 12:37:39 a weak decision. 12:37:55 sure they would 12:38:09 thats like saying nobody will switch to the 83 standard because it breaks their 79 standard code 12:38:17 it did 12:38:19 well, that is EXACTLY why many companies refused to migrate to F83 standard from Fig ... because it broke NOT 12:38:25 but they STILL switched 12:38:25 or most of them did 12:38:35 that's right, MOST of them 12:38:49 which fragmented the community just that much more 12:38:55 it didnt break it 12:38:55 it FIXED it 12:39:42 ay 12:39:44 a company with 2 million lines of source code is NOT going to migrate to a standard that breaks that code ... at least not lightly 12:39:47 and ANS hasnt fragmented the community ? 12:39:51 whats the difference between NOT and NOT?> 12:40:03 it sure as hell has. its a fucking abomination in my opinion, and in many other peoples too 12:40:19 arke: F79 defined NOT as a bitwise inversion 12:40:25 arke NOT in the 83 standard is a logical inversion 12:40:25 a 2's complement 12:40:36 F83 defined NOT as a logical inversion 12:40:48 a 1;s complement 12:40:48 BAD 12:40:50 two very different animals 12:40:55 * MrReach shrugs 12:41:07 why didnt they just make one NOT and the other NEG? 12:41:23 I'm thinking ANS did define not, as the f83 type 12:41:35 arke: that's exactly what ANS did do 12:41:40 negate and not are NOT the same thing 12:41:40 lemme check 12:41:47 not and 0= are also not the same thing 12:41:47 but they are in fig 12:42:11 =0 means check if the thing on the stack is equal to 0 12:42:32 0= 12:42:37 nope, they refused to define NOT because of existing conflicts 12:43:18 if they had had the guts to DECIDE one way or the other i would have more respect for them 12:43:32 their decision to wimp out was a bad one imho 12:43:51 may I paste? 12:44:10 sure :) 12:44:12 The word NOT was originally provided in Forth as a flag operator to make control structures readable. Under 12:44:12 its intended usage the following two definitions would produce identical results: 12:44:25 i did above - remember ? 12:44:25 heh 12:44:26 : ONE ( flag -- ) 12:44:26 IF ." true" ELSE ." false" THEN ; 12:44:26 : TWO ( flag -- ) 12:44:26 NOT IF ." false" ELSE ." true" THEN ; 12:44:51 I440r how does isforth do it? 12:44:59 This was common usage prior to the Forth-83 Standard which redefined NOT as a cell-wide 12:44:59 one's-complement operation, functionally equivalent to the phrase -1 XOR. At the same time, the data type 12:44:59 manipulated by this word was changed from a flag to a cell-wide collection of bits and the standard value for 12:45:10 only if FLAG was a valid true or false 12:45:17 true was changed from 1 (rightmost bit only set) to -1 (all bits set). As these definitions of TRUE and NOT 12:45:17 were incompatible with their previous definitions, many Forth users continue to rely on the old definitions. 12:45:17 Hence both versions are in common use. 12:45:18 bit if FLAG was 5 12:45:32 Therefore, usage of NOT cannot be standardized at this time. The two traditional meanings of NOT - that of 12:45:33 negating the sense of a flag and that of doing a one's complement operation - are made available by 0= and 12:45:33 INVERT, respectively. 12:46:11 ugh 12:46:11 0= not 12:46:28 the logical version of NOT 12:46:31 0= converts the flag to a valid flag but of the wrong sense. the NOT fixes the sense 12:46:43 the bitwise version of NOT is INVERT 12:46:47 "invert" is another wimp out definition 12:47:01 the word not COULD have been standardized 12:47:11 but now, *YOU* can define NOT as you see fit, and still be ANS compatible 12:47:48 to remain compatible, though, you may not define 0= and INVERT as you see fit 12:47:56 ugh 12:47:59 ay 12:48:01 bad 12:48:19 actually good, IMO 12:48:26 so you have exactly the same problem as you have in c. where 248289749824 different compielrs all produce an equal number of different results from the same source 12:48:44 0= is often used, and has always meant 'logical negation" ... no conflict there 12:49:28 either that you you have to have #ifdefined this-compiler : fixup definions; #elseif defined that-compiler : other fixups '; 12:49:29 --- quit: Speuler (Remote closed the connection) 12:49:30 similarly, in systems where INVERT has been provided, it has always meant 'bitwise inversion' 12:49:34 for 5 or 6 pages 12:49:57 and dont tell me that doesnt happen. look at marcel hendrix's monster set of benchmarks 12:49:57 they are full of that crap 12:50:11 --- join: Speuler (~Speuler@mnch-d9ba4553.pool.mediaWays.net) joined #forth 12:50:22 but NOT was a problem ... if you defined it one way, it broke a lot of code, if you defined it the other way, you broke a lot of other code 12:50:46 now you can define not in whatever way you were used to using using it 12:50:56 so. lets wimp out and NOT define it at all ??? 12:51:16 no, ANS expects not to be defined in most systems 12:51:45 but the definition would follow whatever system you were using before 12:51:57 thus making 50% of the sources incompatible with any compiler anyway!!!!!!!!!!!!! 12:52:05 new code should be written with 0= and INVERT 12:52:12 so the ans refusalt to take any stance accomplished NOTHING 12:52:17 huh? what are you talking about? 12:53:11 ok they accomplished the following 12:53:26 they increased the vocabulary by 4859824 new "wimp out" definitions 12:53:34 thus adding more confusion factor to the equasion 12:54:02 im sorry, i will never see ans the way you do mrreach 12:54:16 I think ANS defined 120 someodd words in ALL the wordsets ... not bad at all 12:54:26 there's like 80 or 90 in CORE 12:54:32 every "rationaizaition" for "NOT" defining something one way or the other made a requirement to invent NEW words to do the same thing 12:55:04 every single one of which makes ans code look BUT UGLY 12:55:07 --- join: Kitanin (~clark@SCF61185.ab.hsia.telus.net) joined #forth 12:55:18 ans forth makes my teeth ITCH big time 12:55:29 well, in essence what they did was to declare "a bitwise inversion is NOT the same thing as a logical inversion ... and coders should distinguish between the two in their source code" 12:55:58 --- join: lament (~lament@h24-78-145-92.vc.shawcable.net) joined #forth 12:56:09 hiya, lament, wb Kitanin 12:56:29 It is a hateful thing, my connection. :-( 12:56:54 hi. 12:57:01 the beauty of it is they they managed to make such a declaration at all without breaking existing code 12:57:20 by simply refusing to define NOT 12:57:28 yea - they wimped out on every issue :P 12:57:36 thats not beauty, thats cowardice 12:57:58 "instead of deciding one way or the other - invent new cruft" 12:58:10 ay 12:58:25 the difference between bitwise and logical negation is cruft? 12:58:49 in my mind, it is EXTREMELY important 12:58:51 no. the 12:58:51 erm 12:59:12 no. the "not deciding what 'NOT' should be" and "inventing new words to do it" is cruft 12:59:23 so there needed to be two words for the operation in any case 12:59:31 invert. <-- another limp wristed ans forth word 12:59:40 right up there with postpone 12:59:47 no there doesnt 12:59:47 0= 12:59:48 not 12:59:55 now we have 0= not not and invert 12:59:59 in choosing which words those should be, they simply refused to define a commonly used word 13:00:05 thats TWO nots because nobody knows how not is supposed to work 13:00:43 exactly, they wimped out :P 13:01:11 your fogetting that a standard has to reflect common industry usage 13:01:31 no it doesnt. 13:01:38 the industry should reflect the standard 13:01:45 well, at least we agree that two words are needed there, we have some common ground 13:01:45 IF they so chose 13:02:13 0= and not are not the same - for sure 13:02:20 but now we have 0= not1 not2 and (ugh) invert 13:02:31 it is on F79 systems 13:02:51 which was WRONG 13:02:53 ay 13:02:56 83 standard FIXED not 13:03:00 just do not for 2 and neg for 1 13:03:01 and ans wimped out 13:03:05 heh, but lots of code had been written for it 13:03:23 and lots of code written for F83 13:03:24 negate 13:03:24 not neg 13:03:33 :)\ 13:03:43 and how big a problem is it to search for all instances of NOT and convert it to the new standard 13:03:47 even if you have 2i562984729849824 lines of source thats no biggie 13:04:00 in 2,000,000 lines of code it might be a huge problem 13:04:18 MrReach: how so? 13:04:20 MrReach: 'grep' 13:04:24 nope 13:04:24 i disagree 13:04:30 an hours work at most 13:04:33 MrReach: better yet, 'sed' 13:04:37 exactly 13:04:41 with our current systems, yes 13:04:43 edit * 13:04:47 where grep is expected 13:04:51 search and replace in each file 13:05:06 the older systems often didn't have that functionality 13:05:07 I440r: eh, sed works better 13:05:30 sed ;) 13:05:42 only if you know how to use sed. sed is worse than sendmail.cnf :P 13:05:49 see, they don't require that you search for NOT in your sources and fix it 13:05:57 its a derivative of brainfuck :P 13:06:04 :D 13:06:09 neither do they expect you to replace NOT with either 0= or NEGATE 13:06:13 mrreach. exactly - they WIMPED OUT!!!!!!!!!11 13:06:28 they expect you to define NOT as you expect it work 13:06:35 instead of making the final decision one way or the other they propogated the error even further 13:06:56 they didnt FIX anything, they just refused to "Break" anytying 13:06:56 ugh 13:06:57 no, they clearly drew a disnction between logical and bitwise inversion 13:07:02 not fixing is the same as "leaving it broken" 13:07:12 that is EXACTLY correct 13:07:32 they did NOT fix not. they invented a new word to do the job the way NOT should have been made to do it 13:07:45 --- quit: rafe ("Client Exiting") 13:07:47 the refuse to promulgate a 'broken' concept into the next generation of standards 13:08:03 "not fixing is the same as LEAVING BROKEN" 13:08:10 no they didnt!!!!!!!!!!!!1 13:08:10 thats exactly what they did not do 13:08:17 they FORCED the problem to continue 13:08:23 heh 13:08:26 * arke agrees with I440r 13:08:33 they exassibated the problem by adding furter confsion into the equasion 13:08:48 alot of people do. but more dont 13:08:53 fools!!!!!!!!!!!! 13:08:57 heh 13:09:07 new code will be written with either 0= or INVERT as appropriate ... how does that exascerbate the problem? 13:09:12 brb, making coffee 13:12:35 i say "invert" is NEVER appropriate 13:12:49 0= and N-O-T are appropriate 13:12:49 :P 13:12:49 anyway 13:12:57 next arguement ??? :) 13:12:57 hhe 13:12:57 then define it as something else 13:13:25 forth inline asm? 13:14:05 erm inline asm is bad. switching into assembler half way through a colonn definition is BAD FORM 13:14:13 factor that inlined asm out to a CODED definition 13:14:34 hrm 13:15:03 http://www.taygeta.com/forth/dpansa1.htm#A.1.2 13:15:04 maybe some sort of facilities where you can out and in ports, and call interrupts maybe? 13:15:42 I440r: would you be kind enough to read the first 5 paragraphs (3 paras and 2 lists) 13:16:05 im loading the page 13:16:51 just reading the first paragraph so far... they failed miserably 13:17:34 they DIDNT "standardize common system techniques, including those germane to hardware." at all 13:18:00 what common tech did they miss that you think should have been included? 13:18:18 Cost of compliance - this should NOT have been an issure AT ALL 13:18:35 NOT - COMPILE/[COMPILE] 13:19:18 Efficiency - they should have nothign to do with thism, its not the standards job to make MY code efficient 13:19:36 heh, one at a time? 13:19:49 Portability - again. NOT their job 13:20:14 Readability - huge failure on their part 13:20:20 hello? 13:20:29 ans forth is the most difficult forth to read 13:20:31 has this gone from dialog to monolog? 13:20:45 im reading and making comments on what i read as i read it 13:20:55 ok, will wiat for you to finish, then 13:21:07 no - i just cant split into 3 tasks, 2 is my max heh 13:21:14 :) 13:21:14 hhe 13:21:44 Utility - not sure if they succeeded or failed here. for me they failed - i wont use ans so it has no utility falue for me. 13:21:59 done 13:22:07 not the standard, a particular word being considered 13:22:50 ok, you say that cost of compliance should not have been a factor in choosing which words and how they functioned? 13:23:22 that addresses the issue of NOT directly 13:23:27 correct. it effectivly painted them into a corner 13:23:36 and thus painted anyone who uses ans into the same corner 13:23:49 ok, what would have been the effect of NOT considering the cost of compliance?? 13:23:59 but we already agreed. they DIDNt address that issue 13:24:52 what would the standard have looked like had they not considered CoC? 13:26:30 dont know. wouldnt know unless they took that path 13:27:23 wouldn't that mean that they could redine some or all of the commonly used words however they wanted? regardless of how it hurt current source files? 13:28:50 yes. they could. but they should only redefine the BROKEN words 13:28:58 could and should. 13:28:58 different 13:29:05 so should CoC really be left out? 13:29:50 not in all cases 13:30:04 but it should be secondary to FIXING that which is known to be broken 13:30:39 so they used the priniple of "when choosing how a word behaves, it MUST behave as used in current systems" ... do you disagree with this prinicple? 13:30:47 (principle, not law) 13:31:15 i definatly disagree if its a broken definition like NOT was in the 79 standard 13:31:49 do you disagree with the priniple itself? 13:32:06 principle, even ... damn rented fingers 13:34:41 --- quit: I440r (Excess Flood) 13:35:44 --- join: I440r (~mark4@ip209-183-83-49.ts.indy.net) joined #forth 13:35:51 wb 13:36:01 do you disagree with the principle itself? 13:36:37 not in ALL instances 13:36:42 but they put blinkers on 13:37:21 would you say that it is better to define common words as they are used in industry? 13:37:37 only when the industry had it RIGHT!!!! 13:37:44 which they didnt always do 13:38:27 correct 13:38:44 Consistency 13:38:44 The Standard provides a functionally complete set of words with minimal functional overlap. 13:39:09 do you agree there needs to be two words for bitwise negation and logical negation? 13:39:36 but there ISNT two. thers THREE!!! 13:40:00 what's the third? 13:40:02 YES 1 + 1 is THREE if the ONEs are LARGE ENOUGH! 13:40:05 83 standard fixed the problem, ans reverted to it 13:40:08 oh, numerical negation 13:40:20 that's another ball or wax 13:41:25 anyway, to keep it simple for now, does bitwise and logical need seperate words? 13:43:04 YES but it only requires TWO . not one broken, one correct and one FILL in word 13:43:50 they should have fixed the borken word instead of inventing a new one 13:43:51 ok, what I'm trying to do is put YOU on the ANS board ... to see if you might come even close to the same conclusions 13:44:06 im not. 13:44:08 i mean 13:44:22 not coming to the same conclusion. i would have finalized how NOT etc should work 13:44:40 postpone would never have been defined. compile and [compile] were NEVER broken 13:45:04 ok, so there needs to be two words ... now, is it better to choose to efine a controversial word and break code, or to define a commonly used word that doesn't break existing code? 13:45:40 what controversy. 13:45:49 fix it if its broken! 13:45:54 not "wimp out" 13:46:12 NOT had both conflicting definitions in previous standards AND in industry usage 13:46:24 isforth isnt deliberatly ans non compliant. i dont read the ans standard and aim for being contrary 13:46:37 that's two points against it even being defined ... much less how it should defined 13:46:47 so fix the definition and make the industry fix its useage 13:47:11 no. thats two points in favor if it being fixed! 13:47:22 so then ANS would be forced to favor one company over another 13:47:35 or one group over another, anyway 13:47:50 and yet, nearly everyone provided 0= and INVERT anyway 13:48:18 because noone could figure out how, exactly, NOT was supposed to function 13:48:53 yea - so instead of fixing that which is broken and pissing SOME people off they wimped out. 13:49:26 now, if you were complaining that INVERT was a miserable name for the functionality, I might agree with you 13:50:05 --- join: male (~male@24.33.30.124) joined #forth 13:50:11 but the functionality 1. was needed and provided 2. didn't break existing code 3. used common words 13:50:11 the whole reason for defining it is a cop out! 13:50:20 and its an ugly name too 13:50:34 what would you have called it? 13:50:51 not 13:50:59 :) 13:51:04 * MrReach laughs 13:52:01 no matter how you were used to defining the operation of NOT ... it would have been a dice role as to wether ANS would have broken your existing system 13:52:12 you should have seen that one coming :P 13:52:34 I guess that they decided that comformance by dice-role is inappropriate 13:52:38 yep, I should have 13:52:42 and that should not have affected the decision of the ans standard team one way or the other 13:52:52 they SHOULD have decided how it should have been defined and defined it that way 13:53:48 I guess they decided that it was better to create a 'new' word than to define a common word in such a way that broke large amounts of existing code 13:54:10 Or large amounts of existing minds. 13:54:12 and NOT is particularly sticky on that point 13:54:18 good point, male 13:54:19 i know 13:54:34 they threw the baby out 13:54:40 not at all 13:54:49 but kept the bath water 13:54:51 all systems that use NOT may continue to do so 13:55:07 and they use NOT as it was defined before 13:55:21 and still be compliant 13:55:22 and those that are broken continute to be so 13:55:44 that is correct, but they are argue vociferously that it is NOT broken 13:55:44 i.e. the standard only standardized the words that didnt require them to take a stance 13:55:54 do i hear the word "cowards" there ? 13:56:04 that did not break existing practice 13:56:18 --- quit: lament ("Did you know that God's name is ERIS, and that He is a girl?") 13:56:27 there *IS* no consistant practice for the word NOT 13:56:54 they should have MADE one! 13:57:24 I'll bet they had exactly this argument at the table 13:58:02 which was probably when some people walked out 13:58:02 i would have 13:58:24 yes, the dual functionality was definately needed 13:58:52 and one of the MOST commonly used words was obviously unsuitable for inclusion in the standard at all 13:59:03 Perhaps there should have been NOT and ~NOT. In otherwords have a consisten, seperate logical and bitwise interface. 13:59:17 I'll bet that rubbed hair the wrong way for several people 13:59:20 consitent. 13:59:59 yes, but it would still have broken a great deal of existing code 14:00:12 That's the nature of Forth. 14:00:22 and those two words, in particular, would have caused even more confusion 14:00:58 but not the nature of ANS, who had declared in the beginning that it was bad to break existing code, as a rule 14:01:21 There's always going to be a bit of that. That's dependent on the programmer's background. The cure is consistency. 14:01:28 (a rule is not a law) 14:01:46 right 14:02:17 I don't see a point to having a Forth standard.. Especially a complex one. 14:02:26 so in the case of NOT , they decided to substitute another commonly used word and avoid the breaking of code altogether 14:03:04 when I sit down at a standard Forth console, i *KNOW* that certain words behave in certain ways 14:03:21 (I don't know that they are there, but if they are, they behave as expected) 14:04:14 My point is that any standard should have come in the form of a new languag designed to avoid the pitfalls of Forths past. 14:04:16 I440r's beef is that they flatly refused to break large amounts of existing code 14:04:41 That's just because I440r likes breaking code. Pay him no mind. 14:04:46 a new language altogether??? 14:05:03 no. im not trying to break peoples sources, i would however have at least TRIED to fix the standard! 14:05:21 instead of a language as similar as possible to existing Forth? 14:06:06 No, similar to Forth, but not CALLED Forth.. 14:06:14 ah! 14:06:18 And designed to be standardized. 14:06:53 Forth was designed to do what Moore needed it to do, and therefore not prone to any kind of mass agreement. 14:07:09 actually, they succeeded in that I440r can define not as he pleases, and only restricts him in 0= and INVERT ... both of which he would probably define correctly, if he defined them at all 14:07:46 so I440r is in inadvertant compliance 14:08:19 0= is defined. invert is also defined, i just called it "NOT" 14:08:52 right, which is a compliant system 14:09:24 it just doesn't provide the entire CORE wordset 14:09:27 i dont think isforth is complant. 14:09:36 im just not aiming for non compliance 14:09:36 ans forth is a nebbish 14:09:44 a non entity 14:09:54 no, probably not, but certainly not because NOT INVERT or 0= are defined incorrectly 14:10:36 on that issue, you are within guidelines, I'm certain 14:10:39 --- quit: arke (Read error: 104 (Connection reset by peer)) 14:11:20 so you have NILL cost of compliance in regards to NOT 14:11:36 invert is not defined 14:11:44 NOT and 0= are defined 14:11:52 and the definition for NOT is the CORRECT definition 14:12:07 ANS does not say that every core word must be provided 14:12:17 and ANS does not disagree with you 14:12:56 no. i just disagree with it 14:13:01 ANS only says that if 'x' word is provided, it must have ANS behavior 14:13:03 on certain issues 14:13:09 correct 14:13:11 especially postpone 14:13:35 my "word" doesnt have ans behaviour 14:13:43 i can almost guarantee that 14:13:44 I am confused about postpone, so cannot argue from the case of ANS 14:13:50 my "word" calls refill if tib is empty 14:14:20 i can see no reson for its 14:14:21 what is the stack effect of word??? 14:14:27 "invention" 14:14:36 compile and [compile] worked perfectly 14:14:41 invention of what??? 14:14:57 oh, postpone? 14:15:26 * MrReach shrugs, "Like I said, I can't argue the case at this point" 14:15:35 yes 14:15:39 what is the stack effect of 'word'??? 14:16:05 eh ? 14:16:05 erm let me look 14:17:36 parse-word is ( c1 --- a1 n1 ) 14:17:51 word is ( c1 --- ) 14:18:11 you are correct, it is nonstandard, but perhaps only in name 14:18:23 oh, ok 14:18:24 --- join: javaluser (~jirc@acc-1-14.cariboo.bc.ca) joined #forth 14:18:37 mrreach ! :P 14:18:50 hi javaluser 14:18:50 you new here ??? :) 14:18:56 ANS mentions PARSE-WORD in an appendix, but does not define it 14:18:57 forth coder ?? :) 14:19:07 or is this futhin :P 14:19:08 hihi, javaluser 14:19:24 i440r: bingo was his name o! 14:19:57 :) 14:20:04 you cant hid from me! 14:20:26 I440r would it be a huge loss to rename your current WORD to something else ?? 14:20:40 DOUBLEBYTE 14:20:41 :) 14:21:05 yes 14:21:14 in this case. yes it would 14:21:22 ok 14:21:30 it would be an adition of huge confusoin factor 14:21:44 beg parden? 14:22:04 you are unable to find another name as apt? 14:22:20 rename word to "isforths-version-of-word" 14:22:22 and DOUBLE word wuodl be FOURBYTE 14:22:23 :) 14:22:41 no. i see no point in renaming word simply because ans has a different definition for it 14:23:06 mur were not talking about cell size 14:23:06 were takking about parsing 14:23:15 bl word ...... 14:23:57 could call it token or tokenize. thats what it does. it extracts a single C1 delimited token from the input stream 14:24:07 QUARTERWORD is NIBBLE 14:24:08 but renaming the word is adding fudgefactor 14:24:08 'bl word' is a phrase used in just about every forth system written before 1992 ... and in many of todays forth systems 14:24:58 why are we even talking about ANS ???? 14:24:58 and? 14:25:06 ANS is not a standard :P 14:25:22 the forth standard is: there is no standard 14:25:29 least of all ANS 14:26:03 'bl word' usually leaves a single address on TOS 14:27:08 no need to leave an address 14:27:08 the address is known 14:27:18 usually HERE 14:27:24 in the case of isforth its HHERE 14:30:06 right, I doubt that any word you write would conform to ANS ... so either rename or be non-compliant 14:30:17 you, obviously, would choose non-compliance 14:30:40 not for the sake of non-compliance 14:30:48 --- join: deluxe (~deluxe@pD9E4EC76.dip.t-dialin.net) joined #forth 14:30:54 hihi, deluxe 14:31:01 --- join: sma_ (stephenma@ashd174qy22og.bc.hsia.telus.net) joined #forth 14:31:14 howdy 14:31:20 i440r: do you have FOR..NEXT ? 14:31:28 sheesh! look at that channel list, hiya, sma_ 14:31:40 MrReach: hi! 14:31:41 but im not going to rename a word from its obvious logical name just to be compliant wiht a standard i disagree with 14:31:41 hi deluxe - are you new in here ? 14:32:06 yes i have for/next but i refuse to call next "next" 14:32:06 its for/nxt 14:32:06 because NEXT has very special meaning in forth 14:32:34 um, see, you screwed it up 14:32:43 most forth writers call NEXT as NXT 14:32:45 didn't we talk yesterday, I440r? 14:32:48 and have for/next 14:32:48 You could call it for/again 14:33:05 i think you had a different nic :P 14:33:13 i dont remember EVERYONES /whois heh 14:33:20 or call NEXT as AGAIN and leave FOR/NEXT alone 14:33:28 Or for/ourholymother. 14:33:41 for/thesakeofit. 14:34:17 FOR godssake NEXT god 14:34:21 Or be like the shell and use for/rof 14:34:32 if and FI! 14:34:33 :) 14:34:59 for the love of god not forth! 14:35:22 lfor / rofl 14:35:30 At least its intuitive. 14:35:31 bah, someone already won the million dollars for the P vs NP afaik 14:35:41 P vs NP? 14:35:45 er afaict 14:36:06 P equals not P ? 14:36:07 p vs np ? 14:36:24 and that would be? 14:36:30 P = not P was a vexing problem to be proved.. 14:37:11 javaluser: p == np proof would be big news.... any links? 14:37:14 but doesnt it depend on yor definition for NOT ??? :) 14:37:22 oh - we had that discussion already hehe 14:37:22 heh 14:37:36 i440r:?> 14:37:47 #forth is a lousy drug 14:38:07 i'm making typos left and write 14:38:18 futhin the defintion for NOT is in contention - or rather - NOT defining the definition for NOT is in contention 14:39:11 & nevermind, the P = NP hasn't been proved yet & the million dollars is still there afaict 14:40:04 ah 14:40:12 and its not solvable with successive approximations either heh 14:40:47 I440r: some bad news i'm afraid... 14:41:08 I440r: due to work, i can't play as much with isforth as i thought i would 14:41:12 AGAIN has ans spec ... NEXT does not 14:41:21 sma ? 14:41:38 thats ok, take your time - or leave it till you have more 14:41:59 I440r: but i will have time to help you finish the "dictionary" part of the documentation 14:42:31 cool! 14:42:32 I440r: but that's it though unfortunately 14:42:59 I440r: you'll have to keep it up to date yourself afterwards 14:43:05 dont let it worry you any :) 14:43:07 NP= nondeterministic polynomial time 14:43:14 im not letting it worry ME too much yet :) 14:43:56 ok 14:44:22 sma yea i know 14:45:04 things in the kernel itself dont change very often - usually only for bug fixes etc 14:45:53 I440r: this weekend i can probably get a lot done, then we'll see 14:46:12 k 14:46:56 ok, ttul 14:47:17 --- quit: sma_ ("back to work") 14:47:28 k. 14:48:10 javaluser: I440r only invites me in here so he can talk ANS with me 14:48:18 I contribute very little else 14:48:51 hehe 14:49:07 mrreach you contribute plenty 14:49:20 it would probably be better for his health if I never spoke with him 14:49:24 and contributing antyhing other than your presense isnt a requirement :P 14:49:37 kindly said, thank you 14:50:04 heh 14:50:11 i440r: invite chuck moore next time, jeez ;P 14:50:30 oh, that would be the fight of the century 14:50:35 futhin thats YOUR job! 14:50:42 heh 14:50:43 :P 14:50:48 it's been awhile since i've talked to him 14:50:56 i probably should email him and see how he's doing 14:51:00 heh 14:51:22 thefox doesnt seem to come in here any more either 14:51:28 i wonder if he's doing much work on colorforth 14:51:45 i440r: well i might've pissed him off a little bit 14:51:47 well, folks, time for me to skeedaddle 14:51:49 thefox 14:52:03 mrreach: skeedaddling back to the coding? 14:52:07 you have a nice day 14:52:12 you too 14:52:15 nice to see you again 14:52:25 shit shower shave, fresh clothes, then maybe some coding 14:52:25 next time we'll talk more, i'm a bit out of it today 14:52:35 cu l8er mrreach! 14:52:36 fair enough, good to see you again 14:52:55 * I440r needs a shave. 14:53:03 --- part: MrReach left #forth 14:53:10 got thate designer stubble unshaven shaven eric clapton look 14:53:12 so i might've pissed off thefox 14:53:21 dunno 14:53:31 my email was only mildly insulting ;P 14:53:35 how ? 14:53:52 lol 14:53:52 what email :P 14:54:24 i was just harassing him a bit about the iTv fuck up & a bit about how to deploy forth as a destructive innovation, etc 14:54:50 but his emails were a little weird too 14:55:13 itv wasnt HIS fuckup from what ive been able to gather tho 14:55:22 i440r: i know 14:55:37 just talking about itv in general 14:57:01 i440r: imho, you should break compliance with ANY forth ideas completely and do your forth from scratch & make it sensible.. 14:57:12 i.e. forth coders shouldn't be able to use your forth 14:57:29 without relearning all the words 14:57:37 it already IS sensible 14:57:43 lies 14:57:53 im not coforming for the sake of conformity 14:58:13 are you telling me your forth is in NO way hackish? 14:58:50 and that each and every single word has been properly named in an intuitive and sensible way without letting your previous forth bias distort your namings of the words? 14:59:26 it is. but it wont be wheni cah UN-kludge certain parts 14:59:40 those two questions are very important questions for ALL forth writers 15:00:08 well gotta go 15:00:10 3 pm 15:00:10 but to do that i need an assembler extension 15:00:17 --- quit: javaluser (" laters") 15:10:28 It isn't that hard to write an intel assember. 15:11:12 In fact, that's the first thing most forths get. 15:11:24 Then the rest of the system is written via CODE. 15:12:38 (Because a postfix assembler is more fun) 15:18:45 --- join: arke (~unknown@gen3-camarillo8-206.vnnyca.adelphia.net) joined #forth 15:19:03 I440r hello 15:22:23 hi 15:22:30 sorry - went for a shower :) 15:22:47 male im dreading writing the assemblre 15:23:56 assembler even 15:24:18 Eh? 15:25:09 It isn't that hard to write an intel assember. 15:25:18 it IS when you want what I want 15:25:26 386 to P6 in INTEL syntax 15:25:53 What makes you want that? 15:26:09 that includes fpu, mmx,sse(2) 15:26:29 Only the fpu applies to Forth. 15:26:30 --- quit: Kitanin (Read error: 54 (Connection reset by peer)) 15:26:59 as far as im concerned even THAT doesnt apply 15:27:15 You don't do floating point? 15:27:16 floating point is another one of those abominations 15:27:31 --- join: Kitanin (~clark@SCF61185.ab.hsia.telus.net) joined #forth 15:27:48 if intel put the same effort into an integer engine as they put into the floating point engine their "co" processor would be 298562984 times faster than it is 15:27:57 and probably alot less buggy too 15:28:30 Yeah, but what about the three people that actually use the Intel floating-point stuff? :-) 15:28:42 That's what you get for using intel chips, I440r. 15:28:55 We've always known they were sub-par. 15:42:16 --- quit: arke (Read error: 110 (Connection timed out)) 15:45:58 --- quit: mur ("MUR!") 15:59:23 --- quit: deluxe (Remote closed the connection) 16:07:58 --- join: arke (~unknown@gen3-camarillo8-206.vnnyca.adelphia.net) joined #forth 16:09:32 --- quit: Kitanin (": war postpone peace ; immediate : freedom postpone slavery ; immediate : ignorance postpone strength ; immediate") 16:47:50 --- join: lament (~lament@h24-78-145-92.vc.shawcable.net) joined #forth 17:37:04 --- quit: proteusguy (Read error: 54 (Connection reset by peer)) 17:37:20 --- join: proteusguy (~username@65.191.88.177) joined #forth 17:40:02 --- quit: I440r (Read error: 60 (Operation timed out)) 17:46:26 --- quit: male ("User disconnected") 17:47:02 --- quit: proteusguy (Read error: 104 (Connection reset by peer)) 17:47:10 --- join: proteusguy (~username@65.191.88.177) joined #forth 18:06:35 hi, bringer of the light 18:07:45 thy doeseth quite some yoyoing 18:18:00 --- quit: lament ("Did you know that God's name is ERIS, and that He is a girl?") 19:11:55 http://www.bagley.org/~doug/shootout/craps.shtml 19:14:22 two tests haven't been done for forth: echo client/server, and consumer threads, which reduces forth's score 19:14:59 producer/consumer threads 19:17:24 best overall results for forth: matrix multiplication (cpu/mem/lines of code) 19:18:03 worst overall: count lines/words/chars 19:19:21 often: number of code lines below average, cpu and mem better than average 19:19:34 --- quit: arke (Read error: 110 (Connection timed out)) 19:19:54 (forth used to test against was gforth) 19:21:04 also with "sum a file of numbers" forth didn't shine 19:27:24 (30 languages, 25 programs on each) 19:29:31 oh. bigforth is on the list too 19:45:10 --- join: lament (~lament@h24-78-145-92.vc.shawcable.net) joined #forth 20:04:37 --- join: arke (~unknown@gen3-camarillo8-206.vnnyca.adelphia.net) joined #forth 20:44:02 http://c2.com/cgi/wiki?ForthCommunity 21:03:07 --- quit: lament ("Did you know that God's name is ERIS, and that He is a girl?") 21:34:08 --- quit: onetom (leguin.freenode.net irc.freenode.net) 21:35:40 --- quit: sma (leguin.freenode.net irc.freenode.net) 21:35:40 --- quit: Klaw (leguin.freenode.net irc.freenode.net) 21:41:36 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 21:44:01 --- join: onetom_ (~tom@novtan.bio.u-szeged.hu) joined #forth 21:44:58 --- quit: onetom (leguin.freenode.net irc.freenode.net) 21:46:29 --- quit: arke (Read error: 110 (Connection timed out)) 21:47:26 --- join: arke (~unknown@gen3-camarillo8-206.vnnyca.adelphia.net) joined #forth 21:56:45 --- quit: onetom_ (leguin.freenode.net irc.freenode.net) 21:57:29 --- join: onetom_ (~tom@novtan.bio.u-szeged.hu) joined #forth 22:03:46 onetom_ ay! 22:03:46 Speuler ay! 22:03:46 OrngeTide ay! 22:03:46 TreyB ay! 22:03:46 ianni ay! 22:03:46 skylan ay! 22:03:46 Fractal ay! 22:03:46 clog ay! 22:03:47 proteusguy ay! 22:07:24 --- join: sma (stephenma@ashd174qy22og.bc.hsia.telus.net) joined #forth 22:07:32 sma ay! 22:10:26 --- quit: onetom_ (leguin.freenode.net irc.freenode.net) 22:10:47 --- join: onetom_ (~tom@novtan.bio.u-szeged.hu) joined #forth 22:12:17 --- quit: sma (leguin.freenode.net irc.freenode.net) 22:14:24 onetom_ ay! 22:16:27 --- quit: onetom_ (leguin.freenode.net irc.freenode.net) 22:18:21 --- join: onetom_ (~tom@novtan.bio.u-szeged.hu) joined #forth 22:39:13 --- quit: onetom_ (leguin.freenode.net irc.freenode.net) 22:40:01 --- join: onetom_ (~tom@novtan.bio.u-szeged.hu) joined #forth 22:41:18 --- join: sma (stephenma@ashd174qy22og.bc.hsia.telus.net) joined #forth 22:46:17 --- quit: sma (leguin.freenode.net irc.freenode.net) 22:47:05 --- join: sma (stephenma@ashd174qy22og.bc.hsia.telus.net) joined #forth 23:59:59 --- log: ended forth/03.01.24