00:00:00 --- log: started forth/02.03.09 00:20:31 --- join: Soap` (~flop@210-55-149-150.dialup.xtra.co.nz) joined #forth 00:29:12 hi 03:20:00 --- join: rob_ert (~robert@h173n2fls33o898.telia.com) joined #forth 03:55:02 --- quit: Soap` ("sleep") 06:13:20 --- join: Etaoin (~david@ljk2-11.sat.net) joined #forth 06:14:14 armed with a few hours of sleep, I return to do battle with forth 06:30:03 --- join: aum (~david@210.55.76.154) joined #forth 06:30:13 hi 06:31:25 hi there 07:09:25 hi 07:09:46 aum, do u have some time 2 discuss a problem? 07:09:51 a theroetical 1 07:10:15 Etaoin: hi 07:10:34 how does yr vactor stuff advances? 07:10:49 imean vector :) 07:11:26 going okay 07:11:32 i wanted 2 mention yesterday 07:11:38 I just woke up a few minutes ago 07:11:42 onetom: i have a few minutes ... go ahead 07:11:47 that u shouldnt juggle w object pointers 07:11:56 Etaoin: hold on 07:12:19 onetom: why not? 07:12:20 aum: sprintf("[%02d-%02d-%02d %02d-%02d] asd: %s (%4x, '%c')" 07:12:40 aum: {{ year month day hour min error param char }} formatstring dest sprintf 07:13:04 aum: id like 2 make sg like that 07:13:42 aum: do u know about any implementation of such an sprintf word? 07:13:58 no sorry 07:14:07 Etaoin: because its a bit hard 2 track the code that way 07:14:18 aum: ok, 1 more question 07:14:19 i've implemented my own printf/sprintf/fprintf words 07:14:36 oh.. in netforth? 07:14:42 y 07:15:04 u mean *printf LIKE words 07:15:11 yes 07:15:14 or exactly them 07:15:27 in forth, i gotta put an arg count after them 07:15:46 and do your words use formatstring then? 07:16:00 eg $" %d-%d-%d" year month day 3 printf 07:16:06 yes - formatstring 07:16:13 ah, thats great 07:16:30 : {{ sp @ depth ! ; 07:16:45 : }} sp @ depth @ - ; 07:17:11 i use extensively this construct in my 07:17:20 building controll sw 07:18:10 tho, its not nestable, still very convenient & useful 07:18:26 what's sp again? 07:18:32 aum: ok, thx. i will look them up in netforth 07:18:39 stack pointer 07:18:59 well, i can't afford to allow a word to monopolise the stack 07:19:04 oh, sorry 07:19:09 np 07:19:13 i mean 07:19:30 : {{ depth {depth} ! ; 07:19:44 : }} depth {depth} @ - ; 07:19:48 variable {depth} 07:20:29 & u r right, its a really unforthish solution using the stack to pass massive amount of data 07:21:16 i start forth as "gforth -d 30000", which is well... khm.. :) 07:21:38 but thats an other story 07:21:38 well, forth is a language that totally evades standardisation 07:21:43 thx 4 your help 07:21:47 np 07:21:57 there's an idea if you're interested 07:22:16 if you feel like hacking, you could create words for 'stack frames' 07:22:35 hm... stack frames? 07:22:47 never heard of this term b4 07:22:49 yes - stacks on top of stacks 07:23:06 the term 'stack frame' comes from C and other compiled languages 07:23:07 sounds exciting :) 07:23:24 ah, yes! now i know 07:23:43 one way you could do it is... 07:23:47 some locals implementaion uses stack frames 07:23:52 push 'markers' onto the stack 07:24:21 and have another 'depth' word which simply tells you the number of values pushed since the last frame marker 07:24:31 aha, c 07:24:54 could u advice some url, where i can read more about it? 07:24:55 so create a word 'mark', which pushes a marker onto the stack 07:25:13 onetom: best way to learn is to compile C progs and look at the assembler 07:25:29 here's a quick implementation: 07:25:41 i did it - tho w pascal prg - a lot in the dos era 07:25:58 sp variable pmark 07:27:16 : mark pmark @ sp - dup pmark ! ; 07:27:33 do you know if stack goes up or down in forth? 07:27:43 sure 07:28:01 last night i put together a basic 4th processor 07:28:08 written in pure 4th 07:29:07 http://213.163.52.70/~tom/kernel.fs 07:29:31 i made it 4 educational purposes 07:29:45 and to help me to decide a debate 07:30:11 futhin states there is no need of any support from 07:30:33 the side of the 4th kernel to realize preemtive multitasking 07:31:10 depends on how well your code allows for multitasking 07:31:15 oh, ive just noticed, that was a question :) 07:31:17 whether it hogs processor 07:31:41 usually stacks grow down 07:31:52 right... 07:32:24 do u know what animal grows down? 07:32:29 eg. a duck ;) 07:32:41 : mark pmark @ sp pmark ! ; 07:33:46 i don't know how to write to sp 07:33:55 so you'll have to write your own unmark word 07:33:59 anyway... 07:34:33 : mdepth pmark @ sp - cells ; 07:34:34 writing sp is implementation dependant i guess 07:34:56 i dont know any recomendations about it 07:35:20 so the idea of stack frames is to allow you to deal with the stack in terms of discrete lumps, each lump with an arbitrary number of values 07:36:02 so stack-hogging words like {{ and }} can be changed to deal in stack frames instead - they won't have to disturb values which aren't their business 07:37:06 hmm.. its not quite clear what r u tryin 2 mention... 07:37:29 but i'll analyze it deeper 07:39:57 : mdepth pmark @ sp - cells / ; 07:40:42 here's an analogy for explaining... 07:41:02 instead of a huge stack of white sheets of paper, 07:41:25 insert blue sheets in at certain points to divide up the stack into meaningful sections 07:41:46 or another option - run multiple virtual machines 07:42:05 r these blue sheets make up a linked list? 07:42:18 yes 07:42:21 imean, in your previous implementation? 07:42:23 hooray. I have code that works again 07:42:41 Etaoin: update the url then! 07:42:54 let me delete all of my old defintions 07:43:03 Etaoin: imean, the file pointed by the url 07:44:03 http://braznet.com/david/files/mini-oof.fs 07:44:05 it's modified 07:44:11 http://braznet.com/david/files/oovect.fs 07:44:30 aum: aaaaahaaa! managed 2 understand that short example finally. im alwasy a bit slow after meal :))) 07:46:24 Etaoin: ah, u made some dynamic obj creation extension... 07:47:05 I got tired of :noname blah blah ; classname defines methodname 07:47:19 the name was always at the end 07:48:46 Etaoin: ive already was about 2 ask that why had u swapped the method and attrib defs? 07:49:33 onetom: I don't understand. 07:49:41 was that a question? 07:49:42 yeah, that :noname syntax also made me nervous :) 07:50:08 --- quit: aum () 07:50:08 :defmethod uses :noname, though 07:50:18 u have swapped the order of vars & methods. why? 07:50:34 object class 07:50:37 cell var vect-len 07:50:38 cell var vect-first-element 07:50:42 method init 07:50:42 method destroy 07:50:42 method print 07:50:42 method copy 07:50:42 method element@ 07:50:43 method 2element@ 07:50:45 method map 07:50:47 method norm 07:50:51 end-class vector 07:50:58 its more conventional in this order, c? 07:51:04 I don't think the order matters 07:51:09 --- join: futhin (~thin@h24-64-175-123.cg.shawcable.net) joined #forth 07:51:14 hi ;) 07:51:16 sure 07:51:24 sure it doesnt matter 07:51:46 but its a defacto rule 07:52:45 good morning all :) 07:53:01 nah, lets discuss the end of your code... 07:53:11 futhin: what time is that overthere? 07:53:32 8:54 am here 07:53:49 Etaoin: i will give u an example in a moment 07:54:55 vector instantiate constant v1 07:54:55 3 v1 init 07:54:55 v1 copy v1 vect-add-copy 07:54:55 v1 print 07:55:04 futhin: 16:54 here 07:55:27 onetom: wow :P 07:55:37 futhin: tho, ive just waken up 3hrs b4 :) 07:56:09 i normally get up at 7 am, but i stayed up later than usual last night 07:56:22 futhin: why? ;) 07:56:42 futhin: ive read u back, anyway 07:56:44 morning is leet :P 07:57:01 read me back ? 07:57:14 read back what uve written 07:57:56 yeah 07:58:00 so, now i know uve gotten a grap of my 4th-in-4th idea 07:58:15 a grasp.. yup 07:58:19 and also know that u like Etaoins code too :) 07:58:25 hehe :) 07:58:38 :)) grasp, yes - typo 08:00:02 and do u understand what support am i talkin about by the means of 4th kernel? 08:00:15 support ? 08:00:19 s/supp/multitaskin supp/ 08:00:57 the virtual 4th processor 08:01:13 (what is realized by NEXT & RET) 08:01:44 should b written 2 b able to do context switching 08:02:31 or infact, probably the MAIN loop should do the context switching 08:03:11 somehow i doubt you need to create a kernel just to build context switching :) 08:03:54 i know u doubt it :) but then tell me how would u solve this problem 08:04:42 and sure u dont have to bulid an own kernel (fõleg not in forth) 08:04:59 u should modify the forth implementation u use 08:06:06 fõleg=especially 08:07:38 surely a threading program can be written on top of forth, and then you run other programs inside it... 08:08:50 yes, though it doesnt have too much advantage, but... 08:09:06 i will explain that but l8r 08:09:10 heh :) 08:09:23 now, im just happy ive understand what have i done 08:09:55 s/ive/uve/ -- shit :) 08:10:16 and also s/understand/understood 08:10:48 (eeh, watta beginner am i sometimes :) 08:11:02 (or always? :))) 08:11:34 heh :) 08:12:05 BUT: such a 4th-in-4th (4in4 (c) later on) implementaion 08:12:09 is good 4: 08:12:53 - experimenting w various kernel extensions 08:13:37 - helps prototyping of various dictionary structures 08:14:13 onetom: isn't it fun that you just start explaining 4th in 4th to me and then voila, you've coded up one! 08:14:34 - u can easily debug while prototyping your low-level ideas 08:14:53 --- join: I440r (~mark4@1Cust145.tnt2.bloomington.in.da.uu.net) joined #forth 08:15:05 - u can easily extend this 4th sys w a profiler 08:15:17 are there publically available forth profilers? 08:15:37 futhin: ~:))) 08:15:39 hola i440r, how's the pr0n bot doing? 08:16:06 heh 08:16:09 Etaoin: but u can write your owns easily in 4th 08:16:10 no bot sex for you! 08:17:08 lies! you'll give me full unrestricted access to coding on the bot, and the first thing i'll implement is : SEX ; 08:17:10 - and what could the best of all: u can have a standard forth implementation 08:17:30 I just uploaded a slightly updated version if anybody cares 08:17:36 what could serve as a common denominator 08:17:50 that being good depends on WHAT standard you are talking about 08:17:51 and now, I'm off for a while 08:17:56 ans is NOT good imho 08:17:57 --- quit: Etaoin ("raise KeyError, "I'll bet that's the last time you lock them in the car..."") 08:17:58 when discussing low-level realated 4th problems 08:20:57 I440r: aha, u r right. we could implement the various well known "standards" 08:21:24 i just wrote an itterative fibonaccie function in isforth 08:21:45 this way we gain HIGHLY portable reference source codes 08:21:45 it takes 6 minutes to calculate the 40th fibonacci number using the recursive method 08:22:10 it takes 1 minute 12 seconds to do 9 million itterations of the same using my itterative method 08:22:10 ??? 6mins? 08:22:27 yes 08:22:27 the 40th? 08:22:36 the recursive methoed is very slow on isforth 08:22:39 40 millionth? 08:22:42 no 08:22:44 40th 08:22:49 errr 08:22:51 40 fib 08:22:54 takes 6 minutes 08:23:07 9000000 0 do 40 fib2 loop 08:23:12 takes 1 minute 12 sseconds 08:23:40 who could it b sooo slow? 08:23:46 : fib2 ( n1 --- fib ) 0 1 rot 0 do tuck + loop nip ; 08:24:05 i dunno 08:24:16 show me the recursive 1 08:24:40 : fib dup 1 > if dup 1- fib swap 2- fib + then ; 08:25:12 cripple the recursive ability! prevent morons from using recursive! bwahahaha 08:25:32 lolll 08:25:34 futhin i dont need to cripple it - any recursive function is already crippled 08:25:39 yup 08:25:48 but it's much more obvious in this case ;) 08:25:49 but. i allow anything in isforth 08:26:21 i wrote an itterative region flood fill routine 15 years ago for mark smiley (of fpc fame) 08:26:23 that's weird though.. 6 minutes just to do _one_ iteration of the recursive fib !? 08:26:56 yes but it nests 41 times TWICE in order to calculate the result 08:27:03 its nesting and unnesting thats slow in isforth 08:27:07 I440r: but there is nothing wrong w the recursive version... it calculates a lot more 08:27:35 onetom my itterative methid will calculate exactly the same result in a billionth of the time :P 08:27:39 given the same input 08:28:41 sure but have u counted how man times has fib called? 08:29:07 onetom on the recursive method ? 08:29:12 sure 08:29:16 i440r: the itterative region flood fill routine? how much faster than the recursive version? 08:29:27 let me add a counter - off> counter and incr> counter every time its called 08:29:31 futhin ALOT 08:30:04 ok, meanwhile i'll try to give u and apporx about the result 08:30:08 * onetom thingik.... 08:30:14 * onetom thinkin.... 08:31:14 an=a(n-1)+a(n-2)... 08:32:35 * futhin is afk for a bit 08:32:39 im running 40 fib now on recursive method 08:33:03 u could give it a smaller number... 08:33:27 eg. just try it w 3 fib 4 fib 5 fib ... 08:33:28 wanted to knnow how many times it nested for 40 tho 08:33:44 k, but it lasts f.kin long 08:33:54 hehe 08:34:01 only SIX minutes :P 08:34:17 put it into background & 08:34:28 start another isforth ;) 08:34:56 heh 08:35:05 isforth will eventually fork processes 08:35:15 may even do threading (in the linux sense) 08:36:07 u c, i u run such example code like this fib word 08:36:13 on top of a 4in4 08:36:35 that u can platform independent results about 08:36:58 how fast is it, regardless of the speed of the machine u 08:37:06 run it on 08:37:21 (3 more mins.... ;) 08:37:42 no i messed up 08:37:56 inside fib i put off> counter instead of incr> counter heh 08:38:01 had to stop it and restart :P 08:38:11 6 fib itterates 15 times 08:38:12 noooo 08:38:15 erm 40 times 08:38:18 wait! 08:38:24 5 fib itterates 15 times 08:38:34 5 fib = 40 netst 08:38:37 aha 08:38:39 argh im going insane 08:38:44 5 fib itterates 15 times 08:38:52 6 fib itterates 40 times 08:38:56 & what about 7 8 9 fbi fbi fbi? 08:38:58 40 fib does... 08:39:05 dunno its doing 40 now :) 08:39:10 imean fib, certainly 08:39:19 but its funnier in this form ;) 08:39:41 ah, how greedy u r :) 08:42:47 how many times do you think it will nest for the recursive 40 fib ? 08:42:59 dunno :((( 08:42:59 closest guess ?? :) 08:43:19 ~10^7 08:43:27 or even much more 08:43:27 20 * 15 08:43:40 what? 08:43:58 onetom do u code x86 asm ? 08:44:12 for many yrs i dont 08:44:32 i did it last time ~10yrs b4 08:44:44 have u looked at isforths kernel source ? 08:44:59 not much, but 08:45:11 certainly i ran through it 08:45:21 looking for multitasking support ;) 08:45:29 it will be there 08:45:38 all i have to do is add a fork syscall 08:45:45 and it will be multitasking 08:45:49 and ive also chked yr syscall stuff, remember? 08:46:32 but when im talkin bout mt (short 4 multitaskin) 08:46:56 ok 08:46:58 i think of the ability to run 4th words in paralel 08:46:59 i got a result 08:47:06 nah?! 08:47:07 331160281 08:47:17 it recursed that many times 08:47:20 thats alot! 08:47:27 ~10^9 08:47:41 thats three hundred and thirty one MILLION ++ times! 08:47:42 i wasnt too far away :) 08:48:23 so, your is forth is absolutely not that baaad 08:48:35 just your fib implementation :P 08:48:48 other forths run the recursive method in a minute or less 08:48:53 anyway, how much memory has u allocated 4 it? 08:48:54 run it on gforth 08:49:02 isforth? 08:49:07 or the stack 08:49:13 didnt the os swap a lot? 08:49:45 it doesnt make much sense to run it on gforth, coz 08:49:56 i have a different speed machine... 08:50:09 how fast is your box ? 08:50:11 thats what i was talkin bout... 08:50:26 cant remember, hold on checkin 08:50:37 tom@ex:~> cat /proc/cpuinfo 08:50:44 model name : Celeron (Mendocino) 08:50:45 stepping : 5 08:50:45 cpu MHz : 501.145 08:50:45 cache size : 128 KB 08:50:46 bogomips : 999.42 08:51:13 mines a 550 k6/3 08:51:28 bogomips? 08:51:37 1097.72 :) 08:51:41 cat /proc/cpuinfo 08:51:46 quite close enough 08:51:52 cache 128k 08:51:54 then show me the code 08:52:12 for the recursive ? 08:52:13 hey, dont u have a mouse 2 paste? 08:52:17 sure 08:52:57 : fib1 dup 1 > if dup 1- recurse swap 2- recurse + then ; 08:53:31 : fib2 0 1 rot 1 do tuck + loop nip ; 08:54:11 tom@ex:~/prj/forth/isforth> time gforth -e ': fib1 dup 1 > if dup 1- recurse swap 2 - recurse + then ; 40 fib1 bye' 08:54:26 its already runnin 08:55:44 didnt you need to escale the > ? 08:55:58 ...fib1 dup 1 \> if.... 08:56:01 ? 09:05:28 how long ? 09:07:50 real 1m25.688s 09:07:50 user 1m21.050s 09:07:50 sys 0m0.080s 09:07:55 real 1m25.688s 09:07:55 user 1m21.050s 09:07:55 sys 0m0.080s 09:08:03 real 1m25.688s 09:08:03 user 1m21.050s 09:08:03 sys 0m0.080s 09:08:25 oops, sorry 4 the tripple paste 09:08:29 heh 09:08:47 erm i just ran it your way 09:08:51 from time 09:09:02 and it finished in 8 mins 11 secs real 09:09:06 7 mins 44 user 09:09:11 what does that mean ? 09:09:15 but, wait, let me check wheather it was the fast or the nonfast gforth 09:09:52 what means what? 09:10:15 it took longer according to time ./isforth - : blah blah ; 40 blah 09:10:15 and what command line produced this result? 09:10:22 imean, paste it! 09:10:35 i cnat paste in x but i can show you 09:10:56 ouch, how come u cant paste? 09:11:24 time ./isforth - : fib dup 1 \> if dup 1- fib swap 2- fib + then \; 40 fib bye 09:11:43 because im on my laptop and cut and paste with the touchpad are fucked in the head 09:15:02 dont u use screen? 09:15:17 anyway, what was yr prev question? 09:15:23 [06:10] what does that mean ? 09:15:26 brb 09:15:43 why does it take LONGER according to "time" heh 09:19:29 longer than what? 09:21:27 than NOT using time 09:21:36 isforth has its own timers 09:21:43 time-reset foo .elapsed 09:24:47 gimme an up2date isforth version, k? 09:25:24 what is the substantial src of isforth, anyway? 09:26:06 the what ? 09:26:49 eeer... 09:27:07 sec, will look up the proper word in the dict 09:27:40 s/substantial/authentic 09:36:19 official ? 09:36:37 right now the officially released version os 1.03b 09:36:43 im about to release 1.04b tho :) 09:42:10 what? you aren't leet enough to use the same versioning system that linux uses?! :P 09:42:15 1.01.04 ! 09:42:16 :P 09:46:45 --- join: I440r_ (~mark4@1Cust119.tnt2.bloomington.in.da.uu.net) joined #forth 09:47:16 what? you aren't leet enough to use the same versioning system that linux uses?! :P 09:47:16 1.01.04 ! 09:47:16 :P 09:47:55 heh 09:49:10 --- quit: I440r (Read error: 113 (No route to host)) 09:49:23 --- nick: I440r_ -> I440r 09:52:03 I440r: :))) thats it official (its not me day) 09:52:17 whats official ? heh 09:53:38 onetom: why isn't it your day? 09:54:05 the word i should have used was "official" 09:54:05 so, where is the official source of isforth? 09:54:45 on my ftp 09:54:48 in /pub 09:54:48 heh 09:54:54 dont hyou have version 1.03b ? 09:55:19 onetom: you said "it's official (it's not my day)" ? 09:59:08 * futhin loves jed (the only damn colorful editor) 10:00:20 RET == RETURN ?? 10:02:52 futhin: yes 10:03:16 [06:55] onetom: why isn't it your day? 10:03:36 well, coz i can speak fluently and error free 2day 10:04:11 because you can or because you can't? :P 10:04:15 eh? 10:04:25 if you can, it's your day. if you can't it's not your day.. 10:07:21 :))) certainly cant 10:07:29 thats what im talkin bout :) 10:07:52 * onetom diffuse a bit 10:08:02 heh 10:08:11 onetom: i'm going thru your kernel.fs 10:08:12 right now 10:08:16 making sure i understand it :) 10:08:22 all the code that is 10:08:30 all the code, that is 10:12:54 onetom: have you used the screen program with your sourceforge shell account? 10:14:17 futhin: he? 10:14:40 u told meg yesterday, there is no screen installed on sf.net 10:14:48 --- join: Etaoin (~david@ljk2-11.sat.net) joined #forth 10:15:27 eh? 10:15:32 i told you? 10:15:42 well, i can probably compile screen and use it.. 10:15:49 but i'm curious if they'd get angry 10:15:55 etaoin: you use sourceforge? 10:16:10 sort of 10:17:02 (or the day b4 yes2day?...) 10:17:03 hi Etaoin 10:17:03 futhin: any questions about kernel.fs? 10:17:03 futhin: it has been written in an ugly style 10:17:03 coz, its based on our chat session 10:17:03 so its rather a monolog, than a program source code :) 10:17:59 onetom: i found kernel.fs very nicely written, very readable & understandable.. if you consider it "ugly" i can only eagerly wait for you to show me some of your non-ugly code :)) 10:18:03 futhin: u told me, dont u. weve written msgs 2 eachother on an sf.net machine, havent we? 10:18:17 yes we have 10:19:37 futhin: well, i will clean it up next week probably 10:20:18 it can be cleaner!? :) 10:21:00 the only thing that i had to stop at when i looked at kernel.fs was " :: ;; primitive-word ,, ' RET ,, 10:21:31 well, ive revied my code, and thats really not far from what i call nice 10:21:55 tho, i dont like comments b written in me chat style 10:22:03 2 b 10:22:43 and there must be tabulators instead of spaces between code and comments 10:23:22 thats it roughly 10:26:01 'was " :: ;; primitive-word ....' 10:26:08 but ive also commented it 10:27:31 ( and steps back one level in the thread tree. ) 10:27:32 ( this word is the RET primitive, named ;; in our example ) 10:27:52 is it better this way? 10:29:09 though its also not clear 2 me, how does native code look like on a REAL 4th processor 10:29:55 or probably s/does/should/ 10:30:36 ive decided 2yrs b4, i will implement a simple 4th processor as my thesis 10:31:03 as a CPLD "program" 10:32:02 but i dont have time for it :( 10:32:28 i understood it 10:32:55 um, i prefer the comments written in chat style :) 10:33:05 it makes it more readable for other people 10:33:05 wow, really? 10:33:09 yup 10:33:17 i think it makes it a lot easier to understand for other people 10:33:19 hm, nice 2 hear it 10:33:27 i wasnt so sure about it 10:33:36 if everybody wrote comments in chat style, the world would be a better place :) 10:34:17 probably its really harder 2 decode 4 users w novice english skills 10:34:26 futhin: :))) 10:35:12 yeah, but it's great for the english coders ;) 10:35:14 the idea comes from plato, anyway 10:35:51 he wrote books about phylosophy 10:36:16 in a "chat style" 10:36:38 yup 10:36:47 actually he has recorded fictional debates 10:37:01 biztos 10:37:08 oops 10:37:17 yeah, fictional debate with another guy.. forget his name.. 10:37:32 in fact, some people thought (or still think) the other guy existed :P 10:38:38 i like this style, coz u can b sure of that 10:39:00 also the preconditions and the 10:40:55 causes r also recorded not just the 10:41:20 conclusions 10:41:36 that could help understanding a lot 10:42:07 and also ensures that u can easily test what happens w the 10:42:31 conclusion if u modify some of the preconditions, or 10:42:59 put more questions into the middle of such a conclusion chain 10:44:58 i really liked the part of the code where it is like: 10:45:34 ( entry-point ) ip ! 10:45:55 tricky, isnt it. :) 10:46:00 naw 10:46:04 i liked the commenting 10:46:21 its a stack comment technically 10:46:47 but still more than just a stack comment 10:47:03 much more, reduces the thinking :) 10:47:15 reduces the stack thinking to nil :) 10:47:15 right :) 10:47:30 it is just like: 10:48:01 : BOOT-UP { entry-point -- } 10:48:03 ... 10:48:08 entry-point ip ! 10:48:11 ; 10:48:29 though it doesnt require locals support 10:48:43 hm? locals support ? 10:49:20 what doesnt -eg- need kernel level support absolutely 10:49:44 local variable support, yes. dont u know this technique? 10:50:10 not, locales ;) 10:50:17 i know 10:50:23 um 10:50:27 local variable support ? 10:50:39 create a variable? (ewwwwwwwwwwwwwwwwwwww) 10:50:47 :) 10:50:57 variables r global 10:51:07 : BOOT-UP { entry-point -- } 10:51:14 variable entry-point ! 10:51:16 ... 10:51:21 entry-point ip @ 10:51:22 ; 10:51:34 blah (ignore the fact i didn't fetch from entry-point) 10:51:41 entry-point ip ! 10:51:55 what's local variable support technique!? 10:52:27 imeant, local variable as a technique 10:52:59 how do you do a local variable if variables are global? 10:53:38 the only thing i wanna say, its useful 2 have some support for locals from kernel side 10:53:52 but its not necessary 10:54:20 tho, mt can b realized wo kernel support 10:54:32 really? :) 10:54:36 futhin: u have gforth, dont u? 10:54:41 yes 10:54:51 then try this: 10:55:36 : asd { a b -- } cr . ." + " b . ." = " a b + . ; 10:56:19 theres a typo 10:56:19 : asd { a b -- } cr a . ." + " b . ." = " a b + . ; redefined asd ok 10:56:20 1 2 asd 10:56:20 1 + 2 = 3 ok 10:56:31 this IS local var support 10:57:13 hm, asd isn't working.. invalid memory address 10:57:17 and a & b is nonexistant anywhere else just inside of the word def 10:57:26 typo, ive told u 10:57:36 i missed the "a" 10:58:09 heh 10:58:50 hmpf.. i'm not sure if local variable support is good forth technique :) 10:58:51 imean, the forth missed, the 'a' from in front of the 1st . :) 10:59:16 well, it could help a lot, anyway 10:59:56 and makes u not to clutter up the dict, w locally used global vars 11:00:36 tho, this technique is really against the forth philosophy 11:00:43 yes! 11:00:51 <-- hardcore follower of the forth philosophy ;) 11:01:21 onetom: do you think etaoin's code is really against the forth philosophy? ;) 11:01:31 * onetom also wants 2 be such, but always fail :) 11:01:31 anyone want to play some diablo 2? 11:01:50 Etaoin: probably u? ;) 11:02:00 I know I do, but does anyone else 11:02:19 yeah, is my code screwed up pholosophically? 11:02:30 futhin: well... dont know whether 4th phil. is omnipotent... 11:03:04 i think OOP is a very good aproach 11:03:28 tho, it clashes w the 4th phil 11:03:36 a bit 11:03:57 etaoin: not really, except for longer than 2 lines words :P 11:04:13 but most forth coders seem to not to pay attention to the 2 lines limit.. 11:04:14 but 4th is open enough 2 allow OOP 2 live in peace w itself 11:04:23 blah. I could put it all on two lines, but then it'd be harder to read 11:04:44 then you factor it up more until it's readable :P 11:04:51 onteom: OOP sucks ;) 11:05:08 when we r talkin bout linez we consider it ~64 or ~80 chars long 11:05:23 futhin: you perverted low level goon 11:05:26 futhin: i think obj oriented 11:05:41 futhin: it has unevitable advantages 11:05:52 futhin: i think in an obj oriented way 11:06:00 OOP is all hype. i can do object oriented without any of the OOP hype, thank you very much ;-P 11:06:28 futhin: you would still be thinking in terms of objects 11:06:47 but we shouldnt forget that, 4th is a low level language basicly 11:07:41 tho, its fortunate design allows it to b rised 2 a higher level easily 11:07:59 oop is not just hype @ all. 11:08:33 oop is as much as a phil as forth is 11:09:38 sort of. true oop is as much a philosophy, that is.. thinking in terms of "modularize everything!".. that is acceptable OOP thinking/philosophy, and it fits easily within the forth philosophy 11:10:27 but most people just confuse OOP 11:10:41 there is no such thing as "true oop." the term "object-oriented" is just used too much to mean too many things. 11:10:42 and use it improperly, to obfuscate their code.. 11:11:13 but anyway, I have some deamons to slay 11:11:13 OOP is a philosophy, it shouldn't have anything to do with the language. classes, polymorphism, all hype related to the language.. 11:11:20 Etaoin: i dont agree w that 11:11:32 onetom: I don't care. bye. 11:11:33 dont now i gotta go 2 work 11:11:51 probably we could discuss it l8r 11:12:05 s/dont/but/ :))) 11:12:40 its and interesting problem domain 11:12:40 maybe 11:12:59 it's emotional too ;) 11:13:03 but we have much more interesting problems now, dont we ;) 11:13:18 futhin: oh, nooo, its abs not emotiona 11:13:19 l 11:13:41 futhin: @ least we should mix it w emotions 11:14:16 (imo) i can code object oriented.. i don't need classes, structs, polymorphism, etc, in order to do OOP and to do it properly :) 11:15:07 but its better if these OO concepts can b recognised 11:15:19 all the classes, structs, polymorphism, etc.. are all hype. they obscure the meaning of OOP.. most people think OOP _means_ structs, polymorphism, etc. it doesn't! OOP is a methodology 11:15:21 throughout yr program @ 1st glance 11:15:41 aha 11:16:06 i agree, its a program engeeniering methodology 11:16:26 (or how should i spell eng...) 11:16:33 engineering 11:16:38 close enuff :P 11:16:41 ha, thats it : ) 11:17:08 i think that OOP is part of the forth philosophy.. the actual "modularization" approach.. 11:17:12 tiny bit of dyslexia, uknow 11:17:48 erm, reverse the order 11:18:06 not really, forth is an umbrella philosophy 11:18:13 the forth philosophy "modularization" id also part of the OOP 11:18:16 about simplicity 11:18:19 no 11:18:28 proper OOP falls inside forth philosophy 11:18:42 forth philosophy is about simplicity. OOP helps achieve that, properly used. 11:18:43 in oop - personally - i like encapsualtion the most 11:19:23 encapsulation? doesn't forth philosophy have encapsulation (data hiding, factoring, etc) ?? 11:19:44 ? 11:20:01 show me how does 4th supports encaps 11:20:08 support 11:20:48 --- quit: I440r ("Reality Strikes Again") 11:21:43 --- join: I440r (~mark4@1Cust119.tnt2.bloomington.in.da.uu.net) joined #forth 11:22:11 explain encapsulation, is that data hiding or something else? 11:22:36 <--doesn't bother remembering "OOP" concepts :P 11:22:45 its the ensuration of 11:23:04 only thing i care about is "modularization" :) 11:23:09 the data and the methods knowing how to handle it 11:23:24 b defined in 1 place 11:23:31 next to each other 11:24:00 corr: being defined... 11:25:00 and the ensuration of that u cant apply methods on other methods 11:25:13 its just a coding aid certainly 11:25:52 u can write such programs wo the support for it 11:32:28 encapsulation is so that some code in a module doesn't modify code in some other module? C++ has some encapsulation, but there are ways around it.. you can probably do encapsulation in forth, but it's really easy to get around it.. does that mean there's no encapsulation ;) 11:57:09 eh. 11:57:16 no time for this debate now 11:57:24 i have 2 work 11:58:03 me too :P 12:24:42 --- quit: futhin ("gtg") 12:35:39 --- join: futhin (~thin@h24-64-175-123.cg.shawcable.net) joined #forth 12:43:36 futhin :) 12:44:36 --- join: Soap` (~flop@210-55-148-129.dialup.xtra.co.nz) joined #forth 12:45:44 hi soap! 12:45:46 ltns 12:45:58 'ello 12:46:08 :) 12:46:10 How's things? 12:46:16 isforth is moving along nicely dood 12:46:18 ive released it 12:46:24 it can compile and fsave and turnkey now! 12:46:31 but it doesnt have assembler extention yet :( 12:46:54 I440r: How to load and execute an entire program with isforth? 12:47:13 ./isforth - fload sourcefile 12:47:14 or 12:47:19 ./isforth 12:47:21 fload sourcefile 12:47:22 or 12:47:35 put a #! /path/to/isforth - fload 12:47:38 at the top of the source 12:47:43 chmod it to +x 12:47:44 and do 12:47:46 ./sourcefile 12:48:11 Thanks :-) 12:48:17 WHere's the latest download? 12:48:53 erm version 1.03b is in /pub on my ftp 12:49:04 im not quite ready to release .04 yet 12:49:36 ok 12:49:40 what will be new in .04? 12:49:57 some bug fixes basically 12:49:59 nothing much 12:50:14 im thinking of making the boot up sequence hash the symbol tables 12:50:21 boot up already has to relocate all headers 12:50:45 wouldnt be much to make it hash them too and link them to different chains depending on the hash value 12:50:52 this will allow isforth to compile faster 12:51:05 ftp://1Cust119.tnt2.bloomington.in.da.uu.net/pub/ 12:51:09 can't find that address 12:51:15 but its not realy important that it hashes shit yet - not till i get a meta compiler and add vocabularies 12:51:23 dns me 12:51:27 65.224.144.119 12:51:47 mkay 12:53:03 I'll use that as my primary forth :P 12:53:36 after compiling you can do things like 12:53:40 ' foo is default 12:53:43 turnkey foo 12:53:53 you will get an executable called foo 12:54:04 ? 12:54:12 what's foo? 12:54:13 when you run it - it willl totaly bypass all the usual forth initialization and run the word foo 12:54:18 : foo ..... ; 12:54:20 thats foo 12:54:20 heh 12:54:46 oh, ok 12:54:48 if you want to run the usual init sequence and get to quit like normal 12:55:04 but you want a new word run during the inti sequence you can do 12:55:11 : foo deferes default ..... ; 12:55:27 when isforth runs it will execute default which wioll now point to foo 12:55:45 the first thing foo does is call what ever was in default originally 12:55:46 ah, ok 12:55:54 defers even heh 12:55:58 mental not - learn to type 12:56:06 ;) 12:56:36 make linux 12:56:38 ./kernel 12:56:41 fload isforth.f 12:56:48 BAH 12:56:53 wget can't get that file 12:56:54 this will load the extentions source file and fsave isforth 12:57:02 why cant wget get it ? 12:57:39 "Invalid PORT" 12:57:52 heh 12:57:56 links says the same 12:58:13 "The Free BSD build for IsForth is disabled due to a slight lack of BSD at this location" 12:58:29 yea sorry heh 12:58:37 I440r: Downloading with NS on this comp. instead... 12:58:42 if you want to look in linux.1 and come up with a fbsd version of that 12:58:49 you can reenable the bsd build 12:59:00 Doesn't sourceforge have any BSD boxes for you? 12:59:04 i wouldnt mind reinstating the bsd build again 12:59:21 erm i deleted my sf account 12:59:29 too much bullshit managerial shit to take care of 12:59:40 hm 12:59:47 You can be inactive 13:01:01 tcn was doing the bsd stuff 13:01:08 i cant get my head arround bsd 13:02:05 Bah. 13:02:11 TCN is off the 'net entirely? 13:02:26 he said so yes 13:02:55 Brave man. 13:03:12 hyeh 13:05:16 soap uses bsd ? 13:05:57 I440r: How to print tos in isforth? 13:06:10 . 13:06:18 uhm 13:06:18 it segfaults if thers nothing there 13:06:21 you can also use .s 13:06:23 what do I have to load? 13:06:24 but 13:06:29 make linux 13:06:32 ./kernel.com 13:06:35 fload isforth.f 13:06:36 robert:~/programs/isforth# ./isforth 13:06:36 ok 13:06:36 0 . . ? 13:06:37 ok 13:06:44 you need to extend 13:06:49 fload isforth.f 13:06:53 from within kernel 13:06:59 it will fsace isforth and quit 13:07:02 NOW you can do 13:07:05 ./isforth 13:07:07 5 13:07:07 . 13:07:10 1 2 3 .s 13:07:17 what's .s? 13:07:34 it displays all the stack (up to 10 items) without removing them 13:08:01 ah, ok 13:08:25 the only thing harder than c++ is assembly 13:08:28 I don't agree :) 13:08:32 hehe 13:08:33 I think forth is hellish ;P 13:08:40 At least for a poor beginner 13:08:48 tell him i said the only thing easier than asm is forth :P 13:09:17 it is. forth is difficult at first 13:09:27 thats to seperate the wheat from the chaffe :P 13:09:39 chaffe = coffee? 13:09:45 soap uses bsd ? <-- nup. I was just interested in how you phrased that line :) 13:10:04 heh 13:10:16 I440r: Can't I load isforth.f from commandline? 13:10:27 no 13:10:31 not from the kernel 13:10:43 the load from command line is an extention 13:10:50 rob_ert: i can give u a very concise intro 2 4th 13:10:55 you have to do 13:11:01 ./kernel.com 13:11:05 fload isforth.f 13:11:36 OK 13:11:51 onetom: Nah, I've already got that :-) 13:11:56 http://google.com/search?hl=en&q=%22Forth%3A+An+underview%22&btnG=Google+Search 13:11:57 I do need some real code though 13:12:07 I knoe that one 13:12:09 know* 13:12:10 dec.bournemouth.ac.uk/forth/forth.html 13:12:27 it has code too 13:12:32 thanks :) 13:12:41 anyway, i HIGHLY recommend TILE-Forth 13:12:53 its just sweet 13:13:04 what system is it for? 13:13:16 it has perfect implementation and documentation 13:13:30 of the f83 standard 13:13:44 tile is written in c 4 unices 13:13:53 okay 13:13:59 so u can use it under linux 13:14:08 good 13:14:27 tho, u have to delete 1 line from it 2 make it "linux proof" 13:14:45 uhm, ok 13:14:47 Ooooh. My first turnkey'd isforth. 13:14:52 look in the forthsrc/ directory thers some good forth stuff :) 13:15:01 thats where the extentions are heh 13:15:04 ./hellow :) 13:15:19 soap unless you ' someword is default dont expect your turnkeyd app to do anything useufl heh 13:15:26 robert:~/programs/isforth# ./kernel.com 13:15:26 ok 13:15:26 fload isforth.f .......... 13:15:26 Active 42:12:56.174 13:15:26 Au-Revoir! 13:15:31 ignore that 13:15:33 I440r: What..the..? 13:15:45 What should I do? 13:15:46 if you run isforth now it will tell you how long it was running for on quit 13:15:50 I440r, "hello world" *is* useful :P 13:16:07 after doing the extend its sort of messed up with how long its been running tho heh 13:16:17 ill tidy that up later :) 13:16:31 soap oh yea... silly me :) 13:17:04 i was shocked at how big the kernel was after doing a turnkey 13:17:15 turnkey the unextended kernel and its almost 10k 13:17:21 but then i realised 13:17:26 this is 32 bits! 13:17:31 I440r: I can't do anything with isforth! 13:17:41 the equiv 16 bit is 5k of kernel :) 13:17:41 It just exits after I've loaded isforth.f 13:17:44 rob why not 13:17:48 yes 13:17:52 its supposed to 13:17:58 now you have ./isforth too!!! 13:17:59 heh 13:18:20 fload isforth.f extends the kernel and fasves the extened forth 13:18:27 fsave is an implied bye 13:18:28 hehe 13:18:32 run ./isforth 13:18:36 Damn I'm stupid 13:18:38 words 13:18:39 Thanks :) 13:18:47 : foo 10 0 do i . loop ; 13:18:48 heh 13:19:27 if you had read the readme it explains all that :P 13:19:28 heh 13:19:30 everyone knows 13:19:30 what's the "cls" command? :) 13:19:40 in linux the first thing you do is read the readme :) 13:19:41 there isnt one yet 13:19:51 mkay 13:19:54 i have to add an extention to read in the terminfo shit 13:20:01 sorta procrastinating doing that 13:20:25 once that is done isforth will have EVERYTHING that the curses library has on 1/84629854938245629834598235982359438 the space 13:21:42 :D 13:22:08 --- join: Xuz (aemerson@bgp01079860bgs.wanarb01.mi.comcast.net) joined #forth 13:22:37 Hi Xuz 13:22:43 Hello, there. 13:23:06 I440r: isforth doesn't know its own version number :) 13:23:25 i know 13:23:30 i fixed that in this version heh 13:23:36 i forgot to update it heh 13:23:46 1.4 will know its version :P 13:24:12 ;) 13:27:12 rob_ert: the "cls" is ctrl-l 13:27:44 that works in isforth too ?? heh 13:27:47 i doubt it 13:28:10 nope :P 13:28:12 dont doubt, try instead 13:28:15 naaah 13:28:19 key intercepts control chars too 13:28:59 grrrr :) 13:29:55 i need to add all that - will do so as soon as i write the code to read terminfo files 13:30:08 What's the lowest number in the time taken thingie? hundreths of a second? 13:32:56 rob_ert: "cls" is called "page" on other systems 13:36:15 ah, ok 13:36:17 thanks 13:36:25 1tom :) 13:38:44 in fpc its called "dark" because tom zimmer sux :P 13:38:45 he 13:39:20 hehe 13:39:22 hmm 13:39:32 when I try to write: 13:39:54 10 5 print-line 13:40:04 When I press enter, it jumps one step forward 13:40:11 when I press enter again: 13:40:25 10 5 print-line ? 13:40:28 What's wrong? 13:40:59 whats print-line 13:41:48 Anyone know a good tutorial for '86 assembly? 13:42:08 I use the NASM docs as reference 13:42:14 Don't know any good tutorial though 13:42:14 the ONLY good book on x86 asm is this 13:42:20 the 8086 book by intel 13:42:22 : print-chars ( char count -- ) 0 do dup emit loop drop ; ok 13:42:23 : print-line ( total number -- ) over over - 1 - ' ' swap print-chars swap drop 2 * 1 + '*' swap print-chars ; ok 13:42:24 its about 20 years old :P 13:42:34 you cant do ' ' 13:42:38 it tries to tick tick 13:42:44 do $20 there 13:42:47 ill fix that later heh 13:42:48 if i can 13:42:51 hehe, ok 13:43:12 My only experience has been with a tiny bit of 6502 so I'm looking for something with, y'know, big print and bright colourful cartoon pictures. 13:44:18 Alice in wonderland? 13:44:39 soap seriously go to your library or a bookstore selling old stuff 13:44:49 try find a copy of the 8076b book 13:44:55 it talks about the 8086 and 8088 processors 13:45:01 8076? 13:45:02 no 386 stuff - etc 13:45:06 k 13:45:07 8086 8087 13:45:12 ern 8088 i mean 13:45:44 any MODERN book on asm programming is going to be 4 inches thick. 3 inches of it is going to be on the different assemblers you can use 13:45:55 the other inch is going to be on the binary and hex number systems 13:45:56 ugh 13:46:02 totally fucking useless 13:48:37 :/ 13:49:26 if you have dos or windows there i would also suggest going to www.eji.com and getting a86 and d86 13:50:11 NASM :-) 13:50:22 Get used to the syntax 13:50:29 Since NASM is everywhere 13:50:49 a86 is the best assembler ive ever used 13:50:56 nasm is second from worst 13:51:19 only worse assemblers are ones written by NEC for their micro controllers 13:51:50 hehe 13:51:54 WHy is NASM so bad= 13:51:58 s/=/?/ 13:51:59 Wow, you like NASM even less than GAS? 13:53:03 I440r? 13:53:32 eh ? 13:53:39 gas isnt an assembler 13:53:41 it doesnt count 13:53:43 :P 13:54:08 hehe 13:54:14 Why is NASM so bad? 13:54:23 WHere does your hate come from? :) 13:55:39 %define x 1 13:55:42 %define y x 13:55:49 %define x 2 13:55:55 x and y now equal 2 13:55:56 ugh 13:56:02 define a .text secion 13:56:06 define a .data secion 13:56:10 define a .foo secion 13:56:17 make code or data in .foo 13:56:19 with labels 13:56:27 I440r: no sane person would do that with %define.... 13:56:30 any code in .data trying to reference labels in .foo will get lost in space 13:56:44 you do not get to the data you are referencing 13:56:57 It's made for use in programs, not hacking to check for bugs ;) 13:57:02 robert save x away in a temp stor called y - change x - then change it back later 13:57:15 you cant do it with %define 13:57:16 and if you 13:57:22 %define x 2 13:57:26 %define y x 13:57:37 anywhere you use y you can use x with equal effect 13:57:48 y has absolutely NO utility value in this scenario at all 13:58:03 db 'x','y','"' 13:58:12 the '"' gets assembled as a db 16h 13:58:19 i.e. decimal 22. not hex 22 13:58:52 That's special cases... in general - why shouldn't people use NASM? 13:59:07 because its buggy 13:59:10 nuff sed 13:59:16 hehe 13:59:17 you tell the authros about a simple bug like 13:59:32 well, a few bugs don't do that much harm :) 13:59:33 db '"' assembling WRONG and they tell you to "use the source" 13:59:38 i.e. fix it yourself asshole 13:59:42 yup :P 14:00:01 all they are interested in doing is adding this NEW neat (probably just as buggy) feature to the assembler 14:00:24 if YOU find a bug in isforth (ther are som) i wnat to know about it 14:00:38 i do not like adding NEW features when ther are existing BROKEN features 14:00:45 ill fix first - add new later 14:02:03 you're a good man :P 14:03:26 :P 14:03:50 Well, I don't care that much about a few bugs (that's why I still use isforth ;) 14:04:55 Hm 14:05:04 Is there any list of f83 words? 14:06:22 in f83 ??? heh 14:06:41 f83 is 83 std 14:06:55 the 83 std text is out there 14:06:59 that shud give you a clue 14:07:41 ok 14:08:07 * rob_ert will go...out there 14:09:52 does "10 0 do ... loop" loop 10 or 11 times? 14:11:13 : foo 10 0 do i . loop ; 14:11:22 foo 0 1 2 3 4 5 6 7 8 9 ok 14:11:42 mkay 14:11:43 thanks 14:14:01 agh 14:14:10 isforth is caught in an infinite loop! 14:14:20 what loop 14:14:27 my fault, probably 14:14:34 dunno, buggy program I guess 14:14:37 : foo begin again ; 14:14:38 hehe 14:15:46 : foo foo ; 14:15:48 does that work? 14:15:59 --- quit: Xuz ("ircII EPIC4-1.0.1 -- Are we there yet?") 14:16:10 that does an infinite loop yes 14:16:14 uhm, bbl 14:16:16 actually 14:16:22 it will probably stack crash you :P 14:16:44 because it calls itself recursivly an infinite number of times heh 14:17:34 which is technically wrote becuase the new definition for forth should be hidden till ; 14:17:39 so you should be able to do 14:17:44 : foo 'x' emit ; 14:17:51 : foo foo 'y' emit ; 14:17:56 foof xy ok 14:18:03 erm foo xy ok even 14:18:16 but you cant do that in isforth yet 14:46:06 --- quit: I440r ("Reality Strikes Again") 15:56:59 hi. 15:57:36 Morning. 15:59:57 depending upon where you are 16:00:56 I'm in a "night country" 16:00:58 Sweden :) 16:01:04 And you, sir? 16:05:19 early evening 16:05:26 central united states 16:05:31 Okie :) 16:30:36 nu, hi. im back 16:34:21 :-) 16:34:22 Hello 16:34:39 20 1 do cr i factorial . loop 16:34:43 what's wrong with that? 16:34:54 it hanged isforth 16:36:48 will chk in a sec 16:37:04 what is the def of factorial? 16:39:26 : factorial ( a -- a! ) 16:39:26 1 ( a 1 ) 16:39:26 swap ( 1 a ) 16:39:26 0 ( 1 a 0 ) 16:39:26 do 16:39:27 i 1 + ( i+1 ) 16:39:29 * ( x* i+1 ) 16:39:31 loop ( a! ) 16:39:33 ; 16:43:44 --- quit: futhin (Read error: 104 (Connection reset by peer)) 16:44:23 rob_ert: u cant do loops in interactive mode 16:44:51 ok 16:44:59 define a word what does that loop 16:46:55 but 1st u should read some tutorials 16:47:15 there r many short tutorial all around 16:47:29 just like the one ive mentioned 16:47:53 I have the forth primer 16:47:57 and if u get grasp of the internals 16:48:20 then u wont make such mistakes anymore 16:48:30 4th primer? 16:48:44 yes. 16:48:49 show me an url, let me c is it good enough 16:49:03 s/c /c whether / 16:49:07 uhm, frpimer.zip on forth.org 16:49:28 k 16:51:12 factorial? 16:52:06 yes 16:53:11 rob_ert: cant find frprimer 16:54:41 fprimer.zip 16:54:54 not frprimer 16:55:05 oh, man! give me a complete url plz 16:55:50 uhm 16:55:52 gotta find it 16:56:41 ftp://ftp.taygeta.com/pub/Forth/Literature/fprimer.zip 17:05:21 --- quit: rob_ert ("Peace. That's an order.") 17:13:36 --- join: futhin (thin@h24-64-175-123.cg.shawcable.net) joined #forth 17:13:49 hello 17:15:08 --- quit: futhin (Client Quit) 17:15:40 okay 17:37:17 hümm hüm... there r many great doc on forth.org... 17:39:26 cant remember who told it to me, but thx 4 it 17:41:22 i always saw only forth.com 17:42:47 im surfing the net 4 yrs but its getting clean from time 2 time im still not an advanced surfer :I ... 17:43:32 i think i will spend my following days w reading :) 18:22:33 hi 19:53:07 --- join: Speuler (~khaled@a161161.upc-a.chello.nl) joined #forth 19:53:49 g'day 20:05:10 --- quit: Speuler (Remote closed the connection) 20:12:46 --- join: TheBlueWizard (TheBlueWiz@ip-216-25-202-138.vienna.va.fcc.net) joined #forth 20:12:46 --- mode: ChanServ set +o TheBlueWizard 20:12:51 hiya all 20:14:25 hi 20:14:31 hiya Etaoin 20:33:23 hi 20:34:08 so whassup? 20:35:04 I'm playing with squeak 20:35:14 cool 21:07:59 --- quit: Etaoin ("raise OverFlowError, "Ewwww, now it's all over the floor."") 21:09:17 --- join: futhin (~thin@h24-64-175-123.cg.shawcable.net) joined #forth 21:09:28 hi thebluewizard 21:09:35 onetom & soap` 21:09:44 Mornin' 21:09:53 hiya futhin 21:10:14 soap`: i forget what your involvement with forth is? openbios ? 21:10:41 thebluewizard: doing any forth coding lately? :) 21:11:01 i finally installed gforth on my shell account 21:11:05 futhin, nup. File me in the "boring hobbyist" category. 21:11:07 so now i have da power! :P 21:12:02 soap`: were you looking for something? had some problem? 21:12:07 no...doing various chores, went to a user club (got some rare ZIP RAMs...yaah!), chat with my friend earlier that evening, watch TV, eat, do more chore, and now am hunting for some web articles ... soon I will go to bed 21:13:07 futhin: I'm usually just here to keep an eye on i440r. 21:13:41 ah :) 21:14:01 hehe...I440r is a popular guy :) 21:14:27 --- join: qless (~cerberus@clgr000977.hs.telusplanet.net) joined #forth 21:14:32 howdy qless :) 21:14:38 heya futhin 21:14:55 whazz happenin? 21:15:14 oh the usual.. coding up some forth pr0n 21:15:16 hiya qless 21:15:27 heya bluewiz 21:15:48 :-) 21:16:51 i've just finished a Hardware Movie[tm] and now have 40 gigs to play with 21:17:29 qless: lotta stuff has happened on #forth lately. onetom coded a forth kernel in forth in the channel (he was explaining multitasking to me).. and then he tidied it up into a file.. fun fun, 15 minutes of coding to create a forth kernel ;) 21:17:49 wow that does sound fun 21:18:01 http://213.163.52.70/~tom/kernel.fs 21:18:11 --- quit: Soap` (Read error: 113 (No route to host)) 21:18:25 yeah, you can check yesterday's logs too on the kernel.fs 21:19:27 and i installed gforth on my shell account, bwahahah! :) 21:19:32 <-- one happy fella 21:19:39 ready to rock, huh 21:19:41 right on 21:19:44 heh :) 21:19:58 now i gotta figure out sockets and i'll be power coding! 21:20:20 man 7 socket is probly a good place to start 21:20:43 etaoin did some pretty cool code too, check it out http://braznet.com/david/files/oovect.fs 21:20:58 i saw that 21:21:02 ah 21:21:13 --- join: Soap` (~flop@210-55-148-129.dialup.xtra.co.nz) joined #forth 21:21:20 wb soap` 21:21:35 i've got to fix a sound problem, back later 21:21:38 Grrrr. 21:21:40 soap`: you might be interested in http://213.163.52.70/~tom/kernel.fs 21:21:40 --- part: qless left #forth 21:21:43 * Soap` spanks XP. 21:21:47 Bad OS! No biscuit! 21:22:34 hiya Soap` again 21:23:16 Hmmm. 21:26:01 soap`: yeah, onetom was explaining multitasking to me yesterday and coded a kernel in the channel, then copied it to a text file and tidied it up.. pretty good work for roughly half an hour :) 21:28:25 cool 21:42:30 omg! www.kangu.nu is no longer up.. and imaginaryrealties.imaginary.com is no longer up.. the mud world is dying! :( 21:44:59 --- join: qless (~cerberus@clgr000977.hs.telusplanet.net) joined #forth 21:45:14 rehello 21:45:57 There's always lambdamoo :P 21:45:59 hiya qless again 21:46:02 Hi qless. 21:46:27 heya soap, bluewiz 21:51:54 gotta go....bye all 21:52:01 see ya 21:52:17 bye qless 21:52:21 --- part: TheBlueWizard left #forth 22:09:30 --- quit: futhin (Read error: 104 (Connection reset by peer)) 22:20:16 --- part: qless left #forth 22:40:05 --- join: futhin (thin@h24-64-175-123.cg.shawcable.net) joined #forth 23:59:59 --- log: ended forth/02.03.09