00:00:00 --- log: started forth/03.03.20 00:49:28 --- join: krish (KRISHNAKUM@61.1.220.229) joined #forth 00:49:30 --- join: KRISHNA (~KRISHNA@61.1.220.229) joined #forth 00:49:46 --- quit: KRISHNA (Client Quit) 00:49:55 hi ! 00:50:00 Speuler: are you there ? 00:57:07 --- join: ramnull (~nicad@12-241-145-39.client.attbi.com) joined #forth 01:11:35 Hey. I44or drop in here lately? 01:16:28 --- quit: ramnull ("ircII EPIC4-1.1.7 -- Are we there yet?") 01:34:20 --- join: ramnull (~nicad@12-241-145-39.client.attbi.com) joined #forth 02:29:54 --- quit: krish ("Client Exiting") 02:46:15 --- join: krish (~KRISHNA@61.1.220.229) joined #forth 02:46:17 --- join: KRISHNA (KRISHNAKUM@61.1.220.229) joined #forth 02:53:16 --- quit: KRISHNA ("Client Exiting") 02:53:16 --- quit: krish ("Client Exiting") 03:41:43 --- quit: ramnull ("This isn't Happy Hour!") 03:41:44 --- join: XeF4 (~xef4@guanine63.gprs.suomen2g.fi) joined #forth 04:04:27 --- quit: XeF4 (Read error: 104 (Connection reset by peer)) 06:13:32 --- join: Herkamire (~jason@wsip68-15-54-54.ri.ri.cox.net) joined #forth 07:05:44 --- join: gilbertdeb (~gilbert@fl-nked-ubr2-c3a-29.dad.adelphia.net) joined #forth 07:06:10 hullo 07:06:16 Hi 07:07:24 Robert: do you do anything with literate programming? 07:08:07 I don't even know that that is.. please explain :) 07:08:48 I'm going outside for a bit. See you :) 07:08:55 you are running away? 07:09:05 Yes! 07:09:07 You're so scary. 07:09:08 Bye 07:28:30 --- join: tathi (~josh@wsip68-15-54-54.ri.ri.cox.net) joined #forth 08:20:54 --- join: XeF4 (~xef4@guanine99.gprs.suomen2g.fi) joined #forth 08:54:47 --- quit: XeF4 (Read error: 104 (Connection reset by peer)) 09:35:02 --- join: krish (KRISHNAKUM@61.1.220.196) joined #forth 09:35:27 hi all! 09:35:37 Hi :) 09:35:50 how are callbacks implemented in forth ? 09:53:05 ' and execute. 09:53:32 : call-a-function ." Now I'm calling it!" cr execute ." Done." cr ; 09:53:43 : test ." Hello, there!" cr ; 09:53:49 ' test call-a-function 09:54:14 cool 10:10:12 'morning 10:10:18 :) 10:10:19 :) 10:11:00 oh those bluddy html people have made a real mess here 10:11:07 where? 10:11:07 hi Speuler! 10:11:30 left a presentation server in perfect shape 10:11:59 now i have been chasing all those wrong links and files/directories expected on different paths the whole day 10:12:04 hi lrish 10:12:07 krish 10:12:15 how's your rating doing ? 10:12:36 ther's one directory, which was required on 4 ! different locations 10:12:58 * Speuler grumbles 10:13:24 as if those folks don't do any testing on their stuff at all 10:13:31 * Speuler grumbles even more 10:13:37 tumbling down ... 10:13:44 2118 now from a high 2295 10:13:50 oh 10:13:59 i don't need to catch up. 10:14:04 i can just outwait it :) 10:14:56 aargh 10:15:03 more 404s 10:15:22 t'is even not my work 10:17:15 now i'm into typical win-losers problems 10:17:58 CAPITALIZED directory names while the links there are in small letters 10:18:14 having fun 10:18:21 not at all 10:18:23 i hate it 10:18:40 thanks for bearing with me 10:18:55 i may grumble a little bit more 10:18:59 for filename in `ls -F` ; do tr [A-Z] [a-z] ; done 10:19:10 for filename in `ls -F` ; do tr $filename [A-Z] [a-z] ; done 10:19:12 I think. 10:19:13 hehe 10:19:22 and the documents (html) with pointers to those ? 10:19:41 Speuler: there is a nice tool for fixing things like these 10:19:43 I normally use bluefish in order not to go crazy . 10:19:47 its called htmllint i gues 10:19:47 bluefish and weblint ... 10:19:52 right now i "fix" it by using ln -s 10:20:39 i suppose none of those can fix a link which doesn't exist because it is somewhere else 10:21:06 or decide where to put it if it is required in different locations 10:21:24 i'll just make it working again 10:21:26 they fix it 10:21:36 symbolic links are fine for that purpsoe 10:21:38 pose 10:24:58 gave me at least a nice access card 10:25:07 free flight team :) 10:26:09 those carzy folks going up by balloon and oxygen masks, and jump out with a hangglider 10:26:12 crazy 10:26:57 not that i'm so keen on trying that myself 10:27:06 you should. 10:27:16 * Speuler likes to feel solid ground under his feet 10:27:28 * krish too 10:27:35 * krish scared of heights 10:27:44 * Speuler too 10:28:05 well, mountains are all right 10:28:26 roller coasters? 10:28:53 the recent models of roller-coaster alike i don't like 10:28:57 --- join: xeno_ (~xeno@160.80-203-40.nextgentel.com) joined #forth 10:28:58 the free-fall ones 10:29:36 hi... a couple of questions... how is Forth doing, is it worth learning even if I'm not going to use it? and what is the Book[tm] on Forth? 10:29:37 bunjee jumping is also not my thing 10:30:11 beats me 10:30:16 :) 10:30:43 how do you know you'd not use it if you learn it ? 10:30:44 xeno_: the Books on forth are supposedly Starting Forth, Thinking Forth. 10:31:39 "is it worth getting a driver license even though i'll never go stearing a car" ? 10:31:57 xeno_: it is different sort of language. 10:32:17 ignore me. i'm grumpy today 10:32:35 Speuler: I don't know if I'm not going to use it, but that's been the case for about 15 languages so far... 10:32:43 xeno_: do you know rebol? 10:33:03 guys: Forth is a bit tough getting used to. especially the stack manipulation. But the fact is I really like this thing - 10:33:07 xeno_: about forth they say it is a very polarizing thing. 10:33:16 gilbertdeb: nah, looked at it once, thought it looked like a new basic, and didn't bother more... 10:33:20 krish: the stack manipulation stuff is not hard at all. 10:33:25 if you like it, you never do anything else again, the say too 10:33:28 xeno_: try googling for rebol forth 10:33:38 you might find some interesting relevant comments about it. 10:33:42 the challenge of running ur mind backwards is too good to resist. 10:33:44 krish: well, I've written my share of PostScript, so the stack thingie is no problem for me 10:34:02 good foundation 10:34:09 now for the power :) 10:34:28 where can I find the complete word list ? 10:34:35 krish: type word 10:34:38 no words 10:34:44 or go to the ansforth website. 10:34:52 most words can be viewed with 'see word'. 10:35:17 xeno_: since i've learned forth, many other languages seem to have lot's of shortcomings 10:35:41 krish eg ... (2 + a) * b == (2 a + ) * b == b (2 a +) * == b 2 a + * 10:35:57 no. I meant a document that I can open in a seperate window 10:36:13 i'll look for ans word lists 10:36:38 simple postfix expressions are not a problem. 10:36:40 xeno this is pretty good too: http://compilers.iecc.com/comparch/article/93-09-080 10:36:45 Speuler: the languages I usually program in are O'Caml, lisp, Ada95 and (unfortunately) java 10:36:57 ocaml has a good name 10:37:07 lisp is not so far from forth 10:37:18 on ada and java i won't comment 10:37:20 its when I start writing a new word, I've to setup the stack - thatz where the prob. starts. 10:37:28 Lisp is pretty good. 10:37:30 nifty 10:37:39 krish the forth words for stack manipulation are not too many. 10:37:49 thats where the SF book supposedly makes its mark :) 10:37:51 yes. and am getting used to it. 10:38:15 krish: standard method of learning forth is to write an interpreter :) 10:38:21 heheh. 10:38:34 Speuler: :) 10:38:35 xeno_: the author of forth learned lisp from mccarthy . 10:38:37 i'd prefer a small app. 10:38:39 he was greatly influenced. 10:38:40 xeno_: seriously 10:38:49 xeno_: take a look at speuler's bashforth. 10:38:54 www.forthfreak.net 10:39:05 Speuler: can you send me a recent photo of urs ? 10:39:29 krish: why don't you fly to speuler :P 10:39:35 though i wonder whether it can still be called "educative", starts to get feature-loaded 10:39:42 which wan't the original intention 10:39:45 Speuler: ok, if writing an interpretes is the way of learning it... is there a (cheap) ISO/ANSI standard? 10:39:51 Speuler: how about forthbash ? 10:39:52 ah yes bashforth v < 32 I think. 10:40:06 krish: are you female ? 10:40:12 no man. 10:40:15 with a name like krishna? 10:40:16 gilbertdeb: bashforth? forth written in bash? 10:40:22 xeno_: precisely. 10:40:24 krish: will look for a scary photo then 10:40:25 just wanted to check ur hair condition :-) 10:40:30 and the author is speuler. 10:40:49 gilbertdeb: sounds horrible... I write bash continously, but I don't really like it 10:40:55 hehehe. 10:41:10 xeno_: if you understand bash, you can read bashforth and write forth in anything else you want. 10:41:14 Speuler: how about bash in forth interpreted by bashforth ? 10:41:27 that would be ugly krish 10:41:32 sure there's no standard? 10:41:41 why ? 10:41:44 xeno_: there is 10:41:56 xeno_: there is. 10:42:01 Speuler: where, and how much ½½$$$? 10:42:02 basically, there are two of them 10:42:11 the draft copy is free 10:42:12 downloadable 10:42:15 right ? 10:42:17 where? 10:42:25 google it. 10:42:29 google dpans 94 10:42:55 that the draft of the ansi standard 10:43:10 the other standard, the previous one, is f83 10:43:24 older ones can be neglected 10:43:26 has anyone read Mastering Forth ? 10:43:50 after searching for 2 hrs. I found a very old copy of it in a local bookstore 10:44:32 for Rs. 150 ~= $3 10:45:21 good job krish. 10:45:26 * krish checking the score of India V Kenya cricket world cup semifinals. 10:45:31 --- quit: krish ("Client Exiting") 10:45:31 a number of people swear by it. 10:45:41 Cricket? 10:46:43 found a phote where my hair is considerably shorter than what i'm wearing now :) 10:46:45 photo 10:46:55 he took off. 10:47:02 something about kricka 10:47:06 croquet? 10:47:14 something. 10:57:50 --- join: I440r (~mark4@1Cust7.tnt2.bloomington.in.da.uu.net) joined #forth 11:02:41 poland is facing being eliminated from the EC candidate member list because of supporting an illegal war 11:03:00 innnteresting. 11:03:09 which illegal war? 11:03:16 and which wars have been legal? 11:03:18 speuler stop 11:03:20 it is against the statutes 11:03:34 your talking out your ass 11:03:36 I440r: i'm not making that one up 11:03:51 and as far as im concerned the eu can go fuck itself. specifically france and germany 11:04:04 I440r: I take it you are for 'the war' 11:04:13 also, you think we are doing 'a good thing'. 11:04:17 ? 11:04:33 fox news yeserday reported that they had concusive proof that the french have been training the irqaqui army 11:04:37 they are already surrendering 11:04:50 "friendly feelings" however that is measured toward the us has fallen in some countries to below 15 % 11:04:58 how long did it take for france to cave in to the germans in ww2 ??? 11:05:02 THREE fucking days 11:05:21 I440r: they caved in out of guilt :D 11:05:29 out of cowardice 11:06:00 im 100% behind this war AND my president who IS acting according to law 11:06:21 he is enforcing a un (wimps) resolution because THEY dont have the guts to do a fucking thing 11:06:26 I440r: laws his country helped make up as a result of its victory. 11:06:32 in all their years of existance the UN has accomplished not ONE fucking thing 11:06:33 EVER 11:06:50 I440r: the UN is as strong as its member states. 11:06:51 the united nations should be abolished 11:07:07 no. its only as strong as its weakest links 11:07:11 i.e france and germany 11:07:19 bunch of useless do nothings 11:07:40 I440r: don't forget we won the war by a tiny tiny margin. 11:07:42 why abolish ? cancelling membership would do 11:07:47 winson churchill called the second world war "the war that shold have been avoided" 11:07:50 it was not a conclusive victory. 11:08:00 it COULD have been avoided if all the stronger nations hadnt wimped out 11:08:10 I440r: it could have been avoided if the rest of europe had not greedily feasted on germany after ww1 11:08:12 all we had to do was go in. kill hitler, dismantle the german military machine 11:08:19 and MILLIONS of lives would have been saved 11:08:36 I440r: why aren't we doing the same with saddam? 11:08:45 if it is so straight forward? 11:08:47 we are not making the same mistake 11:08:54 he might even be dead already. 11:08:58 might not tho 11:09:11 we dont know for sure 11:09:17 that would legalize an attack on,say, bush, by, say, some arab countries 11:09:18 why don't we just declare victory and listen to rtd military personell? 11:09:31 why should we 11:09:41 we should COMPLETE this job. 11:09:42 he 'might' be dead. 11:09:59 we shouldnt make the same mistate bush senior made, he pulled out with the job half done 11:10:01 at whose expense I440r? 11:10:06 because of political pressure 11:10:25 out OUR expense. we are footing the bill for this war 11:10:31 yes. 11:10:44 lets stop messing around in other countries and solve our own damned problems. 11:10:55 i would rather pay for this war than have the thread of sadam or his lakeys sneaking up on me when my back is turned 11:11:07 I440r: that is a bugaboo 11:11:12 the way bush does .. 11:11:21 we are solving our own problems, these othe countries are a huge part of our problems 11:11:29 I440r: no they ARE NOT! 11:11:32 Get a clue. 11:11:39 just keep telling yourself that 11:11:41 our problems are internal. 11:11:52 yes. we have internal problems too 11:11:55 also, our problems involve unaccountability of foreign policy. 11:11:58 we will never NOT have 11:12:07 yeah, shouldn't we be fixing those? 11:12:21 but we do NOT need external threats of harm against this country. 11:12:32 I440r: North Korea has made a threat. 11:12:36 WE have not responded. 11:12:39 we are the "havs" they are the "have nots" 11:12:41 Saddam made NO threats. 11:12:49 yes. they are more of a thread than sadam in MY opinion 11:13:06 he didnt threaten openly. thats not the same as not being a threat 11:13:10 but there is a more interesting story to tell on tv with saddam isn't there? 11:13:19 I440r: mexico is a threat too then. 11:13:27 we took texas forcibly remember? 11:13:37 anyway - have you given up on bsd ? 11:13:44 yes for now. 11:13:53 if your in linux now are you messing with isforth ??? :) 11:13:59 yes I am. 11:14:05 cool :) 11:14:07 /usr/local/bin/isforth 11:14:18 thats where its going to be installed to eventually 11:14:25 thats where it is now. 11:14:59 when i have it in a stable condition ill make an install so it installs to there and the sources install to /usr/local/include/isforth or something 11:15:02 im not sure yet 11:15:16 whats keeping it unstable? 11:15:18 i have to add "paths" to isforth 11:15:31 its not unstable in the sense that it falls over alot 11:15:40 its unstable in that its changing alot still 11:15:52 the kernel doesnt change very often so IT is fairly stable 11:16:04 but i still consider the overall package to be in a BETA state 11:16:55 what happens after isforth? 11:17:14 you mean "when isforth is finished" ? 11:17:42 well. the whole reason for coding isforth is so that i can use it to develop forth applications 11:17:50 isforth will never realy be finished 11:18:27 but when its got the assembler and metacompiler etc ill be able to write some REAL applications with it 11:18:35 you are beginning to remind me of Knuth and RMS 11:18:57 like a web browser, irc server, web server, MUD server (requested by futhin :) 11:19:00 what is rms ? 11:19:07 richard m stallman 11:19:18 oh 11:19:28 no... rms is a cook 11:19:32 heh 11:19:35 ya think? 11:19:38 and CM? 11:19:40 and Knuth? 11:19:45 being compared to knuth is a compliment tho heh 11:19:45 also CM. 11:19:52 I440r: he is a kook. 11:19:58 cm is a cook yes - but his is ALSO pure genius 11:20:01 he has run out of excuses to write the rest of his book. 11:20:14 you mean theres MORE ??? 11:20:19 :O 11:20:21 of course! 11:20:37 lol 11:20:40 not only is he adding the remaining volumes..., he is rewriting books 1-3. 11:20:57 writing isforth has been (ans is still being) a great learning experience 11:21:14 it also allows me to fuck arround in linux withouyt going ANYWHERE near a fucking c(rap) compiler 11:21:16 a guru on being asked by his king said it would take 70 years. 11:21:24 either the elephant or the king would be dead by then :D 11:21:52 the task was to teach an elephant to read and write. 11:21:53 whats that about the elephant ? 11:21:55 what elephant 11:21:58 aha 11:22:01 lol 11:22:02 right. 11:22:16 thats the tactic knuth and RMS are using so far. 11:24:33 I440r: are you gonna write an x86 asm in forth? 11:24:52 yes. eventualy 11:25:06 can you write one with the current wordset? 11:25:14 s/wordset/vocabulary ? 11:25:40 * Robert yawns. 11:25:57 yes i could 11:26:07 or... it is possible to do so 11:26:22 i cant say for sure that I PERSONALLY could... but im hoping i can heh 11:26:26 ive already started 11:26:32 check out src/ext/asm.f 11:26:32 surely you can! 11:26:37 you should have that in there 11:27:03 http://groups.google.com/groups?selm=3gmn58%24rbk%40DGS.dgsys.com&output=gplain 11:27:11 that should have all the 486 instructions :D 11:27:56 i want all instructions for 386 to p6 including mmx, 3dnow, sse2 etc 11:28:07 and fpu too - not that ill ever use fpu crap 11:28:29 those things are just fancy shmancy multimedia crap right? 11:29:11 ya 11:30:37 so I440r did you determine what the minimal bootstrap forth was? 11:31:22 for a minimal forth ? 11:31:33 all you need to do is init the stacks and ip and jump to quit 11:32:12 oh. DP has to be initialized too 11:32:30 dont need to init tib because query/expect can do that 11:33:02 lemme see. 11:34:03 isforth has ALOT more to do than that - its BIOS demands it heh 11:34:08 linux being my bios ;) 11:34:18 wha? 11:34:54 take a look at this: http://www.tinyboot.com/fig1.gif 11:34:56 isforth is the operating system. linux is my BIOS :) 11:35:04 now that is nutz. 11:35:24 emacs is the OS, the resident OS is the bios. 11:35:38 see a connection? 11:35:47 erm... shaddap :P 11:35:50 rms vs I440r? 11:35:58 emacs is supposed to be an editor 11:36:02 yeah. 11:36:10 when it was still called teco 11:36:24 I hear teco uses a forth-like language ! 11:36:26 is that true? 11:36:27 isforth is supposed to be a complete development environment - including all libraries, debugger, assembler, compiler, interpreter, etc 11:36:36 whats teco ? 11:36:43 tape edtior and corrector. 11:36:49 the grandpapa of emacs. 11:37:02 openvms boxes still have them. 11:37:13 thats a realy nice flow chart!! 11:37:20 is that accurate? 11:37:28 yes 11:37:31 whose is it ? 11:37:50 umm tinyboot's. 11:37:56 I don't know who owns that though. 11:38:18 ok 11:38:22 ill have to contact them :) 11:38:55 is this what isforth might be said to look like? 11:39:57 its exactly how my inner loop works 11:40:09 look at quit/interpret 11:43:59 see ;uses causes a segfault 11:44:17 see ;uses 11:44:17 : ;uses 11:44:17 param 11:44:17 begin 11:44:17 last @ name> 1+ dup>r 4+ - r> 11:44:18 ! exit [compile] [ Segmentation fault 11:51:27 where are you using it 11:51:34 on my machine. 11:51:41 your trying to define it ? 11:51:49 I am just 'see'ing it. 11:51:53 ohhh 11:51:56 wait 11:52:17 it all started innocently when I wanted to look at quit/interpret 11:52:21 so it does heh 11:52:32 ill fix that :) 11:52:34 thanx :) 11:52:42 or - i MIGHT fix it - i might not be able to atm 11:52:43 did I *gasp* find a bug? 11:53:12 I didn't find it did I? I run into one. 11:54:13 no - i think i know whats doing this :) 11:54:20 there are some things you just cant do heh 11:54:27 like what? 11:54:27 i have to "rethink" parts of "see" 11:54:46 see reads what it does from the source right? 11:54:53 well 11:55:10 SEE assumes that "Begin" and "again/while/etc" are in the same definition 11:55:23 look in src/kernel/compile.1 at ;code 11:55:27 you will see its NOT 11:55:32 ive cheated 11:55:45 the decompile cant handle some cheats heh 12:04:07 I'm out. 12:04:10 <--- school. 12:04:12 --- part: gilbertdeb left #forth 12:12:58 --- join: serg (~serg@h138n2fls31o965.telia.com) joined #forth 12:13:09 hi I440r , hi all 12:13:51 hi :) 12:29:48 --- quit: serg ("leaving") 12:55:27 --- join: mur (ammu@baana-62-165-186-125.phnet.fi) joined #forth 12:56:11 hello 12:56:17 ah 12:56:18 Terve 12:56:19 :) 12:56:45 hi 13:04:39 what' happend? 13:12:53 wow who is xeno ? 13:12:59 thats a new name in here :) 13:13:06 away anyways 13:48:57 --- quit: tathi ("leaving") 13:55:51 --- quit: Herkamire ("leaving") 13:56:25 --- join: XeF4 (~xef4@mitosis163.gprs.suomen2g.fi) joined #forth 13:57:13 --- quit: Speuler (Remote closed the connection) 14:21:03 --- join: wossname (wossname@HSE-QuebecCity-ppp80783.qc.sympatico.ca) joined #forth 15:00:46 --- join: MrReach (~mrreach@209.181.43.190) joined #forth 15:00:56 hihi! 15:01:52 hi :) 15:02:52 I was wondering how much thought you'd given to accessing various system resources 15:03:14 like evironment variables and OS signals 15:03:25 --- quit: skylan (Read error: 104 (Connection reset by peer)) 15:03:46 ill add signal handler creators eventually 15:04:01 you can sort of search the environment already... my "term.f" does so 15:04:07 but its kludgy heh 15:04:16 --- join: skylan (sjh@Riverview14.tbaytel.net) joined #forth 15:04:19 but not too bad methinks 15:04:22 I knew as much, signals are used way too much in unix environ to ignore complete 15:04:29 yes 15:04:51 what would be a good way to access/set environment variiables? 15:05:09 every time I think about it, I get combinatorial explosion of words 15:05:49 oh - i havent added ways to SET environment veriables yet heh 15:06:20 you woud have to search to see if said env var already exists and if you need to INSERT or DELETE characters from its value 15:06:47 isforth has a variable called envp which it sets on startup 15:06:51 nonono ... not interested in internal mechanics 15:06:52 environment pointer 15:07:00 only an elegant h/l interface 15:07:12 well i wouldnt know how to seperate the two :) 15:07:26 simple ... 15:07:56 ask "What functionality do I need, and what is the simplest set of words I could create to implement that functionality" 15:08:30 obviously, one needs to retrieve and set environment variables 15:08:46 retrieval is easier than modification 15:08:49 does one ever need to enumerate them? 15:08:52 i already have that part :) 15:09:01 no idea 15:09:10 not worried about how hard/easy or fast/slow 15:10:35 me either 15:10:42 well, one obvious solution is ... 15:10:43 you actually have a need for this code ? 15:11:01 no, thinking about various OSs and portability 15:11:09 aha :) 15:11:15 ahaa! 15:11:17 (thinking systems level, at this point) 15:11:21 hmmm 15:11:35 but not neccessarily internal operation 15:11:44 well, one obvious solution is ... 15:12:04 ENV@ ( adr1 len1 -- adr2 len2) 15:12:10 paired with ... 15:12:30 ENV! ( adr1 len1 adr2 len2 -- ) 15:12:32 A ( a b -- a+1 b-1 ) 15:12:51 e1337 ( name -- 1337 ) 15:13:55 that's rudimentary enough?? 15:14:03 mur: what's that about? 15:14:18 --- join: I440r_ (~mark4@1Cust14.tnt1.bloomington.in.da.uu.net) joined #forth 15:14:31 heh, I440r, what was the last you saw? 15:14:54 ENV! ( adr1 len1 adr2 len2 -- ) 15:15:04 that's rudimentary enough?? 15:15:05 i have a word similar to env@ 15:15:33 could be just addr1 addr2 to set env var a1 to value a2 15:15:37 both being counted strings 15:15:41 now, are environment variable case sensitive on linux? in windows? 15:15:51 they are in linux 15:15:58 they are usually upper case 15:16:05 ok 15:16:07 set TERM=blah 15:16:12 set EDITOR=joe 15:16:21 Hey MrReach :) 15:16:23 or rather "export" 15:16:26 hiya, Robert 15:17:12 right, but EXPORT EDITOR=joe; export Editor=blah 15:17:18 are seperate entries 15:17:27 yes 15:17:33 export Robert 15:17:42 No. 15:17:43 MrReach nothing 15:17:46 heh ... 15:17:59 export Robert=boot 15:18:00 set Robert=swedish 15:18:40 ok, I440r, you prefer pointers to counted strings? 15:19:09 pointers To counted strings - that way you dont have to pass as many parameters 15:19:23 a1 n1 a2 n2 or nust a1 a2 15:19:32 but ENV@ returns adr and len? 15:19:42 the word your calling can always do "Swap count rot count" hhe 15:19:45 NULL ( -- 0 ) 15:19:48 :D 15:19:59 * mur optimises 15:20:08 : NULL ( -- 0 ) 0 ; 15:20:24 0 CONSTANT NULL 15:20:53 i prefer not to define words like that 15:20:55 I440r_: what about enumeration? 15:20:57 just use false :/ 15:21:04 define enumeration 15:21:20 stepping through the environment variables one by one 15:21:37 to send them to the terminal, for example 15:21:38 the code to do that would be different for every os 15:21:51 or MIGHT be 15:21:58 of course, but the h/l words to do it would be identicle 15:21:59 in linux env vars are ascii z strings 15:22:42 : .env envp begin dup .asciiz scan-to-zero dup c@ 0= until ; 15:22:45 same in windows 15:22:47 or something 15:22:58 erm envp @ i mean heh 15:23:12 and u shud prolly put a cr in there somewhere :) 15:23:19 a table of of asciiz, followed by an empty entry 15:23:22 scan-to-zero 1_ even 15:23:31 1+ grr i cant type! 15:23:31 heh 15:24:37 hmm i think linux also stores env vars in alpha-numerical order 15:24:38 brb 15:24:46 so to insert a new var you would have to use an insertion sort 15:24:50 i THINK 15:26:12 only if they are in some type of order 15:26:19 which they aren't in linux 15:26:51 I don't think linux does I440r 15:26:57 but I could be mistaken 15:27:35 bash sorts them before it prints 15:27:37 hang on :) 15:27:55 * mur hangs from tree! 15:27:56 * mur hangs from tree! 15:27:56 * mur hangs from tree! 15:28:05 quickly i'm getting tired! 15:28:15 ok they arent sorted 15:28:20 phew 15:28:29 "set [enter]" must sort them for display 15:28:31 * MrReach watches mur crash to the ground and wonders if s/he broke a leg 15:28:33 will you now bring me ladders so i can get down :) 15:29:44 I440r_: it doesn't the internal layout to decide what the top=level words should be 15:29:57 I440r_: it doesn't MATTER the internal layout to decide what the top=level words should be 15:30:06 k 15:30:30 --- join: thin (~blahbl@acc-2-11.cariboo.bc.ca) joined #forth 15:30:40 thin! 15:30:43 * I440r_ hides 15:30:44 :) 15:30:45 hola 15:30:46 i'm still leaning towards ENV! ( a1 c1 a2 c2 -- ) because ... 15:30:50 hiya, thin 15:30:51 why are you hiding i440r? :) 15:31:00 --- quit: I440r (Read error: 113 (No route to host)) 15:31:02 i wish you would get kc5 to come back in here! 15:31:02 howdy mrreach :) 15:31:17 a2 c2 might be the result of a substantial algorithym 15:31:48 and to move a string descriptor into a counted string can be a real PITA 15:31:59 heh 15:32:21 copy it to tib+1 and then set the count 15:32:35 i440r_: i talked to him about that, but he said something about #forth being too much arguing :P 15:32:43 lol 15:32:47 thus destroying whatever happens to be in the TIB 15:33:03 or to PAD 15:33:04 mrreach i meant pad not tib heh 15:33:07 besides he's quite busy these days 15:33:16 he's no longer working where he was before 15:33:20 except that PAD is supposed to be guaranteed for application use 15:33:20 and is going to school 15:33:21 etc 15:33:26 or copy it to a dedicated buffer (whats the max size of one env var?) 15:33:40 oh? 15:33:49 so forth shouldnt use pad iteslf ? 15:33:53 I don't know, but the TERMINFO variable is *HUGE* 15:33:58 menta note.... i got some things to fix :) 15:33:59 that is correct 15:34:03 no they arent! 15:34:17 what aren't what? 15:34:28 the total lenght of ALL format strings is 4k i believe 15:34:35 the terminfo variables 15:34:48 ok, well that's well over C@ 15:34:53 you cah have a max of 4k of format strings for all the supported escape sequences 15:35:14 no - i dont think ANY are more than 256 bytes 15:35:19 any single format string that is 15:35:33 no, I meant the evironment variables 15:35:45 I've seem some larger than 256 chars 15:35:51 terminfo env vars ? 15:36:01 yep, for one 15:36:09 the only one i know of is an override for where the termninfo database is located 15:36:30 there are 3 options. /usr/somewhere/terminfo 15:36:36 ~/.terminfo 15:36:45 or wherever $TERMINFO= points to 15:37:01 export TERMINFO=......... 15:37:02 whats the maximum length for a "path/file" ? 15:37:08 with the entire desriptor in it 15:37:26 no - thats not what that env var is for. 15:37:31 not sure 15:37:35 thas a path to where the terminfo database is located 15:37:46 if its not in its default location or a ~/.terminfo 15:37:51 anyway, it's POSSIBLE to have an ENV variable larger than 256 bytes 15:38:12 hmmm 15:38:17 im not sure it is... 15:38:21 tho --- it might be :) 15:38:29 arg! go try 15:38:51 export blah=dslkasdifhewrohferihfdshvdshasdfhdsfhkfsd;hfsdakjhfdsljaslkfdsahlfsdahfsdlkjhfdslfsdjhfdsaljhbcdbequrfhpiurfdsacdskfjhfdslkjfdhldsafhdslfjsafd 15:39:11 k 15:39:31 erm doesnt the ; get fudged by the terminal ? 15:39:38 --- quit: XeF4 (Read error: 110 (Connection timed out)) 15:39:46 ...fhkfsd;hfs... 15:40:21 :) 15:40:32 just ascii characters, goofy 15:40:44 heh 15:40:56 anyway, you proved your point... counted strings wont work 15:41:53 you can still pass pointers to 16bit counted strings, but its still a PITA to build them 15:42:04 ya heh 15:42:21 4 parameters is a bit awkward, granted, but it looks like the best way anyway 15:42:32 best way so far 15:42:45 ya 15:43:30 I'm still wondering about enumeration, though 15:46:42 gn 15:46:54 --- quit: mur ("MURR!") 15:47:30 THEN we can get into signals 15:48:02 ya - thats something i have to deal with for sure 15:48:14 i consider that a higher priority than "setting env vars" 15:52:25 as I understand signals to work ... 15:52:55 you give the OS an address to execute when the signal is received, right? 15:54:03 i think :) 15:55:04 you haven't done any research on it? 15:57:12 ive looked at it a little 15:57:29 what's the URL for the syscall descriptions? 15:58:01 there are links to a few of them from linuxassembly.org 15:58:14 a good one is H.Peter recktenwalds 15:58:19 the guy that did lib4th 15:58:32 yes, I remember 15:58:47 http://www.lxhp.in-berlin.de/ 15:58:48 signals in Widnows are *WAY* different 15:58:51 somewhere in there :) 15:58:55 yea im sure they are :/ 15:59:27 did he come here once? 15:59:36 yes :) 15:59:43 http://www.lxhp.in-berlin.de/lhpsyscal.html 16:01:08 thanks 16:02:01 --- quit: fridge (""Man who sink into womans arms soon have arms in womans sink."") 16:03:16 --- join: fridge (meldrum@zipperii.zip.com.au) joined #forth 16:03:48 P signal *signal(int signum, void (*handler)(int)) 48 16:03:48 setup a signal handler 16:03:48 return void previous value of signal hnd 16:03:49 errors sig_err 16:03:51 source kernel/signal.c 16:05:05 ooh - so you can chain the handlers ? 16:05:09 cool! 16:05:15 there can be 2^32 sifferent signals? 16:05:22 that's not right 16:05:29 i see a prblem with that 16:05:40 process A sets a sig handler for a segv 16:05:50 then proces B does too. 16:06:02 each process has its own handlers 16:06:08 a segv occurs and process B decides its not for it and passes it to the handler for prcess A 16:06:22 but prior to this occurming A unchained itself from the sequence 16:06:23 but you have that problem with threading, and it gets pretty serious 16:07:31 it is generally recommended ... 16:07:59 that when a process receives a signal, it should put an entry into a que and return immediately 16:08:14 ? 16:08:24 could somebody msg ^G at onetom for me? 16:08:31 for example ... which thread should handle the event? 16:08:52 it is *BAD* for any variable to change unexpectedly 16:09:22 no matter how careful you are, you'll get race conditions and deadly embrace 16:09:28 ya 16:10:53 which is why ive not messed with signals or tasks yet :) 16:11:05 threads, you mean? 16:11:12 both 16:11:24 i want to support fork AND clone 16:11:38 that's easy 16:11:56 they start new processes altogether, needn't worry about shared variables 16:12:19 erm no - thats no good for a mud game 16:12:28 person a drops a sword 16:12:47 but person b doesnt know this because of "copy on write" 16:13:53 well, there's a couple ways around this 16:14:08 first is some shared memory among processes 16:14:19 another is to use threads rather than fork 16:14:36 right 16:14:42 threads == clone 16:15:20 I've never seen "clone" in linux docs 16:15:43 clone is linux threads 16:15:48 man 2 clone 16:15:50 its a syscall 16:17:01 ok, you might want to look at the MIT pthread implementation 16:17:31 lol or i might NOT - heh 16:17:34 yet... anyway 16:17:50 CLONE is a linux-ism 16:17:50 might not what? 16:18:02 yes, it is, pthreads is fairly portable 16:18:03 theres no clone syscall in fbsd for instance 16:18:26 i could always add user variables and write a tasker myself 16:18:31 and forget clone and fork :/ 16:18:34 yes and no 16:18:54 if your main thread freezes for some reason, the whole MUD is screwed 16:18:56 or write a forth tasker arround clone 16:19:01 hehe 16:19:04 it is anyway :) 16:19:21 no, just because a user bifs it should mean everyone bombs 16:19:50 biff and shouldn't 16:20:20 heh 16:20:32 is it possible to do a multiuser mud without having to code multitasking into isforth ?? 16:20:51 of course, but not sure how robust it would be 16:21:14 how would it be done 16:21:28 use linux's services? 16:22:16 you'd have a main loop that collects characters from various sockets ... 16:22:26 adds them to a TIB for each user 16:22:52 right 16:22:52 when the CR is received, parse dispatch to the proper command handler 16:23:04 parse and dispatch 16:23:18 tib, key, key?, emit all need to be different for each user 16:23:20 okay 16:23:48 also - each user (assuming they can compile) needs their own DP and HP maybe 16:24:08 i also want to be able to SEAL each mud user into their own vocabulary 16:24:21 each user would have his own block of memory for tib, preferences, objects, etc ... the dispatch simply gets a pointer 16:24:38 that way admins can have a game vocab and an immortal vocab and developers can have ALL vocs available to them 16:24:39 HP??? 16:24:47 nothing wrong with a TIB for every user. i probably would've done it that way if i had coded the forthmud at all heh 16:24:49 head space pointer 16:24:51 HP = here pointer 16:24:55 headers are seperate 16:25:02 no dp hs here 16:25:05 dp is here 16:25:09 hp is hhere 16:25:11 headers 16:25:39 ok 16:26:05 well, using threads is both simpler and more complicated 16:26:33 with a threaded model, you can pretend there only one user ... makes everything *MUCH* easier 16:26:59 but you have to be very careful with resource locking as they interact with their environment 16:27:06 hm 16:28:02 yea. 2 resources. 2 processes each want both. one grabs the first resource, the other grabs the second and they then BOTH sit and wait for the other recource to become free 16:28:03 heh 16:28:07 gotta love it :) 16:28:33 um 16:28:56 yes, there's ways around that 16:29:33 i440r: know of any forth commands that would do that? 16:29:40 s/commands/words 16:29:56 not yet :) 16:29:58 I do ... @ and ! 16:30:23 guy uses an energy point for example ... 16:30:24 hm, when? 16:30:30 ok 16:30:40 ENERGY @ 1- ENERGY ! 16:31:03 and then that gets interrupted in the middle.. hmmm 16:31:07 at the same time, some one casts an energy boost on him 16:31:20 ENERGY @ 35 + ENERGY ! 16:32:29 the the decrementer featch the value, subtracts 1, is interupted by the spell which adds 35 appropriately, then stores the incorrect value when it resumes 16:32:42 so one way around is to make it more discrete and prevent the discrete units of commands from getting interrupted ? 16:32:44 race condition 16:32:59 that's correct ... called resource locking 16:33:26 and we can use a stack! ;) 16:33:34 "I'm the only one allowed to mess with this user's energy variable until I say otherwise" 16:33:46 for keeping track of which user's discrete set of commands gets executed.. 16:34:08 well, another way to do that ... 16:34:22 hmm prolly too complicated actually the stack way.. 16:34:25 is to provide a que of actions for the per-user thread to execute 16:34:47 one entry would be a decrement energy 16:34:58 another entry would be the results of the spell 16:35:13 yeah.. 16:35:33 because the thread only processes one que entry at a time, there's no risk of them interrupting each other 16:35:47 "kill" would have to break down into smaller uninteruptable actions (since it runs for more than a few seconds) 16:36:06 *THEN* you only need to do the resource locking when adding/subtracting stuff from the que ... and that can be shared code among all users 16:36:07 have a single task taht goes thru and executes the commands from each users tib one at a time 16:36:14 i think that would introduce latency 16:36:25 im sure there would be a bette way to do it 16:36:30 more latency than multithreading? 16:36:46 what is the difference between multithreading and multitasking anyways? or is it arbitrary for our conversations here 16:36:55 nevermind 16:36:57 in a sigle-thread environment, it's not an issue 16:36:57 i know the difference 16:37:05 no. you would still have the same delay but the delay in one method would be all at the same time and in the other it would be spread out :) 16:37:27 tasking is a misnomer, really 16:37:31 ya 16:37:42 i440r: so what's your magical less-latency method? 16:37:54 the big difference is between a multi-thread application and a multi-process application 16:37:56 it wouldnt be less 16:38:01 it would be less noticable 16:38:19 multi-process application has separate memory space for EACH process 16:38:26 multi-threading is same memory space for each thread 16:38:36 that's my assumption.. 16:38:39 also, with a single thread, if it freezes, the whole MUD goes down, not just that user 16:38:51 thin, that's correct 16:39:09 i440r: less noticeable ? 16:39:18 oh, so you are talking about spikes in latency 16:39:27 TASK is really a forth concept, similar to threading, but without the protection of execution times 16:39:28 thin are you familiar with the "eating philosophers problem" ? 16:39:37 i440r: nope 16:39:54 you have a bunch of philosophers sitting a table 16:40:01 philosophers are too fatty nowadays 16:40:03 each has a plate of sphagettin in front of him 16:40:15 the table is circuler 16:40:20 between each plate is a fork 16:40:31 in order to eat a philosopher has to be able to use BOTH forks 16:40:53 a philosopher wants to spend 50% of his time thinking and 50% of his time eating 16:41:19 hungry chip 16:41:39 think of the philosophers as tasks and the forks as resources 16:41:48 eating is the same as "running the task: 16:42:04 thinking is the same as "sleeping the task" 16:42:40 k.. 16:42:53 solving this however does not mean you can write a multi tasker, 16:43:10 computer tasks have a hell of alot more resources to juggle :) 16:43:11 no, the multitasker is a tool to solve that type of problem 16:43:19 yes 16:43:38 the difference between a task and a thread appears to be ... 16:43:52 that a thread is guaranteed execution time 16:44:11 eh? 16:44:15 even if it immediately passes back to the OS because it's waiting on something 16:44:31 threads are preemptive 16:44:36 tasks are cooperative 16:44:50 both are pre-emptive 16:44:57 linux HAS to be able to preempt you 16:45:11 it absolutely MUST run certain things at regular intervals or its going to die 16:45:17 a task must call PAUSE (or equivelent) in order for other tasks to run 16:45:22 which is why linux is traditionally no good for real time stuff 16:45:42 right, but I'm talking about preemption within an application itself 16:45:50 not so or someone could write a task that never did and fubar your whole system 16:46:00 that's right 16:46:23 hm? how does linux handle the task that doesn't call PAUSE? 16:46:28 I was trying to show the difference between a forth task and an OS thread 16:46:45 PAUSE is not used in linux ... per se 16:47:02 oh ok heh 16:47:09 Linux says, "You're done for now, like it or not, you'll get to run later" 16:47:18 can be pre-emptive arround "next" 16:47:27 ok 16:47:29 or can use "pause" (a patchable noop) 16:48:19 in linux or windows, I usually set PAUSE to use the system call that relenguishes the rest of the timeslice, whatever that happens to be 16:49:07 which means that one of the other threads in my app might get to run next, or another app altogether 16:50:19 it's MUCH harder to program for premptive threads than for cooparitive blocks 16:50:40 with cooperative, you know nothing going to muck with your variables unexpectedly 16:51:07 one task starts : blah ..... and gets pre-empted 16:51:15 the second one starts : foo .... 16:51:16 heh 16:51:22 but with cooperative, if a task freezes for some reason, nobody ever gets to run again 16:54:28 --- join: XeF4 (~xef4@plasmid9.gprs.suomen2g.fi) joined #forth 16:54:39 and OS signals complicate matters even more 16:55:08 hihi, XeF4 16:56:06 well i gotta go 16:56:16 be well, thin 16:56:50 wifey will be home soon, and then I'll have to go as well 16:56:52 you too 16:56:57 bye all 16:57:00 --- quit: thin ("laters") 16:58:10 I440r_: for a MUD, I'd recommend one thread per socket connection, and all communication between threads be done by ques or pipes 16:58:20 thats what im planning 16:58:30 but i think i need to implement some form of "user variables" too 16:58:38 and one of these needs to be "context" 16:58:53 have the main thread do no more than accept sockets, start threads, and watchdog for dead threads 16:58:55 i want to be able to seal each type of user into specific vocabularies 16:59:18 need to implement timers too 16:59:22 not looked into that either 16:59:27 related to signals i thinl 16:59:28 think 16:59:33 correct, the whole point of threading is so that users can have their own contexts 17:00:02 i mean "context" in a forth vocabulary sense heh 17:00:22 yes, I meant it in a bit broader sense 17:00:36 you mean it in a task sense 17:00:42 own personal vocab, own user variables, etc 17:00:47 yes 17:01:42 be SURE to wrap ALLOCATE RESIZE and FREE so that a users memory gets returned when he quits or dies 17:01:58 i didnt code "resize" yet 17:02:10 but i got allocate and free written. 17:02:18 didnt i show you my allocator ? 17:02:25 yep 17:02:27 k 17:02:28 heh 17:02:30 thunked i had 17:02:49 we argued about whether we should just let the OS handle it 17:03:27 definatly not. not in lionux 17:03:28 linux 17:03:35 why not? 17:03:36 4k granularity is not acceptable 17:03:47 heh 17:03:51 :/ 17:04:31 i dont think we argued about it tho 17:05:46 I take it then that a thread allocates a sizable block of mem (9-16k or so) when it starts? 17:06:21 it doesnt do anything yet - im not sure how im going to do it 17:08:06 you might have the main thread handle it, and add a "thread id" field to each allocation segment 17:08:40 so that when a thread dies the allocator can return all its memory blocks to the heap 17:09:19 that way, with one huge block, you can tune to the physical memory in the computer 17:09:45 maybe 32MB in a 64MB machine 17:10:00 well - your thinking along the lines of a general purpose tasker in forth - where each task can allocate or deallocate as it sees fit 17:10:26 hmm - that raises problems too 17:11:00 yes, when a user picks up an object, it's gonna need a tructure to describe it, and be linked in a chain of similar structures 17:11:19 right. but the structure wont be allocated in that users space 17:11:44 I should say "creates an object" ... picking up an object simply removies it from one list and puts it in another list 17:11:52 that user will have a structure. and one element of HIS strucuture would be a pointer to a linked list of items he has 17:12:03 but those items will be allocated in GAME space 17:12:21 the object would be linked to the map location 17:12:21 * MrReach nods contemplatively 17:12:26 user enters, gets it 17:12:43 the data in the object structure doesnt get moved to a new object structure 17:12:48 right, unlinked from room, linked to user 17:12:49 you just link said object to the user 17:12:53 yes 17:13:03 so the object wont be allocated in that users memory space 17:13:13 and object creation is probably a rare thing 17:13:23 maybe 17:13:24 relatively rare 17:13:37 users could create an object by casting a spell 17:13:58 wifey's home bbiab 17:14:13 k 17:42:43 --- join: segher (segher@62.234.210.190) joined #forth 17:44:07 hi segher 17:47:26 hi there 17:47:37 been a while since i dropped in here 17:49:02 ya :) 17:50:20 hey, i wonder what this VOCABULARY stuff is all about 17:50:33 i know what word-lists are, but what is a vocabulary? 17:50:54 a "word list" is a ansified GAY name for a vocabulary 17:51:53 ah, so it's just the same? 17:51:54 --- quit: XeF4 (Read error: 60 (Operation timed out)) 17:52:19 --- join: XeF4 (~xef4@guanine138.gprs.suomen2g.fi) joined #forth 17:52:34 its a vocabulary. forget ans, ans is dumb. its NOT forth :\ 17:54:40 well, i _have_ to use ANS, as i'm implementing Open Firmware. 17:54:59 i don't _have_ to use word-list, though :) 17:55:10 just the core stuff 17:55:16 heh 17:55:37 but i can just as well implement most of ans, as compatibility only if that's better 17:55:53 what forth introduced the concept of vocabularies? 17:56:15 i hate words like "postpone" and "evaluate" 17:56:18 hmmm im not sure 17:56:28 they been arround since the 79 std for sure... 17:56:48 what's wrong with EVALUATE ? 17:57:13 ah! where can i get a copy of the 79, 83, fig, whatever standards? 17:57:49 : foo s" blay blah" evaluate ; immediate 17:57:53 that should be.... 17:57:58 : foo blah blah ; 17:58:18 it defers till execution time that which should have been done at COMPILE time 17:58:44 sure 17:58:51 but EVAL is good for _some_ things 17:59:25 esp. if combined with CATCH 18:00:19 no 18:00:39 you show me ANY use of the word evaluate and ill show you a better one that does NOT use it 18:00:43 guaranteed 18:00:51 sure 18:00:56 try me 18:01:08 say i have a driver that needs another driver, say, it needs a serial port driver 18:01:23 but it doesn't know or care _which_ serial driver 18:01:49 heh 18:02:01 it can do just " write-serial" catch and be happy 18:02:24 well - catch and throw are deficient 18:02:33 very poor if you ask me 18:02:51 i like-em. i need-em a lot. 18:03:13 hang on 18:03:19 OF is a lot like an OS -- and you really want exception handling there. 18:05:53 ya but catch/throw sux heh 18:11:40 I'm back ... miss me terribly??? 18:11:46 catch/throw rocks 18:13:13 no :/ === erm i mean catch/throw doesnt rock - sure i missed you 18:13:14 hyeh 18:13:21 --- quit: wossname ("^___^ :D:D:D:D: ~~~ _!$__") 18:13:32 what about those older standards? are they available somewhere? 18:14:11 guess what? I'm thinking about muds 18:14:11 hang on fone... 18:14:27 damn you for throwing me on a wild-ass tangent 18:14:52 cool :) 18:14:58 seg: there is a minor difference between a vocabulary and a word-list 18:15:12 back 18:15:19 word lists can be anywhere 18:15:22 a word list is identified by a "wid" 18:15:35 a stack-wide "worlist identifier" 18:15:39 yes 18:15:41 a stack-wide "wordlist identifier" 18:15:49 and this is usefull why ? 18:15:51 exactly 18:16:00 seems like a new "feature-bloat" to me... 18:16:06 featureitis 18:16:08 so what do vocabularies use instead? 18:16:28 wordlists were intended to be a tool with with to build vocabulary tools with, because there's so many types of vocabulary implementations 18:16:43 a vocabulary is a word that an array of threads that when executes adds its own address to context 18:16:47 what else do you need 18:16:47 vocabs use the name of the vocab to identify it 18:17:05 so instead of standardizing on an existing methid they invented a new one 18:17:16 right 18:17:22 again. the ans team show their cowardly colours by refusing to take a stance one way or the other :/ 18:17:35 lol 18:17:37 : VOCABULARY ( -- ) create wordlist , does> @ to-current ; 18:17:38 pfrt 18:17:50 i'm not interested in politics wrt Forth :) 18:18:17 anyways, I was thinking about MUDs 18:18:26 well im not being political, i just see NO reason for feature bloat just so as to not break anyone 18:18:36 ya... muds :) 18:18:47 is the gforth VOCABULARY stuff any good? or what other is better? i'm looking for implementation advice/ideas here :) 18:18:49 what type of client did you expect to use, I4? 18:18:52 im thinking of using block files for all the map data... isforths blocks can be any size 18:19:15 mrreach im not sure... most muds these days use compressiojn 18:19:24 seg, gforth is a bit complex, try eforth 18:19:29 tiny and simple 18:19:58 sounds good 18:20:05 that is supported by most clients 18:20:06 where do i find eforth? 18:20:07 I'm thinking of an REALLY sophisticated MUD design 18:20:11 isforths vocab stuff is non std 18:20:17 i dont use "also" <- DUMB 18:20:28 try taygeta.com 18:20:35 so am i 18:20:39 it is the authoritative repository for forth stuff 18:20:45 2000+ users at the same time 18:21:06 I440r_: I was thinking VR with Everquest type quality 18:21:28 erm - no - i do not want a graphical mud 18:21:34 3d rendering, surround sound, voice, the whole 9 yards 18:21:34 other than pure ascii text 18:21:49 and those games are about as playable as doom 18:21:56 ok, doom, then 18:22:12 excellent graphics and sound, lotsa fun 18:22:25 i want a game where the players have to use their immaginations. like the difference between a book and the movie 18:22:30 movies lose alot in the translation 18:22:34 (I've never played any of these games, incidently) 18:23:11 i played one for a while but they started messing with the game so that the only people who could get anywhere with it were the ones who had been there for 3 or 4 years 18:23:18 well, the neat part about it is that users can showcase their own creativity with the objects they create 18:23:24 muds are an english invention 18:23:38 i think it was the university of coventry or something 18:23:51 kinda like multi player zork games 18:24:12 the original had a famous monster in it that NOBODY could kill 18:24:15 it was a wolf 18:24:15 the only real mud is dikumud :) 18:24:22 everyone was terrified of the wolf 18:24:33 if it saw you it would immediatly attack and kill you 18:24:40 and when you die you lose half your experience 18:24:55 if you kill another player you get + half his experience to your own 18:24:56 * MrReach sighs, "I only have about half an hour here." 18:25:15 some girl solved the wolf problem... 18:25:18 "walk wolf" 18:25:25 --- quit: XeF4 (Read error: 110 (Connection timed out)) 18:25:27 as if it was a doggie and it likes you :) 18:25:49 hehe 18:25:54 anyway, i have littel interest at the moment for a full blown 3d graphical mud 18:26:02 users might showcase their own creativity with the objects they create 18:26:19 but THATs a challenge 18:26:45 not the piddly-ass text stuff that's already been done, at best you could create a varient 18:26:49 im thinking of a text based mud where users are sealed in a game vocab 18:26:59 immortals (like opers) are sealed into an immortal vocab 18:27:04 and developers arent sealed at all 18:27:16 : help words ; 18:27:41 ALIAS WORDS HELP 18:27:44 erm well - it would list all words if not given something to parse 18:27:51 but THATs a challenge 18:27:51 not the piddly-ass text stuff that's already been done, at best you could create a varient 18:27:59 erm ' foo alias blah not alias blah foo :/ 18:28:00 heh 18:28:18 tried and true. 18:28:22 NOT old hat 18:28:47 why not *REALLY* showcase forth? 18:29:24 sophists and their sophisticated designs 18:29:29 that's what i have to say about all of that. 18:29:44 i think this would 18:29:53 who says the sofware has to be sophisticated? 18:30:07 it just has to LOOK sophisticated 18:31:34 heh 18:31:52 how would you transmit all those graphical representations 18:32:08 personally, I would objectify them 18:32:12 you would have to have a dedicated client for the mud game and all the gfx would be on the client, not the server 18:32:28 all you would need to do is transmit the "scene" 18:32:35 "this is a generic door ... these are the things you can do it ... how it behaves" 18:32:36 and the client would then draw all the gfx 18:32:43 right 18:33:02 I would put even more responsibility on the client 18:33:19 just let the serv hold what objects are where 18:33:33 right 18:33:44 let it be the clients job to render them 18:33:51 that would work but then you have th problem of coding both the client and the server 18:33:59 and my forth only works in linux on an x86 18:34:07 only people running x86 linux's can play 18:34:09 only got 640x480 one meg card? it'll run fine, but looks primitive 18:34:10 i gotta go 18:34:26 need to log out - chat more tomorrow 18:34:29 ok, I440r_ 18:34:31 be well 18:34:40 I have to go in 25 mins, anyway 18:38:05 --- part: MrReach left #forth 18:42:58 --- quit: I440r_ (Read error: 113 (No route to host)) 19:02:33 --- quit: segher (Read error: 104 (Connection reset by peer)) 19:13:16 --- quit: Klaw (Read error: 104 (Connection reset by peer)) 19:24:47 --- join: gilbertdeb (~gilbert@fl-nked-ubr2-c3a-29.dad.adelphia.net) joined #forth 19:44:18 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 20:01:02 --- quit: fridge ("http://lice.codehack.com") 20:30:51 --- join: krish (KRISHNAKUM@61.1.220.223) joined #forth 20:30:53 --- join: KRISHNA (~KRISHNA@61.1.220.223) joined #forth 20:31:01 --- part: krish left #forth 20:31:34 hi all ! 20:36:46 . 20:42:52 --- join: fridge (meldrum@zipperii.zip.com.au) joined #forth 21:19:59 --- join: Klaw (anonymouse@ip68-4-77-247.oc.oc.cox.net) joined #forth 21:23:21 --- quit: gilbertdeb (""Monk has left the building"") 21:23:41 --- quit: KRISHNA ("Client Exiting") 22:33:09 has anyone got a copy of xcolorforth? 23:19:16 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 23:59:59 --- log: ended forth/03.03.20