00:00:00 --- log: started forth/02.03.16 00:25:27 --- join: onetom (tom@adsl52070.vnet.hu) joined #forth 01:34:12 --- join: rob_ert (~robert@h173n2fls33o898.telia.com) joined #forth 05:10:02 nobody here? 05:15:42 yeah 05:15:46 I am =) 05:15:46 And you 05:15:59 me 2 05:16:28 how about savannah? 05:16:43 4os project still doesnt exist 05:16:51 ive ask them about it 05:17:00 and got the following asnwer 05:17:13 > How can I access this project, ive just created? 05:17:13 The project need to be approved. 05:17:13 Since the description you provide is probably too short, it won't 05:17:13 faster the process. 05:17:13 Use this waiting time to think to a more explicit description :)) 05:17:40 Hehe 05:17:49 What did you write about it? 05:44:28 well... not much in deed:) 05:45:10 hehe 06:04:44 I'm downloading C64-forth :) 06:04:48 (and an emulator) 06:05:02 I have a C128 and a disk with 64-forth also :) 06:05:17 But I don't feel like going down to the TV with the,m 07:09:26 --- join: Etaoin (~david@ljk3.sat.net) joined #forth 07:30:20 Hi :) 07:59:43 hello 08:38:50 --- join: Speuler (~l@195.30.184.51) joined #forth 08:38:59 'oi 08:39:15 Hi :) 08:39:31 I'm going to write a small forth with another guy just for practicing. 08:39:41 With the basic words needed for a somewhat useful system. 08:39:46 good way to learn 08:39:53 Do you know where I can get information about a forth's internals? 08:40:02 from the sources :) 08:40:04 I need to know how to make the intepreter work :) 08:40:09 oh 08:40:10 Know any good ssources? 08:40:12 that's simple 08:40:29 you know what the interpreter does ? 08:40:54 pseudo code: 08:41:44 : interpret begin word while find if 08:42:22 compiling if immediate not if , else execute else execute 08:42:53 else number if literal ... brb 08:43:19 ok.. 08:47:33 --- join: wossname (wossname@HSE-QuebecCity-ppp81197.qc.sympatico.ca) joined #forth 08:47:35 moog 08:47:42 Hi 08:47:45 ha, this is where speuler has fled to 08:47:51 :) 08:49:36 forth is a magical state of mind 08:49:48 someday, maybe my mind will run on a pair of stacks as well 08:51:27 Yay. 08:51:28 Hmm.. 08:51:46 I still haven't found any information on how does> and co. worl 08:51:47 work 08:51:48 good day to you sirs 08:51:51 the internals 08:52:34 --- quit: wossname ("Z__boooooooom") 08:52:57 back 08:53:10 i like to help lady clients 08:53:53 :) 08:54:02 Sorry for not being a lady. 08:54:09 that one as cute 08:54:22 wants to go to concert 08:54:33 mit dir? :P 08:54:36 but netscape burped 08:54:53 concert is in november ... 08:54:58 heh 08:55:29 Do you know any paper that explains how the dictionary internals work? 08:55:55 would a paper explaing what vocs should do suffice ? 08:56:10 after all, the implementation is up to the implementor ... 08:56:33 yes.. 08:56:40 try: dpans94 08:56:45 google? 08:56:51 comes with gforth 08:56:56 hm. ok 08:57:03 try: pinfo gforth 08:57:09 http://www.forth.org/dpans/dpans.html ? 08:57:20 that one should do too 08:58:45 It would be easier if I found a simple implementation in asm, such as yours.. Maybe isforth has something 08:58:46 woss: where did i flee too ? 08:58:50 He's dead. 08:59:01 He meant #forth. 08:59:01 oh yes 08:59:28 voc implementation is usually not done in asm, but hilevel 08:59:31 much simpler ... 08:59:41 oh.. 08:59:47 look at wordlist 08:59:53 then your 3/4 done 09:00:07 compile.1 in isforth 09:00:09 wordlist? 09:00:21 for a simple forth, vocs are not even necessary 09:00:28 optional ... 09:00:31 add on later 09:00:36 from the running system 09:01:10 hm 09:01:26 what are vocs? I mean, what do they dp? 09:01:28 do* 09:01:43 compare them with subdirectories 09:02:09 vocabulary foo 09:02:17 foo definitions 09:02:25 : bar ." burp" ; 09:02:33 forth definitions 09:02:46 bar ??unknown word?? 09:02:50 foo 09:02:51 bar 09:02:57 ( burp ) 09:03:22 additional name spaces ... 09:04:49 i'll look for a simple interpreter 09:05:36 thanks :) 09:05:47 I'm checking isforth.. contains at least some useful things 09:06:23 can't get to it right now 09:06:39 maybe the isforth interpreter resembles the one i was looking for a lot 09:06:48 i've given it to i440r a while ago 09:07:02 coming from my pentium implementation 09:07:16 vocs? 09:07:19 neat 09:07:34 eh ? 09:08:02 but no idea whether i440r used it, or cooked his onw 09:08:03 own 09:10:41 Etaoin: you're from texas ? 09:10:56 Speuler: yes 09:11:04 satellite up- and down ? 09:11:29 um? 09:11:57 thought "sat.net" stands for satellite (up)/down link 09:12:13 could be, but I don't have a satellite connection 09:16:16 will have to leave in a few minutes 09:16:37 :( 09:16:44 Fare well 09:17:00 'll be back in i estimate 2...3 hours 09:17:20 have a look at new site for 'nother cafe 09:17:38 suitability 09:18:18 Mkay. 09:18:24 l8er 09:20:37 --- quit: Speuler ("using sirc version 2.211+KSIRC/1.1") 09:32:51 hey, rob_ert ! 09:33:37 havent u still read the article "forth: an underview"? 09:34:25 an in what language do u plan to implement your 4th? 09:35:00 onetom: thanks 09:35:39 Etaoin: never mind. (but thx 4 what?) 09:36:03 4 that article? 09:36:10 right 09:36:28 u like it? 09:36:41 I'll read it later and tell you 09:36:49 I'm reading some other stuff atm 09:37:09 from the looks of it, it seems like what I've been looking for 09:37:10 like? 09:37:37 what r u reading now? 09:37:54 oh, im happy then :) 09:38:00 "Five Questions about Language Design" by Paul Graham 09:38:58 a http://www.paulgraham.com/langdes.html 09:39:08 hmm, sounds exciting 09:39:26 probably we will need such a thing for forth os 09:39:56 his article on design taste is interesting as well 09:40:51 who is he, anywaY? 09:41:36 he wrote some stuff in lisp for Yahoo.com 09:45:05 apparently when server side web applications were a new idea 09:45:07 ou. lisp 4 yahoo? 09:45:22 what part of yahoo uses lisp? 09:45:34 I dunno. 09:46:18 man learns sg everyday :) 09:46:59 yup 09:49:02 onetom: so, what are you up to now? 09:51:44 1st of all im terribly sleepy today 09:52:21 i fighted w my girlfriend a bit 09:52:40 so i got tired 09:54:14 2nd im trying to make my building control stuff failure safe 09:54:48 that is, it could recover from a communication failure 09:55:25 and it could restore original switch states after reseting the comm. net. 09:55:37 3rd im thinking on forth os 09:55:47 gathering stuff it 09:55:57 okay 09:56:18 like existing 4th processor datasheeets 09:56:26 dont u know about some, by chance? 09:56:37 no 09:56:46 pity 09:56:47 I know just about nothing about forth 09:57:22 besides knowing the syntax and the fact that it's reflective 09:57:37 ..about nothing about... nice structure :) 09:57:56 thank you. 09:57:58 reflective? 09:58:12 I wrote the first half and then took a nap. Then, I wrote the second half 09:58:43 :) i know the effect 10:01:21 infobot answer: reflection is a property of a system that can refer to itself and manipulate its state or rough on your brain 10:03:59 onetom: asm 10:04:06 and no, I haven't read all of it 10:04:32 --- quit: onetom (carter.openprojects.net irc.openprojects.net) 10:04:40 yay 10:04:47 sehr gut.. 10:05:03 --- join: onetom (tom@adsl52070.vnet.hu) joined #forth 10:05:09 wb 10:05:11 onetom: asm 10:05:14 and no, I haven't read all of it 10:06:05 but I'm reading 10:10:14 hope so! :) 10:10:19 and why in asm? 10:10:38 is asm the lang u r the most professional in? 10:10:38 why not? 10:10:59 coz there is sooo much asm 4th implementations outthere 10:11:01 I think so... I also need to practice coding asm in Linux. 10:11:05 Hehe 10:11:12 Well, I'm thinknig about one in BASIC ;) 10:11:14 it was the 1st reason 10:11:15 Just for fun. 10:11:41 the 2nd is: the forth os project needs 4th implementations in other languages 10:11:55 Such as? 10:12:07 like basic, pascal, python, awk, sed ;), lisp ... 10:12:27 BASIC forth... ;) 10:12:28 or even in c would also b okay 10:12:42 neat, isnt it? ;) 10:12:45 It'll be hard to do it in BASIC, I think 10:12:55 u r wrong 10:13:09 Hehe 10:13:12 Show me how to do it :D 10:13:30 implementing a 4th in any language is "pretty" easy 10:13:50 rob_ert: ive shown u how easy 2 do it in 4th 10:13:57 :) 10:13:58 now its your turn 10:14:01 hehe 10:14:05 I'll do my best ;) 10:14:17 show me how easy to do it in basic 10:14:36 I will, don't worry ;) 10:14:41 but, seriously, what is the lang u know the most? 10:14:44 (I won't be able to do it :/ ) 10:14:53 Probably C or asm. 10:15:00 Know BASIC and Pascal pretty well, too. 10:15:21 i have pascal roots 10:16:23 so probably i could create a kernel.pas too 10:16:39 but what about creating it by u? 10:17:51 What do you mean? 10:17:58 I should write it in Pascal? 10:17:58 i also know of a very detailed 4th implementation comparision 10:18:03 yes 10:18:14 exactly! 10:18:18 Hm.. maybe ;) 10:18:32 i would b your 2nd contribution 2 the forth os project ;) 10:18:40 I'm wondering how the dictionary looks... 10:18:51 (the 1st was its name, fosfor ;) 10:18:55 lol 10:19:04 What is that project anyway? 10:19:13 ? 10:19:31 fosfor 10:19:36 umean, what is the forthos prj? 10:19:37 What's the goal? 10:20:14 creating an OS 100% written in 4th 10:20:46 Why do you need forth kernels written in high-level languages? 10:21:07 for portability 10:21:37 (right now u r already working on a faq for the prj ;) 10:21:49 ;) 10:22:07 so, ask mooooore :) 10:22:20 What's the point of an intepreted OS? 10:22:36 ??? 10:22:41 is asm interpreted? 10:23:18 dont forget what i taught u: 4th is the assembly of a 4th processor! 10:23:42 I mean 10:23:58 and im refering to the inner interpreter when sayin 4th 10:23:58 If I run a Pascal program in my Linux machine, that runs your OS, what's the point of that? 10:24:31 well, thats not much fun, tho... 10:24:59 u r able to develop in the unified-forthos also in linux 10:25:13 AAAAND 10:25:15 Who should handle I/O? 10:25:59 u can give pascal minded people a chance to understand 4th internals 10:26:23 AAAAND u give a tool into their hand what they r free to modify 10:28:41 bbl' 10:28:42 what io r u talkin about? 10:28:55 ? 10:28:58 ah 10:29:04 like screen/disk I/O 10:29:19 should the forth OS take care of file system/device drivers? 10:29:26 Or should the intepreter do that? 10:31:31 oh, we can rant such functionalities from already existing os-es 10:31:40 like linux and bsd 10:31:58 and we whould implement those in 4th 10:32:03 So what should the OS do/provide? 10:32:20 it will provide multi* 10:32:33 like any other os 2day 10:33:33 i also thought of implementing a 4th gcc target 10:34:08 but first we should create a reference 4th processor 10:37:47 bbl :) 10:39:01 dont come b wo a working pascal implementation 10:39:12 of my kernel.fs ! :) 11:34:09 --- join: I440r (~mark4@1Cust228.tnt3.bloomington.in.da.uu.net) joined #forth 11:37:13 Login: mark4 11:37:37 Directory: /home/mark4 Name: Mark I Manning IV 11:37:45 plan: 11:37:54 1: Code IsForth 11:38:04 2: Convert Linus 11:38:14 3: Help Linus recode Linux in Forth (about a week) 11:38:21 4: Stop smoking crack 11:38:28 :P~! 11:38:51 ./away brb 11:38:57 heh 11:40:09 well - its a plan :) 11:40:19 thats nice :) 11:41:04 we need posix built upon 4th! 11:43:08 9223372036854775807 11:43:27 the largest signed number useable in isforth 11:43:27 is that ennuff ? 11:43:55 thats a 0 followed by 63 1's heh 11:44:25 there was a bug in the number output that i fixed today 11:44:45 had to add double number bullshit :( 11:44:45 was hoping to avoid that 11:44:56 but -1 u. no longer segfaults heh 11:45:27 the problem was that base @ /mod swap . would alwways end up with a quotient of -1 11:45:40 Hey I440r 11:45:48 and when i did -1 base @ /mod swap . 11:46:00 i would get one digit of remainder and -1 of quotient 11:46:13 hi! 11:46:32 I need to know more about a forth's internals :) 11:46:44 or i should say -1 base @ /mod returned one digit plus a quotient of -1 11:46:57 i.e. we would just keep extracting digits till the -1 hits 0 which it never would heh 11:46:59 --- join: wossname (wossname@HSE-QuebecCity-ppp80344.qc.sympatico.ca) joined #forth 11:47:03 hoorj 11:47:08 moin 11:47:10 robert such as ? 11:47:15 Well 11:47:19 woss!! 11:47:21 How the shit works :) 11:47:28 dont i know you from #debian or something ? 11:47:28 What a dictionary is, and how it works 11:47:38 or is ti #linpeople heh 11:48:12 ok 11:48:33 there is one dictionary 11:48:35 And maybe a little bit about how to do intepretation & compilation. 11:48:44 there are multiple vocabularies in the dictionary usually 11:48:54 the dictionary can mean many different things 11:49:04 dictionary space is where you compile new words 11:49:06 to me the dictionary is all the headers for those words 11:49:28 What does a such header contain? 11:49:37 the "dictionary" can be split up into various vocabularies 11:49:46 the forth vocabulary for instance 11:49:51 has all the core forth words 11:49:59 then you have the assembler vocabulary 11:50:02 etc etc etc 11:50:11 when you type 11:50:14 foo [enter] 11:50:29 forth has to search certain vocabularies for that word 11:50:45 you might have a foo in your forth voc and in your editor voc 11:50:56 which one it finds depends on what the search order is 11:50:59 thats what all that 11:51:08 only forth also assembler definitions also 11:51:12 Aren't there special words, too? 11:51:13 bullshit is all about heh 11:51:20 define special 11:51:20 That can't just be looked up like that 11:51:25 headerless 11:51:29 they have NO headers 11:51:33 noname 11:51:47 that just limits the scope of those words 11:51:51 Hm 11:51:54 What do they do? 11:51:58 ok 11:52:09 lets say i have a FOO sourcefile 11:52:14 somewhere in that file i have 11:52:17 : foo ..... ; 11:52:19 BUT 11:52:39 it would be very bad for any functions outside the FOO sourcefile to actually make a reference to the word foo 11:52:43 i can make that word headerless 11:52:58 it GETS a header but this header is usualy stripped off at the end of the soruce file 11:53:09 OK 11:53:16 But how are for example : and ; handled? 11:53:25 : is a creating word 11:53:30 They must be treated in some special ways, right? 11:53:45 colon parses the input stream for the next space delimited string 11:53:50 and words such as create, does>, , 11:53:54 : foo aaa bbb ccc ; 11:54:04 in this example colon sees "foo" 11:54:16 it creates a new header (in the dictionary) for the word foo 11:54:23 it then switches us into compile mode 11:54:26 thats all it does 11:54:30 well in isforth anyway 11:54:32 OK 11:54:38 creates the header and put us in compile mode 11:54:47 we are now back to running in the inner loop 11:54:50 what about 'create', 'does>' and ',' then? 11:54:50 quit and interpret 11:54:58 ill get to those 11:55:00 OK 11:55:04 create is a creating word too 11:55:10 : uses create 11:55:17 : : create ;uses nest ; 11:55:33 all compiled (non coded) definitions start like this 11:55:36 call someword 11:55:40 body of word is here 11:55:46 for a variable its a call to dovariable 11:55:52 for a constant its a call to doconstant 11:56:00 for a colon definition its a call to nest 11:56:07 hm 11:56:15 what does create really do? 11:56:15 create ALWAYS creates a header with a cfa thats a call to dovariable 11:56:16 always 11:56:22 does it take stack parameters? 11:56:26 does it return any? 11:56:38 create creates the new header and puts a "call dovariable" in the code field address of the new word 11:56:47 no parameters 11:56:48 dovariable? 11:56:50 no return variables 11:57:04 dovariable is the word to hadle variables 11:57:07 call dovariable 11:57:10 dd xxxxx 11:57:17 the call leaves a return address on the stack 11:57:28 i.e. the body field address of the variable 11:57:36 we can now @ or ! to that address 11:57:48 so : : create ;uses nest ; 11:57:50 creates the header 11:57:51 BUT 11:57:55 how's the variable space allocated? 11:58:07 : variable create 2 allot l 11:58:12 s/l/; 11:58:18 : variable create 2 allot ; 11:58:19 or 11:58:21 more sane 11:58:27 : variable create 0 , ; 11:58:33 ','? 11:58:43 comma stores the 0 at wherever here points to 11:58:49 and then allots the space 11:58:58 : , here 2 allot ! l; 11:59:06 argh extract that l hehe its not there :P 11:59:17 : , here 2 allot ! ; 11:59:22 what's here? 11:59:22 first we call here 11:59:32 here is like $ in assembly 11:59:40 here is where the dictionary pointer (dp) points to 11:59:41 oh, ok 11:59:48 ah 11:59:52 now I know what the dp is 11:59:53 everything below dp is allocated space 12:00:02 hm 12:00:05 here could be coded as 12:00:09 : here dp @ ; 12:00:19 except dp is ALWAYS headerless 12:00:29 to prevent people doing shit like 5 +!> dp 12:00:31 heh 12:00:33 illegal 12:00:37 5 allot is legal 12:00:58 notice in the definition for comma we allocated the space BEFORE we stored the data there 12:01:09 here \ get address of dp 12:01:19 4 allot \ allocate space 12:01:32 ! \ store data 12:01:35 got it? 12:01:39 you also have c, 12:01:46 c, compiles a character 12:01:55 , compiles a "cell" 12:02:11 a dword in isforth 12:02:15 so, when a new word definition is started, its name is associated with dp? 12:02:20 Argh 12:02:20 no 12:02:22 Lag 12:02:26 fuck.. 12:02:34 --- Ping reply from rob_ert : 92.06 second(s) 12:02:36 !!!! 12:02:41 when a new definition is started the CODE for that definition is compiled into the dictionary 12:02:47 whereever dp points to 12:02:59 dp advances with everything that gets stored 12:03:19 compilation is basically just storing data at where here points to and advancing dp 12:03:31 lets get back to the colon example 12:03:40 : : create xxx yyy zzz ; 12:03:56 colon creates a header for the new word 12:04:00 it then calls create 12:04:06 erm the above definition is fubar grr 12:04:22 : : create ;uses nest ; 12:04:29 : foo xxx yyy zzz ; 12:04:44 lets walk thru the compilation of foo to see how : works 12:04:46 ;uses? 12:04:50 ok 12:04:51 ill get to that 12:04:53 :) 12:04:56 forgive me 12:04:57 colon calls create 12:05:19 create CREATES a new header and points the header at the code for the new word - which hasnt been compiled in yet 12:05:26 (wossname: Listen to this carefully) 12:05:36 listen? 12:05:41 read 12:05:42 create then compils a "call dovariable" in the new words code field 12:05:51 all "created words" are assumed to be variables 12:05:58 we need to "correct that" now 12:06:15 ;uses patches the call dovariable and in this case makes it a call nest 12:06:35 so - : created a header and patched the header to USE nest instead of dovariable 12:06:41 it then switched us into compile mode 12:06:49 we now return to the inner interpreter 12:07:05 we parse the input stream and find "xxx" 12:07:11 we search the dictionary for this word 12:07:13 we find it 12:07:22 find returned the address of the cfa of xxx 12:07:27 cfa+ 12:07:28 ? 12:07:42 interpret sees that we are in compile mode and compiles the address of xxx into the : definition 12:07:47 cfa = code field address 12:07:52 nfa = name field address 12:07:58 lfa = link field address 12:08:07 nfa and lfa are in the header 12:08:15 ok :) 12:08:16 so we keep going 12:08:19 we see YYY 12:08:27 and that gets commad into the new : definition 12:08:29 zzz too 12:08:37 then we see the ; 12:08:40 this is a special word 12:08:43 its immediate 12:08:52 --- join: qless (~cerberus@clgr000977.hs.telusplanet.net) joined #forth 12:08:52 we are in compile mode but it EXECUTES!!! 12:09:03 Hello, qless. 12:09:17 I440r: Can't it do what with [ and ] ? 12:09:20 ; compiles a exit into the colon definition and then switches us backk into interpret 12:09:20 howdy folks, rob_ert, i44or :) 12:09:22 switch between modes 12:09:32 : [ state off ; 12:09:34 bbl 12:09:35 : ] state on ; 12:09:48 : does a ] 12:09:50 ; does a [ 12:10:13 rob_ert: eh, why r u so lazy reading that underview i gave u? 12:10:31 onetom: I've read some pieces of it 12:10:41 but it doesn't explain all this :( 12:11:07 rob_ert: read it all, and u will have a pretty good understanding of the internalsd 12:11:20 iguess @least 12:11:32 but i have another link 4ya 12:11:41 if that was just not enough 12:11:42 ok, thanks 12:11:46 it wasn't :) 12:11:55 And I knew of that a long time ago 12:12:01 (the underview) 12:12:02 a comparision of various 4th implementations 12:12:08 hm 12:12:13 what can you learn from that? 12:12:16 what does it discuss? 12:12:29 u will in a sec :) 12:16:05 its not that what i was talking about but seems still quite proper 4 u (probably) 12:16:06 http://www.complang.tuwien.ac.at/forth/threaded-code.html 12:16:19 but i keep searching on 12:17:02 thanks :) 12:17:06 http://www.zetetics.com/bj/papers/moving1.htm 12:17:11 thats it 12:17:31 brb 12:17:32 it also talks about Token Threaded Code (TTC) 12:17:49 which is a funny idea 12:18:31 but still appliable in small projects 12:18:41 in very small 1s, imean 12:20:00 back 12:20:03 I'll check :) 12:20:04 wb 12:20:06 --- join: Speuler (~l@195.30.184.51) joined #forth 12:20:11 'day 12:20:30 Hoi :D 12:24:15 bongo i fixed my bug with u. heh 12:24:33 any time i tried to u. a negative number the sign would be retained 12:25:03 negative-number base @ /mod swap . 12:25:12 you fixed it, by using abs ? 12:25:20 or /mod problem ... 12:25:22 keep repeating that and i would eventually end up with -1 as a quotient 12:25:25 no 12:25:40 using mu/mod instead of /mod 12:25:44 try this 12:25:47 -1 16 /mod 12:25:58 returns -1 quotient and remainder of 16 12:26:26 but after abs, no negative numbers involved ... 12:26:34 gee, look: http://tunes.org/Tunes-FAQ-2.html section 2.2 about metaprogramming & reflection (just some lines, worth 2 read) 12:26:46 0<: sign hold 12:26:48 abs 12:26:57 #s 12:27:24 speuler -1 u. in hex is ffffffff not 1 12:27:49 yes, but -1 abs is 1 12:28:08 ah. 12:28:15 unsigned # out 12:28:23 correct 12:28:31 which is wrong 12:28:36 -1 . should return -1 12:28:36 but 12:29:03 -1 u. should return 4294967295 12:29:07 -1 0< -> - 12:29:09 could someone give me a simple use of does> , and create now when I know a little more? Just a word definition or so 12:29:11 not 1 12:29:12 -1 abs -> 1 12:29:15 ergo -1 12:29:36 : foo create does> ; 12:29:44 exactly heh 12:30:16 : create noop does> ; 12:30:16 heh 12:30:27 a no operation class of word! 12:30:39 erm 12:30:52 and those did? 12:30:56 : foo create does> ; \ you had it rite heh 12:30:56 foo does-nothing 12:31:03 foo does-nothing-too 12:31:11 foo still-does-nothing 12:31:11 heh 12:31:14 :D 12:31:27 foo DOES create a new word 12:31:32 foo bar 12:31:37 does> is very difficult to explain the mechanics of 12:31:37 but 12:31:46 how to use it is easy to explain 12:32:06 speuler thats what im saying - it creats a new class of DO NOTHING words heh 12:32:22 * rob_ert wants to know what it does :-/ I guess it mess around with the dictionary pointer, right? 12:32:34 no 12:32:55 only if you ask for it with actions following create or does> 12:32:59 but not by itself 12:33:18 does> just changes the run time sematics of the created word 12:33:35 so it executes, when called, the code following does> 12:33:43 with its own address on top of stack 12:34:41 : foo create ; is about the same as : foo create does> ; 12:34:44 speuler how would you write docolon with a create does> ? 12:34:45 but 12:34:54 heh 12:35:06 : i mean 12:35:09 docolon, or colon ? 12:35:18 : : create does> what goes here ? ; 12:35:18 :) 12:35:33 about like this : : create [ does> execute ; 12:35:35 colon 12:35:42 ther does> of : here is the same as nest 12:35:58 no 12:36:05 it doesnt "execute" anything 12:36:13 well 12:36:13 it does 12:36:13 but 12:36:30 that would only execute the FIRST token of the : definition 12:36:42 the nest is missing, right 12:37:22 : create [ does> (push ip here) - pop body address into ip ; 12:37:33 the "push ip here" means to the return stack heh 12:37:53 this would be a very bad way of implementing nest tho heh 12:38:28 : : create ] does> ip@ >r ip! ; 12:38:59 except ip@ would always return the address of the "ip@" in : 12:39:09 this cant ever work 12:39:09 its a chicken or egg problem heh 12:39:51 create ['] docolon , [ 12:39:54 because the actually 12:39:54 dodoes already pushed IP onto the return stack! 12:40:06 : : create ] does> ip! ; 12:40:06 thats it! 12:40:18 ] ... 12:41:04 hrm - we heed a word called code> 12:41:12 that works like does but does code 12:41:20 : create ] code> 12:41:28 pop ip 12:41:28 next 12:41:28 erm : : even 12:41:40 ;does is / was used for that supposedly code> would do 12:41:49 ugh! heh im a dummy - we HAVE one ! 12:42:20 : : create ] ;code 12:42:20 asm goes here 12:42:31 does> is immediate 12:42:36 sure. ;code i mean, not ;does 12:42:43 it compiles a ;code into the does word 12:42:44 i think i need another coffee ... 12:42:58 ;code patches the cfa of the word created with the does word to use the following machine code 12:42:58 ya 12:42:58 mem 12:43:01 kind'f distracted 12:43:08 doing 3 things at once 12:43:20 Only 3? 12:43:30 im gona go to store 12:43:30 bbl 12:43:47 --- quit: I440r ("abort" gotta go to store"") 12:43:57 * onetom is sad. there r many wiser ppl outthere. ive found a prj whats just we were wondering about w futhin. this is tunes :/ 12:52:55 onetom: wisdom has nothing to do with knowing a lang better than you do 13:02:09 cheer up 1tom 13:02:37 thats right, onetom. wisdom comes from knowing how to cheat creatively on your taxes 13:15:00 --- join: Speuler_ (Speuler@195.30.184.4) joined #forth 13:15:04 --- quit: Speuler ("using sirc version 2.211+KSIRC/1.1") 14:12:50 :) 14:13:52 how nice that theres always somebody here who can make me cheerup 14:14:05 nice is that 14:14:49 but this tunes project really rocks 14:15:05 join! 14:16:20 hi 14:16:36 hello 14:16:40 I'll shut up now 14:16:44 * wossname drinks orange juice 14:16:45 havent met u b4, i guess 14:17:02 what r u interested in? 14:17:17 (4th is not an acceptable answer now :) 14:17:22 c 14:17:27 * wossname hides 14:17:44 ;) 14:17:59 osdev+interpreting+compiling 14:18:10 computer games too 14:18:14 hmmm, thats fine 14:18:23 what kinda games 14:18:40 and why r u here, then? 14:18:47 ah, rob invited me 14:18:55 we're discussing writing a 4th interpreter/compiler 14:19:03 because it's an interesting language 14:22:01 ahha! so u r the 1 14:22:17 aaand? what about writing it in C or even pascal 14:22:21 but not in asm 14:22:30 coz asm is too specific 14:22:39 we're asm freaks 14:22:47 that's the point, really 14:22:51 and probably we r talkin about x86 asm 14:22:58 yes 14:23:04 don't have the skizzles for motorola :/ 14:23:10 eh, sed -- imean sad ;) 14:23:24 I looked at some motorola source once... it was scary... 14:23:30 I'll stick with my 6 registers, sir! 14:23:41 dict skizzles? 14:24:02 eh, thats even more sad 14:24:22 coz id b interested in writing a 4th in asm but 14:24:48 4 a dragonball EZ proc, what is a motorola made 14:27:31 the palm IIIe what i have is built upon on this proc 14:28:13 I've only used a palm once 14:28:18 not bad, I guess 14:29:07 eh, its fuckin great 14:29:16 for its price certainly 14:29:28 --- quit: qless (Read error: 110 (Connection timed out)) 14:29:31 I don't have anything to compare it with 14:29:36 just take your word for it 14:29:42 (I have a gameboy advanced ;) 14:29:44 ive found 4ths 4 it, but they r not opensource 14:29:59 well, the palm ide is free, right? 14:30:12 well... what is the ide? 14:30:26 u think of gcc-m68k? ;) 14:30:56 I haven't used lunix very much, I am a windows wussy 14:31:42 yet 14:31:47 iguess 14:31:54 or even hope so ;) 14:32:07 palm provides a magical development thingy 14:32:18 codewarrior? 14:32:22 or what? 14:32:39 dunno, coz i havent started developing 4 it yet 14:32:40 an emulator 14:32:55 desktop sdk for windows 14:32:57 eh, thats not an ide 14:33:08 probably only works with vs 14:33:20 all windows stuff 14:33:32 good, who the fck cares about desktop sdk? we roll our own 1s under linux ;) 14:33:39 :L 14:33:57 the pose is opensource anyway 14:34:14 and also exists for macs & unices 14:34:31 so i also have pose under my debian box 14:34:32 onetom: re posix on top of forth: unix sucks 14:35:07 Etaoin: yes, i wasnt really serious about it, but why not? 14:35:28 win also sux, but there is wine despite of this.. 14:36:02 it would b a transitional state having apps using 4thos through a posix emu layer 14:37:08 onetom: unix is better than windows, but unix is still not the best os possible imo 14:37:59 but it has too many apps, so doesnt worth to ignore it 14:44:40 --- join: MrReach (~mrreach@209.181.43.190) joined #forth 14:44:53 hihi! 14:45:12 hello 14:51:21 --- nick: MrReach -> MrGone 15:05:05 --- quit: wossname ("fogklug") 15:32:41 ive found colorforth. 15:32:54 Hehe 15:32:56 Sounds nice. 15:32:57 colorForth does not conform to the ANS Forth Standard. 15:33:03 It is a dialect built upon the instruction set of my Forth microprocessor chips. 15:33:25 I'm coding a tiny forth for DOS, using TTC 15:33:27 yay 15:33:37 (section 4 in that doc you linked me to) 15:33:39 A dialect of Forth that uses color to replace punctuation. 15:33:47 Includes its own operating system. 15:34:10 pretty exciting features :) 15:34:13 --- join: I440r (~mark4@1Cust228.tnt3.bloomington.in.da.uu.net) joined #forth 15:34:16 Hey I440r! 15:34:18 rob_ert: wow :) 15:34:22 I440r: hi 15:34:39 rob_ert: r u doing it in asm finally? 15:34:40 hi 15:34:48 im trying to write "see" hehe 15:34:58 the decompiler 15:35:02 do u know what is TTC? 15:35:07 onetom: Yes. 15:35:08 gotta take a break from working on curses 15:35:09 TTC in hungatrian? 15:35:13 TTC in hungarian? 15:35:14 onetom: Nope. 15:35:16 thers still some issues ive not resolved with that 15:35:24 Tétova Teve Club 15:35:26 I meant I write it in asm. 15:35:29 ANd that is..? 15:35:44 that is Hesitating Dromedar Club :) 15:35:55 its a tamagochi like stuff 15:35:58 lol 15:36:20 The Hesatating Dromedar Club... what a nice name. 15:36:28 http://www.ttc.hu 15:36:52 have a look @ it. look charming :) 15:38:22 I440r: see is not a simple issue 15:38:49 especially coding it in the forth way, avoiding those evil vars :) 15:39:00 sure it si 15:39:05 and formatting is another big issue 15:39:12 this see has ONE variable :) 15:39:19 which actually isnt used yet 15:39:23 but if u dont care of formatting 15:39:32 its to do with the formatting 15:39:32 how far to indent 15:39:45 this is eventually going to be in a debuggre 15:39:48 * onetom shaking of the ONE var ;) 15:40:00 cozof 15:40:20 i added a new field to all words 15:40:32 nah, structural changes... 15:40:34 just behind the cfa is a pointer to the nfa 15:40:50 wasted space in a turnekeyed app but it was the only way 15:41:08 : .id 4- @ count $1f and type ; 15:41:11 ??? there were no nfa b4? 15:41:18 ' any-word .id 15:41:29 displays the name of that word 15:41:29 btw, do u store your code in cvs? 15:41:40 yes 15:41:40 there was a nfa 15:41:51 but headers are seperate 15:42:03 once you point to the cfa theres no way to get back to the nfa 15:42:14 prcs not cvs 15:42:14 cvs is bloatware 15:42:16 oy, c now 15:42:30 aha 15:42:43 prcs is simpler, i guess 15:43:33 so, u also have earlier verions of is4th? 15:44:00 does your prcs is accessible remotely? 15:49:53 --- join: TheBlueWizard (TheBlueWiz@ip-216-25-205-193.vienna.va.fcc.net) joined #forth 15:49:53 --- mode: ChanServ set +o TheBlueWizard 15:49:57 hiya all 15:50:00 Hello. 15:50:04 hiya rob_ert 15:50:28 I440r: ok, i c, prcs doesnt support client/server connections 15:51:22 rob_ert: u ensures a strong social bg 4 this channel :) 15:51:25 bbl 15:51:29 hiya I440r! how's life going? 15:51:30 --- quit: I440r ("Reality Strikes Again") 15:51:49 TheBlueWizard: he's about to implement SEE, so 15:51:53 onetom: 50% of my social life is in #forth. The rest are in other channels. 15:52:37 neat 15:52:40 he appended an nfa pointer just right after cfa 15:53:04 to have bidirectional link between code and name dicts 15:53:06 SEE? 15:53:19 "disasm" 15:53:30 oh...cool! 15:53:39 : asd qwe yxc ; 15:53:45 I know, I know 15:53:47 see asd 15:53:47 : asd qwe yxc ; 15:53:50 right 15:53:54 :) 15:54:01 g'day all 15:54:04 good night too 15:54:25 I thought SEE was an acronym for something, cuz all letters are capped 15:54:26 schweet dreamzzzzzZZZZzzzzZZ 15:54:32 Night then 15:54:32 bye Speuler_ 15:54:38 Sleep well. 15:54:48 thanks 15:54:53 TheBlueWizard: we had an agreement earlier 15:55:00 about using caps 15:55:05 what agreement? 15:55:23 we write 4th words w caps sometimes 15:55:29 --- quit: Speuler_ ("ircII EPIC4-1.1.2 -- Are we there yet?") 15:55:37 * TheBlueWizard doesn't recall having any agreement.... 15:55:42 to separate them from spoken lang 15:56:19 though yeah, Forth is sometimes traditionally written with caps...though it is a bit hard on the eye 15:56:20 we has tied up in a specific situation, so i asked the others to do so 15:56:30 and they r all agreed 15:56:33 fair enuf :) 15:56:43 yup 15:58:33 rob_ert: what other channels r u on? (#asm?) 15:58:42 Uhm 15:58:45 whois me 15:58:49 I'm on a few ;) 15:59:07 * onetom could fall asleep in any moment 15:59:13 Also #minix on efnet... but not right now, got disconnected from there. 15:59:14 Hehe 15:59:26 wow 15:59:40 what goes on #minix? 16:00:21 the readers of the biiig OS book meet there? 16:00:58 s/^the/do the/ 16:03:12 Hehe 16:03:18 Not really 16:03:22 They're most Minix fans 16:03:32 Some of then even IRC from Minix machines 16:04:19 strange. r there any minixes running @ all? 16:04:45 ? 16:04:47 its as strange as talking about cp/m these days 16:04:52 Heh 16:05:16 They're developing software, setting up web servers, IRCing.. everything wiht Minix 16:05:22 It's fantastic 16:05:23 :) 16:05:37 its geek 16:05:49 yeah....is Minix open sourced now? 16:06:09 it was opensrcd all the time 16:06:18 ah...ok 16:06:37 (i hope i know it well) 16:07:00 IIRC Linus once made a legendary comment about Minix: "It sucks!" and went on to developing Linux :) 16:07:05 the big OS book has its src @ least. im sure of it 16:07:24 TheBlueWizard: thats right, but... 16:07:50 Well 16:07:55 minix is a microkernel based stuff, i guess 16:07:58 It became licensed under BSD a few years ago 16:08:08 Uhm... Kind of. 16:08:32 and its simple enough to deliver the ability of os hacking to the masses 16:08:41 :) 16:08:41 have i said it just nice? ;) 16:08:43 so...it wasn't always opensourced then, as I thought :) 16:08:48 Nope 16:09:22 TheBlueWizard: it was open but hasnt been put under such a license 16:09:36 ah...ok 16:09:37 its was the property of tannenbaum, iguess 16:10:09 * TheBlueWizard nods 16:10:14 gotta go...bye 16:10:18 Byebye 16:10:22 --- part: TheBlueWizard left #forth 16:10:26 minix was taught in schools 16:10:49 so it must b open 16:11:30 I don't think you could modify/sell etcx. 16:11:32 etc* 16:11:46 * onetom is nearly bed dead 16:12:08 Hehe 16:12:14 Good night, my friend :P 16:12:14 rob_ert: its not gpled but still opensource 16:12:17 You need sleep. 16:12:26 It is BSD licensed. 16:12:38 finally, yes. 16:12:43 But I think it HAD a more restrictive license. 16:12:45 just told b4 16:13:40 doesnt matter what license it has/had/will have, it was open from its beginning 16:14:07 coz it was created being taught 16:14:13 erm... 16:14:17 :) 16:14:21 * rob_ert teaches Minix. 16:14:28 :PPP 16:14:49 cant say it correctly on this l8 hour 16:15:17 xDD 16:47:53 --- join: I440r (~mark4@1Cust228.tnt3.bloomington.in.temp.da.uu.net) joined #forth 16:49:21 wb :) 16:49:33 hi 16:49:37 missed tbw :P 16:50:25 tbw? 16:53:43 the blue wizard :) 16:53:51 Ah 16:54:11 Bad for you he left then. 16:54:35 i saw he was here but i had to get offline 16:54:40 fast 16:54:46 mrreach is back! 16:54:50 Yup :) 16:54:51 Almost. 16:54:59 He's idling at least. 16:56:05 eh 16:56:07 ya 16:56:14 im coding see 17:01:50 and iu just hit my first snafu 17:02:26 Uhm..? 17:02:33 while repeat again etc all compile null words for the debugger (noops) 17:02:38 dowhile 17:02:38 doagain 17:02:43 dorepeat 17:03:08 the only reason for compiling these noops into a : definition is so that the decompiler can interpret stuff 17:03:22 can see what its decompiling 17:03:31 if we didnt compile those ther would be no way to mark the start of a loop 17:03:40 begin is basically just a here 17:03:46 again is a branch to that address 17:04:03 begin compiles a dobegin and leaves here on the stack 17:04:03 the dobegin is a noop 17:04:18 if else and then DO NOT do this 17:04:40 so when i see a ?branch 17:04:40 i know its an if or an else 17:04:40 erm 17:04:43 else is a branch 17:04:55 if is a ?branch to the else part 17:05:04 else is a branch arround the else part to the then 17:05:33 are all ?branches indents and all branches undents ? 17:10:07 ! i need a branch stack i think 17:10:17 ugh this is complex heh 17:21:20 --- join: qless (~cerberus@clgr000977.hs.telusplanet.net) joined #forth 17:23:53 Hey 17:24:08 heya rob_ert :) 17:25:37 i see mrreach was here 17:35:49 Good night, #forth! 17:36:01 good night rob_ert 17:36:27 --- quit: rob_ert ("My life is my life, and it's per definition a real life.") 17:39:42 --- part: qless left #forth 17:49:47 well - nite nite 17:50:07 --- quit: I440r (": sleep bed go tuck light off ; immediate") 18:26:12 --- join: Soap` (flop@210-54-66-202.dialup.xtra.co.nz) joined #forth 18:26:17 --- quit: Soap- (Read error: 113 (No route to host)) 19:55:53 --- quit: onetom (carter.openprojects.net irc.openprojects.net) 19:55:55 --- quit: MrGone (carter.openprojects.net irc.openprojects.net) 19:55:55 --- quit: Soap` (carter.openprojects.net irc.openprojects.net) 19:56:00 --- quit: ChanServ (carter.openprojects.net irc.openprojects.net) 19:56:24 --- join: ChanServ (ChanServ@services.) joined #forth 19:56:24 --- join: Soap` (flop@210-54-66-202.dialup.xtra.co.nz) joined #forth 19:56:24 --- join: MrGone (~mrreach@209.181.43.190) joined #forth 19:56:24 --- join: onetom (tom@adsl52070.vnet.hu) joined #forth 19:56:24 --- mode: carter.openprojects.net set +o ChanServ 19:59:50 --- join: cerb (cerb@clgr000977.hs.telusplanet.net) joined #forth 20:03:16 --- quit: cerb (Client Quit) 20:10:12 --- quit: Etaoin ("raise KeyError, "I'll bet that's the last time you lock them in the car..."") 21:21:51 --- join: futhin (~thin@h24-64-174-2.cg.shawcable.net) joined #forth 21:27:55 hello all 21:40:32 Morning 22:28:20 --- quit: futhin (Read error: 104 (Connection reset by peer)) 23:32:27 --- join: qless (~cerberus@clgr000977.hs.telusplanet.net) joined #forth 23:32:43 howdy, anybody awake? 23:33:13 * Soap` pinches himself. 23:33:22 I guess so. 23:33:27 soap! you're awake 23:33:41 well good. because this world is empty without Soap 23:35:01 nz, eh? that's a fair trip 23:35:35 you want to hear a funny story? 23:36:43 ok forget it 23:36:46 * Soap` shrugs. 23:36:49 Story me. 23:36:59 you know christchurch? 23:37:13 Live there. 23:37:22 well fuck, that's funny 23:38:08 i met a girl from christchurch who /changed my life/. meaning: if i hadn't met her, i'd probably be having a good time somewhere in southern california 23:39:03 * Soap` raises an eyebrow 23:39:36 i'm serious. she fucking changed my life. like BANG. so i've always wondered about .nz because of that 23:41:33 * Soap` leans towards qless and whispers "we think it's something in the water" 23:44:39 well that's good to know.... i always figured it had something to do with .nz's relationship with .au, the same way .ca has a relationshiop with the .us 23:49:21 you wouldn't know any Simmons would you? 23:50:05 Don't think so :/ 23:50:16 that's cool. i'm kinda relieved you dont 23:50:31 * MrGone laughs out loud. 23:51:04 mrgone! swine! you shouldn't be lurking in the background like that 23:51:59 yes? and you should be distracting me from continuing education in my real estate career with stories of fair ladies in far away countries? @:^> 23:52:23 hehe. beleive me, she was worth being distracted by 23:52:31 :-) 23:58:29 what a night 23:59:59 --- log: ended forth/02.03.16