00:00:00 --- log: started forth/02.05.06 00:05:36 --- join: Cold_Boot (~cbc@208.2.32.25) joined #forth 00:06:39 hi cold_boot 00:06:53 you a forth cluebie or a forth newbie :) ? 00:07:01 cluebie is the word of the day 00:08:32 I'm in #labyrinth 00:10:36 aha 00:10:39 :) 00:10:44 welcome to my humble abode :) 00:11:19 --- join: Forth (~Forth@1Cust209.tnt1.bloomington.in.da.uu.net) joined #forth 00:11:45 I'll have to check out Forth 00:12:18 forth is a serious headfuck when you first start 00:12:29 but if you make it past that it becomes easier and easier and easier 00:12:45 What is it good for :) 00:12:51 you name it 00:12:57 see the bot forth ? 00:13:06 thats my forth compiler with a sockets extension 00:13:10 and a bot i wrote in forth 00:13:19 hmm 00:13:23 its most commonly used for embedded applications tho 00:13:41 but ive seen it used for everything from a DOOM like game to a complete database system 00:13:54 Could you name some advantages it has? 00:14:07 1: fast executoin (almost as fast as asm) 00:14:13 2: very small executable size 00:14:22 3: fastest development of ANY language BAR NONE 00:14:32 4: very simple design 00:14:50 most real forth coders have either a compiler they wrote themselves from scratch 00:14:59 or a very heavilly modified version of someone elses 00:15:10 how many c coders do you know with their own c compiler :P 00:15:15 oh 00:15:24 4: its extensable 00:15:39 if you need a squareroot function in your compiler and its not there 00:15:41 write it 00:15:47 and save out a new version of the compiler 00:15:58 thers no such thing as a forth PROGRAM 00:16:01 thers just FORTh 00:16:13 applications are just extensions to whats already there 00:16:37 interesting 00:16:47 it is 00:16:49 :) 00:17:37 How long has this be in development? 00:18:35 isforth ? 00:18:35 well 00:18:49 a few years but i had a complete year off heh 00:19:09 Where can I find more infor on forth? 00:19:10 and prior to that i was CLUELESS about how to do syscalls in linux in assembler 00:19:16 www.forth.org 00:19:25 haha of course 00:19:26 ftp://ftp.taygeta.org 00:19:41 www.forth.com is forth inc's web page 00:19:53 well I did a google search 00:19:57 and those came up 00:20:08 looked unrelated 00:20:49 heh 00:21:47 might put the FAQ in the topic btw: ftp://ftp.forth.org/pub/Forth/FAQ/general 00:22:42 okay 00:22:52 now Forth is sounding familer after reading the FAQ 00:22:57 heh 00:26:13 not many people have heared of forth 00:26:26 and most of those that have didnt bother investigating 00:26:35 and most of those that did gave up after a few minutes :P 00:26:46 I read the whole FAQ 00:26:46 haha 00:26:54 cool :) 00:26:55 wait 00:26:59 no just the general info 00:32:49 --- join: bob4th (~bob4th@adsl-63-197-120-243.dsl.sktn01.pacbell.net) joined #forth 00:33:19 bi bob 00:33:28 Hi 00:34:05 this interview added to the channel regulard :)) 00:34:15 regulars 00:55:55 I downloaded isForth but I am not shure what the requirments are to run. 00:56:26 What are they? 00:56:57 oh 00:57:01 linux x86 00:57:19 and you need a non braindead version of the nasm assembler to build the kernel 00:57:27 the latest nasm works heh 00:57:34 you need the %xdefine directive 00:59:56 Thanks I need to install linux, so I gess I will just look at the files now. 01:02:10 :) 01:02:16 the source files are well commented 01:02:25 and express some of my "opinions" too :) 01:05:50 --- join: davidw (~davidw@ppp-59-19.25-151.libero.it) joined #forth 01:39:47 --- quit: Forth (Remote closed the connection) 01:40:20 --- quit: bob4th () 01:42:04 --- quit: I440r_ (": sleep bed go tuck light off ; immediate") 02:23:45 --- quit: Cold_Boot (No route to host) 03:01:02 --- join: deltab|xia (~deltab@216.234.235.21) joined #forth 03:02:29 Hi 03:04:40 --- quit: deltab ("bye bye mu2") 03:04:46 --- nick: deltab|xia -> deltab 03:16:12 Is there any way to make the compiler intepret code compile-time, like [start-of-intepretation] 2 dup * [end-of-intepretation] constant myconst 03:16:12 ? 03:34:52 --- quit: Soap- (Read error: 113 (No route to host)) 04:19:40 --- nick: mmc|away -> mmc 05:02:58 rob_ert: what? 05:19:59 --- join: juu (ammu@baana-62-165-190-249.phnet.fi) joined #forth 05:21:46 Murr! 05:21:49 hello 05:23:41 moo! 05:24:43 oink was hiding under screenupdate bug! agh, how did you know how to hide under not updated rect! ;) 05:24:57 it just appears sometimes, reported bug already 05:25:04 by me, of course 05:25:19 heh :) 05:25:27 * juu always finds new bugs, in any software :) 05:25:42 * juu is mr. exception 05:26:21 bah :) 05:26:32 even in linux i got into some old mode emulation (all with CAPS) 06:05:18 onetom: I want to do a calculation compile-time and compile it as a literal 06:05:32 onetom: Not only using things like 5 1 [+] 06:05:42 onetom: I want to be able to do function calls too 06:08:22 gforth: : x [ 5 dup * ] literal 2 + ; x 06:08:35 Oh, cool :) 06:08:37 Thanks onetom 06:08:49 Is there any other standard? 06:09:03 rob_ert: not too cool, coz gforth doesnt wanna answer... :/ 06:09:25 Oh 06:09:31 Hehe 06:09:34 I misunderstood 06:09:46 other standard? 06:09:46 I though you said that was the gforth way to do it 06:10:00 oh, nooo 06:10:00 But I forgot our little friend is also called gforth :) 06:10:15 lil friend!??! lil bastard!! ;) 06:10:28 Hehe 06:12:15 onetom forgive rob_ert, he's just soo tin.. young 06:12:18 :) 06:12:19 gforth: : x [ 5 dup * ] literal 2 + ; x 06:12:44 Bah 06:12:44 xD 06:13:05 it works 06:13:08 in a real gforth 06:13:15 Your bot is fucked up :) 06:13:18 hoped so :) 06:13:22 you forgot the dot, btw 06:13:24 oh, thank u :p 06:13:46 yeah, thats practical 4 testing :) 06:15:04 gforth: 1 . 06:15:07 onetom: 1 06:15:17 oooh, good, just got it 06:15:26 :-) 06:15:36 thats why dont get any answer! 06:15:49 i forgot the dot, as u said!! 06:15:56 --- quit: rob_ert (Remote closed the connection) 06:16:01 gforth: : x [ 5 dup * ] literal 2 + ; x . 06:16:04 onetom: 27 06:16:44 --- join: rob_ert (~robert@h237n2fls31o965.telia.com) joined #forth 06:17:28 Bah :( 06:17:34 nice bot :D 06:17:34 X crashed =( 06:17:36 :( 06:51:30 hey, is there anybody here who knows how 2 handle serial ports from windows via forth? 06:51:54 imean what 4th has a builtin support for it? 06:51:58 No idea 06:52:00 xD 07:07:24 onetom: with forth? 07:07:32 --- nick: MrGone -> MrReach 07:08:05 Hi MrReach :) 07:08:26 greets, rob_ert 07:08:49 onetom: serial ports in windows ... with forth? which forth? 07:09:04 * rob_ert was stupid enough to redefine "bye" 07:09:14 heh 07:09:23 that can get awkward 07:09:50 gforth: dir 07:09:53 MrReach: in file included from *the terminal*:-1 07:09:54 MrReach: /tmp/fsock-sh-server.request.tmp:46: Undefined word 07:09:54 MrReach: dir 07:09:54 MrReach: ^^^ 07:09:54 MrReach: Backtrace: 07:09:55 I closed the xterm ,hehe :) 07:10:02 gforth: bye 07:10:02 gforth: ls 07:10:08 MrReach: in file included from *the terminal*:-1 07:10:08 MrReach: /tmp/fsock-sh-server.request.tmp:46: Undefined word 07:10:08 MrReach: ls 07:10:08 MrReach: ^^ 07:10:08 MrReach: Backtrace: 07:10:36 gforth: : t s" ls -la" exec ; t 07:10:40 MrReach: in file included from *the terminal*:-1 07:10:40 MrReach: /tmp/fsock-sh-server.request.tmp:46: Undefined word 07:10:40 MrReach: : t s" ls -la" exec ; t 07:10:40 MrReach: ^^^^ 07:10:40 MrReach: Backtrace: 07:10:48 Hehe 07:10:56 Good try ;) 07:12:31 gforth: : t s" test.file" r/w file-open throw . ; t 07:12:34 MrReach: in file included from *the terminal*:-1 07:12:34 MrReach: /tmp/fsock-sh-server.request.tmp:46: Undefined word 07:12:34 MrReach: : t s" test.file" r/w file-open throw . ; t 07:12:34 MrReach: ^^^^^^^^^ 07:12:34 MrReach: Backtrace: 07:12:44 cool, he took that out 07:13:05 erm .... or is it open-file? 07:13:13 gforth: : t s" test.file" r/w open-file throw . ; t 07:13:16 MrReach: in file included from *the terminal*:-1 07:13:17 MrReach: /tmp/fsock-sh-server.request.tmp:46: No such file or directory 07:13:17 MrReach: : t s" test.file" r/w open-file throw . ; t 07:13:17 MrReach: ^ 07:13:17 MrReach: Backtrace: 07:13:59 gforth: : t s" .bashrc" r/w open-file throw . ; t 07:14:03 MrReach: in file included from *the terminal*:-1 07:14:03 MrReach: /tmp/fsock-sh-server.request.tmp:46: No such file or directory 07:14:03 MrReach: : t s" .bashrc" r/w open-file throw . ; t 07:14:03 MrReach: ^ 07:14:03 MrReach: Backtrace: 07:14:45 gforth: : t pwd ; t 07:14:49 MrReach: in file included from *the terminal*:-1 07:14:52 MrReach: /tmp/fsock-sh-server.request.tmp:46: Undefined word 07:14:52 MrReach: : t pwd ; t 07:14:52 MrReach: ^^^ 07:14:52 MrReach: Backtrace: 07:15:31 * MrReach thinks of other things for a while 07:39:31 MrReach: filehandling? newer sec hole? ;) 07:42:44 MrReach: yeah, id like 2 access serial port via "i-dont-care-which"forth 07:44:39 general interface might be nice.. 07:44:40 :) 07:45:23 ok 07:45:35 onetom: you're best bet is probably win32forth 07:45:58 gforth *MIGHT* be able to do it, but the interfaces to the system .DLLs is not documented 07:46:12 Hmm... /me tries to intepret that sentence. 07:46:29 uh 07:46:32 wait 07:46:34 * MrReach checks the Win32 platform SDK for how to access the serial ports 07:46:37 did you mean "your"? 07:46:49 yes, I did 07:46:54 heh, parden me 07:47:18 Hehe, np ;D 07:47:25 MrReach: thx 07:47:59 MrReach: my major problem w gforth is that i wasnt able 2 recompile it under windows 07:48:13 * MrReach nods. 07:48:24 MrReach: so i cant extend it like i did in linux :( 07:48:37 MrReach: w324th is non free is it? 07:48:55 MrReach: i cant use it in commercial app, can i? 07:50:11 not that I'm aware of 07:50:24 he might be using a GNU license 07:52:56 onetom ... arg! this gets too complicated to detail over IRC 07:54:05 there's roughly 23 functions and 7 structures to the M$ serial port interface 07:54:36 onetom: do you have the Win32 SDK yet?? 07:55:05 I recommend getting that, first, because it really is unreasonable to try to do any windows programming without the manuals 07:55:19 MrReach: what win32forth r we talkin about anyway? 07:55:31 the 32 bit Forth for Windows(32s,95,NT) by Tom Zimmer (zforth@ix.netcom.com) and 07:55:32 Andrew McKewan, 07:55:33 ? 07:55:41 well, I think it's up to 4.0 now 07:55:56 yes, the zimmer forth 07:56:19 (uknow, im browing taygeta...) 07:56:23 he's dropped win32s support, btw 07:56:38 ithink delphi has the win32 sdk helpfile 07:56:42 would you like zimmer's web page? 07:56:56 I think it's freely available from miscrosoft 07:57:06 but like 11MB compressed 07:57:09 nice 07:57:23 but i dont wanna puke my desk 07:57:39 thats why im tryin 2 find a neater interface 07:57:44 4 the serial port 07:57:55 http://pw1.netcom.com/~zforth/zimmer.html 07:58:01 once - yrs ago - i saw a deplhi component 07:58:02 puke your desk?? 07:58:03 thx 07:58:18 * juu supposed to start forthing today 07:58:25 heh, it looks quite similar to the old FOSSIL drivers, if you're familiar with them 07:58:35 MrReach: yeah, coz of browsing such dox like w32sdk... 07:58:37 yuck 07:58:49 no, im not familiar 07:58:58 i always rolled my own comm driver 07:59:01 under dos 07:59:05 juu: :))) 07:59:37 coz most of my task didnt require so bloated drivers 08:00:00 there is good reason for letting the OS handle the drivers, even though it's a nuisance for programmers 08:00:09 MrReach: dont u know by chance, how can i access io ports under windows? 08:00:25 you're not allowed to 08:00:37 MrReach: should i write a driver? no other way? 08:00:38 it rather defeats the purpose of having an operating system 08:01:24 * MrReach flips back to the interface spec for a few moments 08:01:28 MrReach: have u every written io port handling code 4 windows? 08:01:35 k 08:01:38 thx 08:03:41 back 08:04:18 you should only write a driver if non is available for your device, or if the only one you can find is broken beyond repair 08:04:42 no, I've not written a driver (that's a different SDK altogether @:^) 08:04:44 In isforth, can I create a stand-alone executable? 08:05:01 but I have installed "hack" drivers that let me control the hardware more directly 08:05:35 rob_ert: not yet, I don't think, but it's definately in the "todo" list for the first release 08:05:47 OK :-) 08:05:53 I might be wrong on that, I440r might be farther ahead than I think 08:06:08 Hmm 08:06:40 When you build the thing, you run isforth.f, and it creates the executable, isforth... I kind of thought of that 08:07:03 that was your idea? 08:07:04 MrReach: hack drivers? 08:07:18 rob_ert: u can create turnkey apps 08:07:26 What's thta? 08:07:29 er, that* 08:07:31 MrReach: could u explain it a bit more? 08:07:42 rob_ert: fsave? 08:08:03 onetom: the specific application was a light/sound machine for self hypnosis ... I needed to control the bits of the parallel printer port individually, and to be able to keep them in a specific state until told to do otherwise 08:08:46 Me will check 08:08:48 windows does not provide that functionality, so I downloaded and installed a .DLL that provided a new driver functionality 08:09:15 onetom: if you can, you really do want to use the windows drivers for serial ports ... here's why 08:09:48 rob_ert: just say fsave filename, & here u go.. 08:10:17 Thanks :) 08:10:27 MrReach: nah, why? 08:10:50 if you use the regular drivers, you needn't worry about whether the port is a 16550 chip, a multiport serial card, a port shared across the network, a USB hub with serial ports in it, or some other odd configuration 08:11:16 oh, I'm mistaken then, looks like isforth *CAN* save executables 08:12:35 MrReach: sure, sure, iknow what is the purpose of the drivers in general :) 08:13:37 but i doesnt wanna use any standard help 4 serial port handling 08:14:07 and infact i would b more happy if i could access 2 input & 2 output bits 08:14:27 and implement my own timing independent protocoll via them 08:15:20 ok, then I suggest getting something like io.DLL 08:15:39 so a similar stuff that u were talkin previously (the parallel port hack) 08:15:39 although you're likely to B0RK windows with it 08:15:54 would b much more satisfactory me 08:16:14 there are dlls that provide functionality similar to the INB and OUTB instructions 08:16:37 MrReach: dont b afraid, i wont touch any other port just the serial 1s :) 08:17:01 MrReach: if there r, can u help me find some? 08:17:02 I didn't realize that you wanted to bit-twiddle the status lines 08:17:18 * MrReach sighs, "I suppose so." 08:17:21 or do u already have some tested & working 1? 08:17:33 no, not for the io.dll thingy 08:17:38 sad 08:19:27 http://www.geekhideout.com/iodll.shtml 08:19:34 there you go, that should do it for you 08:19:57 * onetom chks 08:20:27 watta site is that anyway :] 08:20:32 thx 08:20:36 alot! :) 08:21:08 no problem ... it didn't take me as long as I expected to find it 08:26:57 u helped me an awfully lot 8-))) that io.dll is just the perfect friend 4 such problems i have! 08:30:42 heh, cool 08:31:54 --- join: Speuler (~l@a161161.upc-a.chello.nl) joined #forth 08:32:07 g'd morning 08:32:16 greetings, Speuler 08:32:37 Hoi :) 08:32:42 how's the art going ? 08:33:08 it can be art when you are bludgeoning things? 08:33:46 What is on the stack after CREATE? 08:34:02 whatever was on the stack before 08:34:13 it neither ads or subtracts from the stack 08:34:27 the created word, hoever is different 08:34:35 Okay 08:34:36 Hm 08:34:46 the created word leaves an address of the data field when it is executed 08:35:08 Well, how does ',' (comma) and does> know what newly created word to mess with? 08:35:12 gforth: .s create foo .s foo .s 08:35:15 MrReach: <0> <0> <1> 1075038368 08:35:40 Hm 08:35:46 they always work with the most recently created word 08:35:54 Address to what? Its own body? 08:36:07 the data field for that word 08:36:29 Okay...does the dictionary pointer point to the most recently created word? 08:36:36 erm ... how does one do hex input in gforth? 08:36:48 hex 55 . 55 08:36:50 Like that? 08:37:03 like maybe $af 08:37:17 Using hex, I suppose 08:37:25 rob_ert: erm ... it doesn't really matter 08:37:34 What doesn't matter? 08:37:47 CREATE creates a word that when executed returns an address 08:38:02 sounds simple 08:38:08 anything immadiately comma'd in is pointed to by that address 08:38:30 ok, let's try an example ... 08:38:44 : createdMYVAR MYVAR . ; 08:39:05 right`? 08:39:24 gforth: hex create foo abcdef , foo c@ . cr foo 1+ c@ . 08:39:25 thuogh now it prints it.. hmm.. 08:39:27 MrReach: EF 08:39:28 MrReach: CD 08:39:36 rob_ert: the word, pointing to the most recent word, is LAST, but "," obtains the write address through HERE 08:40:09 did you see how abcdef is comma's into the data field of foo ?? 08:40:24 it just happens that a new word is at begin of free space, where "," writes to anyway 08:40:39 * Speuler gone 08:40:50 ok, be well, Speuler 08:40:58 Hm.. I see. 08:41:02 bye Speuler. 08:41:06 So 08:41:13 How does does> come into the picture? 08:41:38 ok, does> can only be in a colon def that has create in it 08:41:49 (unless you want ot get really wierd and funkey 08:41:56 for example ... 08:42:39 gforth: hex : t create foo abcdef , does> dup c@ . cr 1+ c@ . ; 08:42:42 MrReach: in file included from *the terminal*:-1 08:42:43 MrReach: /tmp/fsock-sh-server.request.tmp:46: Undefined word 08:42:43 MrReach: hex : t create foo abcdef , does> dup c@ . cr 1+ c@ . ; 08:42:43 MrReach: ^^^ 08:42:43 MrReach: Backtrace: 08:43:06 erm ... 08:43:22 oh! duh! 08:43:40 gforth: hex : t create abcdef , does> dup c@ . cr 1+ c@ . ; 08:43:45 Isn't the word after create taken from the input stream? 08:43:52 note that that does nothing, because t isn't called 08:44:06 yes, but create is NOT immediate 08:44:25 so create won't be called until t is executed 08:44:34 Oh 08:44:36 But.. 08:44:39 which means that t is going to parse the input stream 08:44:45 How will it know where to take its unput? 08:44:47 input* 08:44:52 Hm 08:45:06 from whatever is next in the input stream ... like so ... 08:45:19 gforth: hex : t create abcdef , does> dup c@ . cr 1+ c@ . ; t foo 08:45:44 that still produces no output, because foo is never executed 08:45:44 I see. 08:46:05 so, let's execute foo, which shows some of the data is its own datafield ... 08:46:09 gforth: hex : t create abcdef , does> dup c@ . cr 1+ c@ . ; t foo foo 08:46:13 MrReach: EF 08:46:14 MrReach: CD 08:46:25 --- join: BigBoyToddy (~bbt@co-trinidad1a-22.lbrlks.adelphia.net) joined #forth 08:46:33 Hi BigBoyToddy. 08:46:51 Hmm 08:46:58 hello 08:47:00 I better look up the asm code for does> :-) 08:47:16 yes, create does> is not very easy to understand 08:47:34 Hmm 08:47:46 I think moving forth part 3 had something about does> 08:49:26 --- join: futhin (~thin@h24-64-174-2.cg.shawcable.net) joined #forth 08:49:34 greets, futhin 08:49:50 Hi 08:49:58 How do you define CONSTANT in forth? 08:50:09 Using create, does etc. 08:50:20 hmmm ... 08:51:11 gforth: : constant create , does> @ ; .s 25 constant a cr .s a cr .s 08:51:14 MrReach: redefined Constant with constant <0> 08:51:14 MrReach: <0> 08:51:14 MrReach: <1> 25 08:51:31 like that 08:51:54 it *COULD* be done that way, but constant is usually heavily optimised 08:52:12 Just wanted to know, since an example uses high-level constant 08:52:30 Already knew the docon code 08:52:39 * MrReach nods. 08:52:53 i've gotten two weird emails since chuck 08:52:57 but not from chuck 08:52:57 constants and defer/is are good examples of does> 08:53:10 Who did you get them from? 08:53:10 oh? what's been their gist? 08:53:20 ekbw Julie Mon 05/06 968b 08:53:20 info tjdfw 08:53:20 What's "defer" used fro? 08:53:33 Heh 08:53:34 Nice. 08:54:09 From: "ekbw Julie" 08:54:09 To: jbrobey@yahoo.com 08:54:09 Subject: info tjdfw 08:54:09 Date: Mon, 6 May 2002 13:09:43 +0200 08:54:09 inbqwpesbpjsovwuhoybsujhrpwbbakffjnw 08:54:15 defer creates words that when executed actually call other words 08:54:20 Hah 08:54:26 Hm 08:54:30 mrreach: basically, no gist.. 08:54:30 Sounds useful and hard :) 08:54:37 that looks like a broken mail client 08:55:13 it is common to see ... defer EMIT ' (emit) is EMIT 08:55:37 so, when EMIT is executed, it actually executes (emit) 08:55:47 Hm 08:56:06 I did not get how that worked, heh. 08:56:13 BUT, if (emit) sends to console, I might redirect furthor output to the serial port like this ... 08:56:42 mrreach: i think i might be recieving advertisements or something but bleah.. it's weird :P 08:56:49 ' (serial-emit) IS EMIT 08:57:41 the word ' (pronounced tick) parses a word, finds it in the dictionary, and returns its xt (execution token) on the stack 08:58:02 --- quit: Speuler (Read error: 113 (No route to host)) 08:58:10 Yes, I know that one... and IS ? 08:58:25 IS takes an execution token and stores it into a defered word (which it expects to parse from the input stream) 08:58:46 i think i might be recieving the ad email because of my post onto comp.lang.forth ? 08:58:50 Oh... 08:59:08 How about the word defer itself? 08:59:52 : DEFER create ['] not-initialized , does> @ execute ; 09:00:33 the word not-initialized throws an error, explaining that a defered word was never set to point at anything with IS 09:01:18 So, it's initialized like that, and then you may change that with IS? 09:01:30 correct 09:01:42 gforth: defer blah blah 09:01:54 gforth: defer blah see blah 09:01:58 MrReach: Code noop 09:01:59 MrReach: ( $804A352 ) mov eax , 8054A40 \ $A1 $40 $4A $5 $8 09:01:59 MrReach: ( $804A357 ) mov eax , [eax] \ $8B $0 09:01:59 MrReach: ( $804A359 ) add 8054A40 , # 4 \ $83 $5 $40 $4A $5 $8 $4 09:02:01 <-- was thinking about kicking everyone off the channel last night, to test if everyone on this channel is dedicated to being here :P 09:02:24 :) 09:02:40 and autojoins? 09:02:40 Heh 09:02:41 in gforth, an uninitialized deferred word appears to be a no-op 09:02:49 We would create #forth2 and ban you in there :) 09:03:03 rob_ert: heheh :P 09:03:26 rob_ert: kick != ban 09:03:28 What did that asm code do? 09:03:36 futhin: But still... :) 09:03:39 nothing 09:03:52 it implements the word nop 09:03:58 Hmm... 09:04:11 which simply returns 09:04:34 I mean... what is 8054A40 ? 09:04:40 just an address 09:04:44 to some important place :P 09:05:07 I'm not sure, actually 09:05:14 Okay... 09:05:25 What is eax used for? 09:05:42 in gforth ,that is. 09:05:56 please don't get sidetracked in how nop performs it duties 09:06:14 especially with gforth ... because it's not written in asm 09:06:15 Hehe 09:06:21 Okey ;) 09:07:27 what you are _probably_ looking at is how the gnu C compiler implements the "next" function 09:07:46 Hehe 09:08:01 and you're just going to tie yourself in knots if you ever try to figure out what an optimising C compiler is trying to do 09:08:06 ;) 09:08:52 dodoes: 09:08:52 sub ebp, byte 4 ;open up space on return stack 09:08:52 mov dword [ebp], esi ;save return address 09:08:52 pop esi ;point ip at does> part 09:08:52 xchg ebx, [esp] 09:08:52 so gforth sets it up so that calling an unitialized deferred word does not crash 09:08:53 next 09:09:28 pop esi...that pops a word from the hardware stack, right? 09:09:45 however, it is likely to b0rk your application, because the defered word is very likely supposed to alter the stack 09:09:50 yes 09:10:03 but that was not the code we were looking at 09:10:05 i.e. esi now points to the high-level word after whoever called it? 09:10:13 Hm 09:10:35 the code we were looking at probably did the inverse 09:10:53 Which one, with does> or defer? 09:11:10 the code we saw in nop 09:11:32 Oh 09:12:28 btw, why does does> in isforth exchange TOS with second on stack? 09:12:38 xchg ebx, [esp] 09:12:45 before 'next' 09:14:07 does> is a bitch to look at the internals for ... it often involves back-patching the created word 09:14:16 Hehe 09:14:18 Okay 09:14:32 I guess I'll try to implement it and then forget about it :) 09:14:49 no, [esp] might point to the first item on the return stack 09:15:03 rob_ert: you're writing a forth? 09:15:08 Yes, I'm trying 09:15:25 isn't ebp the rsp? 09:15:26 please write a few applications first 09:15:31 Well 09:15:31 Hehe 09:15:39 I wanted to play with the internals 09:15:45 oh, ok 09:15:52 Any good first-forth-project suggestion? 09:16:05 funny, people would NEVER screw with the internals of gcc 09:16:13 Well 09:16:18 Forth is different, 09:16:25 yes it is, quite 09:16:43 Didn't you say to me when I fist came in here, that most forthers use their own forth, but few C coders use their own C compiler? 09:17:08 the regular stuff, a "Hello World" ... a text editor ... maybe some text formatting stuff 09:17:17 Hmm... text editor 09:17:34 heh, that wasn't me, but it's a common idiom in the forth world 09:17:49 Well, then it was someone else 09:17:53 Then I need to know how to allocate memory... 09:18:00 And do file I/O 09:18:03 but first - dinner :) 09:18:17 ALLOCATE ... RESIZE ... FREE 09:18:38 OPEN-FILE ... CLOSE-FILE 09:19:50 memory allocation wordset ... http://www.taygeta.com/forth/dpans14.htm 09:20:21 file-access wordset ... http://www.taygeta.com/forth/dpans11.htm 09:22:17 you'll need to scroll past all the mumbo-jumbo to get at the glossary section 09:30:54 --- join: I440r (~mark4@1Cust37.tnt3.bloomington.in.da.uu.net) joined #forth 09:31:18 hi ppl! 09:31:30 hey did we double our channel size or what :) 09:31:32 heyhey 09:31:33 greets, I440r! 09:31:52 not if you count idlers 09:31:57 I440r better not ask chuck here any more or it might triple :) 09:32:06 yea i noticed that part 09:32:11 lol 09:32:18 --- quit: onetom (Read error: 110 (Connection timed out)) 09:32:19 i was thinking of asking ER 09:32:27 you knnow... give an opposing viewpoint 09:32:28 that would be fun 09:32:30 * juu likes #forth as it seems to be the only channel on irc that actually is used for talking.. 09:32:32 give ANS an equal voice ? 09:32:38 --- quit: gforth (Read error: 110 (Connection timed out)) 09:32:59 and actual context too 09:33:06 .. well.. partly 09:33:07 :) 09:33:10 * MrReach chuckles as he watches I440r plot a war. 09:33:43 lol 09:33:53 dammit you wernt supposed to realise that :P 09:34:09 dont you think it would be a good idea tho ? 09:34:30 yes 09:34:46 of corse... ER doesnt suffer from the same level of hero worship as chuck 09:34:51 although, it might be a better idea to schedule her for the other satuday 09:34:53 might not generate the same response 09:35:00 and then have them meet after a month or so 09:35:05 lol i wouldnt suggest the same day :) 09:35:23 i dont think theres any anamosity between them is there ? 09:35:29 just a diff of opinion ? 09:35:29 if I read correctly, there is little animosity between them 09:35:34 with all due respect I don't think ER is a good personality to bring to the #forth community. 09:35:42 heh, both typing the same thing at the same moment 09:35:54 why is that, BigBoyToddy? 09:36:03 i disagree with alot of what she says but i have to rate her as HIGHLY clued in 09:36:28 I have email fairly regularly with both, at some level in the past 2 months, and I can honestly tell you that my gut, and brain sez avoid brining ER to this group. 09:36:58 hehe she would just try sell us something ? 09:36:59 hh 09:37:15 really? that's still pretty vague 09:37:26 So... I'm back 09:37:28 Brain sez, intelligent, and she is very smart and sharp. I can guarentee that she will try and sell you on something, that is her bent on life, and justified, I just don't think it is worth it if we already know it. 09:37:37 btw, thanks for those links, MrReach :) 09:37:54 my pleasure, rob_ert 09:38:14 forth pleasures 09:38:15 hmm.. 09:38:22 :) 09:38:26 juu :) 09:38:33 * juu will EXIT out side 09:38:38 with VARIABLE DOG 09:38:39 XD 09:38:51 heh, enjoy your walk, juu 09:38:56 trying to 09:38:57 FUN HAVE ! 09:38:57 ugh an all UPPERCASE coder :P 09:39:02 Hehe 09:39:09 just testing it 09:39:11 coder all lower case. its more readable :P 09:39:17 What do you people think, should forth be coded in uppercase or lowercase? 09:39:19 i know 09:39:33 I think forth looks cooler in upper-case :) 09:39:34 more readable 09:39:36 Okay, here is my take... She is a great asset to the community, from a commercial perspective. If someone here (or folks) want a commercial bent on FORTH, and the FORTH Inc. way of thinking, bring ER here. 09:39:49 erm ... lowercase ... but to enforce that would break a *LOT* of code 09:39:50 just having uppercase makes it less readable but can make it more simple 09:39:55 i'll make ecxample later when 09:40:08 bb i think forth has immense commercial possabilities 09:40:25 but i think ans will be the death of forth if its not thwarted :) 09:40:44 How are these "allot" things used? 09:40:44 at the same time im all for the fox news "fair and balanced" idea 09:41:12 I think if ER comes here, we should use Microsofts 'Catastrophy Hedging Program 2.5' :o) 09:41:19 I think it's kinda neat that I can give the URL for a word's glossary entry, and know it will work in gforth, win32forth, and bigforth 09:41:32 robert if you do a 10 allot then the memory is lost to you but if you do create foo 10 allot you can access it 09:41:45 seesja now 09:41:46 the word foo points to the array/buffer 09:41:49 * juu 0 EXIT 09:41:58 OK... where's that memory allocated? 09:42:05 small case is just so normal 09:42:08 BigBoyToddy: you think a commercial perspective will be bad for #Forth ??? 09:42:09 i like uppercase 09:42:16 juu: Exactly ;-) 09:42:24 3L33T . 09:42:44 forth allocates a chunk of memory when it boots. this memory is called the dictionary\ 09:42:46 just like i like informational dot notation action.walk 09:42:47 or such 09:42:57 MrReach: what good has a commercial bent done for FORTH lately (ie. last 20 years?) 09:43:10 forth has used part of it and the point at which forth ends and free memory begins has a variable pointing to it 09:43:14 called the dictionary pointer 09:43:16 dp 09:43:27 the word HERE fetches DP 09:43:36 so you can do 09:43:36 ALLOT reserves memory at the end of the dictionary ... ALLOCATE reserves non-contiguous system memory 09:43:42 here 10 allot some-variable ! 09:43:58 isforth will support allocate 09:44:14 i think i need to support forget prudy soon too hhe 09:44:22 What else is the DP used for? 09:44:23 BigBoyToddy: I don't know. but has it harmed the forth community? 09:44:34 BB commercialism hasnt harmed forth 09:44:51 you can now point at something REAL and say "forth did this" 09:44:55 I440r: please consider using the MARKER system 09:45:06 easier to implement, easier to use 09:45:18 MrReach: well, where are all the forth based machines on the open market (aside from the niche markets that exist today [granted they exist, but nobody knows about them outside the forth community]). 09:45:33 mrreach youll hafta explanee that one to me when we cover catch/throw heh 09:45:52 BigBoyToddy: is that a plus or minus for commercial forths? 09:45:56 BB c people always ask "whats it good for. show me something coded in forth" 09:46:03 without forth inc that would be harder to answer 09:46:09 ha! 09:46:24 mrreach agrees :) 09:46:30 I'll let you know, right up front, whatever is said here I am pro, pro forth. Now that said. 09:46:33 or is supprised /ME would say it heh 09:46:45 both 09:46:56 I hadn't had that thought in a while, too 09:47:03 im anti ans - but its mostly gut feeling. i dont KNOW most of ans - which is why mrreach is here heh 09:47:10 There was some list of what words that should be implemented in various forth "levels", starting from a small set of words Chuck defined.... anyone knows where I can find that page? 09:47:20 heh, I'm the ANS police? 09:47:25 I believe that with FORTH hidden in a FEW niche markets, and the general community of software engineers after 30+ years of exposure to the potential of FORTH, that the limited and niche markets have hurt FORTH more than helped. FORTH is pigeon holed into them, and it is a hard, hard climb out. 09:47:28 no your the ans teacher 09:47:30 hehe 09:47:54 BigBoyToddy: I agree entirely 09:48:06 i OPPOSE ans on a gut level - but then i CODE at the gut level. if it doesnt LOOK right i scrap it and start over 09:48:13 i dont CARE that it worked, it wasnt right 09:48:19 which is one of the reasons I tend to support larger systems, with all the tools, bells, and whistles 09:48:36 MrReach: so, my feeling is that the commercialism and greed of a few to keep the markets in those areas, have hurt FORTH, and the results today then speak for themselves, unfortunately. 09:48:46 mrreach CM wouldnt like isforth, i plan on allowing it to do ANYTHING one might expect to do with c 09:49:10 sockets, linux threads... 09:49:11 everything 09:49:21 but NOT all in one huge blob heh 09:49:23 as options 09:49:23 BigBoyToddy: then how do you account for SwiftForth and VFX Forth? 09:49:53 "Something more than Level 0 is necessary to provide anyone but Chuck enough to work with." <-- hehehe 09:50:02 heh 09:50:03 MrReach: I don't, can you? 09:50:45 certainly, they provide the robust (read "huge") programming environment that software developers expect 09:50:58 they break the boinds of embedded programming 09:51:05 MrReach: yet do they sell, and what is a result of them, meaning what apps are being developed and sold with these tools? 09:51:06 boinds=bounds 09:51:28 I don't know ... I don't work at these companies 09:51:46 but they are trying to encroach into systems programming 09:52:00 and out of the embedded market that limits them 09:52:25 like you said, it's a steep hill 09:52:36 MrReach: see it isn't that I'm against the larger IDE of these tools, in fact it is what is necessary, but the fact still exists that the tools are not being sold in volume and also apps/results being sold to the populus which are then using them to do in house document (wp) analysis (ss), and so on. Its unfortunate, but true. I would like to see this change. 09:52:41 gforth and win32forth are also doing this 09:53:21 I couldn't guess at volume 09:53:45 MrReach: I don't know their market strategy, yet it is hard to let go of what existing markets/share they have to get what they want, the bigger money. In today's markets, it makes folks insecure, and that leads to fear, and fear then makes for bad decisions, IMHO. 09:54:31 but I suspect it is somewhat less than the embedded tools the same companies sell, because when you say "application programming" ... people think "C" as a knee-jerk reaction 09:54:36 MrReach: can we go down and buy it a Fry's, or at SoftEtc, or anywhere online other than the houses that make it? Where are the VAR, the VAD and also the online retailers. It is not very good as I see it, but maybe these are things that can change. 09:54:58 ohh marcel hendrix ??? -he is another one we could invite :) 09:55:14 maybe we could convince FIGUK to hold one of their meetings in here too 09:55:17 I440r: yeah! and give Bernd a day! 09:55:29 maybe an unofficial one would be ok heh 09:55:32 bernd ? 09:55:47 BigBoyToddy: they are both freely available for download ... I wouldn't go to the store to purchase them anyway 09:55:58 MrReach: yes they do, actually C++ and other tools, no in the Inet domain they think Ruby and Perl, Python and others at a systems level, which is really frightening. Yet the fact also exists that FORTH has a mentally steep learning curve of simplicity, and most coming out of school are not told to think simply, they have to learn complex APIs which FORTH generally does not have :o) 09:56:10 Bernd Payson, wrote bigforth, coauthored bigforth 09:56:26 MrReach: but most folks do go to stores still, only 1% of volume sales related (as I read sometime last month) to Inet are done online. 09:56:53 You and I are different, we are net 'savvy', but most are not even aware of how to buy online, let alone doing it regularly. bricks and mortar win for a few more years, if not longer. 09:57:23 well hell, ok, but how does this relate to commercial forths injuring the forth community? 09:57:28 Anyway, that is tangential to the issue, which is getting out of niche markets. I want them all to succeed, FORTH is a wonderful concept, and the implementations are mostly really impressive. 09:57:35 Answered in last response :o) 09:57:44 yes 09:57:51 Sorry about that, I speak of the big picture in my mind, which often does not relate/map well to others. 09:57:54 LOL :o) 09:58:14 no problem, you also type 10x faster than I do 09:58:15 mostly really :o) What a english teacher I would make. 09:58:19 BB but they are also mostly intimidating to the forth newbie 09:58:30 mostly due to poor doccumentation 09:58:39 i am hoping i can solve that one wiht isforth 09:58:47 Uhmm...how does FOR NEXT differ from DO LOOP ? 09:58:47 I440r: you arent refering to commercial, are you? 09:58:48 i want the kernel completely doccumented 09:58:53 no 09:58:56 the free ones 09:59:01 oh, yes, agreed 09:59:10 even FPC's doccumentation wasnt always helpful 09:59:22 in forth its not good enough to know what a word does 09:59:26 Yes they are, I would agree. I'm a 20+ year programmer, and have done assembly to the high level architectural sales and implementation of complex systems, and I have to admit, FORTH and its 'simplicity' and distros were kinda intimidating. I just got the mental attitude that if it can be written and understood by someone else, I can also. Most don't have the tenacity of my mindset. 09:59:28 you want to know HOW it does it too 09:59:30 rob_ert: FOR only expects one argument, and the loop counts down to 0 instead of up to limit 09:59:47 Hmm... I guess it's SOMEWHERE in the ANS papers. 10:00:09 BB thats where forth excels best - it seperates out the cluebies 10:00:14 its a cluebie filter 10:00:20 if your not a cluebie you can never learn forth 10:00:24 rob_ert: FOR ... NEXT are not define by ANS 10:00:27 most coders are clueless 10:00:38 Oh... 10:00:40 Hm 10:00:40 because both those words are used for other things in many systems 10:00:46 Okay. 10:00:51 FORTH needs a lot of work, and finding information about FORTH has been a HUGE undertaking of mine for the past 30+ days, actually 2 months now. I have done innerlibrary loans, had folks loan me materials, 83 standard, USING Forth and some other source code. Granted some can go out and buy this stuff from MVP and others, but reality sez in todays limited money markets, folks won't put out the money for this 'research', I stumbled at 10:01:03 May I ignore them without anyone kicking my ass for that? 10:01:39 sure ... they're just simpler is all 10:01:43 do loop I think is the answer? :o) 10:01:47 Hm 10:01:54 How do I use them then? :/ 10:02:02 Can you give a quick example? 10:02:06 let's see if gforth has them ... 10:02:09 sure 10:02:18 :)) 10:02:22 gforth: : t 5 for i . next ; t 10:02:34 Is that the only think it does? 10:02:37 isforth doesnt support for/next because i always felt NEXT to have OTHEr significance in forth 10:02:41 gforth: see for 10:02:50 pfe does NOT seem to support for next. 10:02:52 oh, gforth pinged out ... DUH! 10:02:58 Hehe 10:03:00 How about sif? 10:03:15 sif: : t 5 for i . next ; t 10:03:18 --- join: Forth (~Forth@1Cust37.tnt3.bloomington.in.da.uu.net) joined #forth 10:03:18 MrReach: Word not found: for 10:03:25 Is for/next less flexible than do/?do/loop/+loop ? 10:03:28 heeh gotta love that bot :) 10:03:30 Hehe 10:03:33 useless as it is for now :) 10:03:33 yes, sif is a new kernel ... doesn't have all the extras 10:03:36 What can it do? 10:03:36 Hehe 10:03:36 Error: "for" undefined word 10:04:06 yes, it is somewhat less flexible 10:04:16 but it is much simpler 10:04:17 I would say it is highly unportable, avoid using it IMHO. 10:04:30 Is it part of the new ANS? 10:04:32 ack! that's push an I440r button! 10:05:10 not sure ... if they're smart they'll put the same functionality in a different set of words 10:05:54 mrreach what would push one of mybuttons ? 10:06:27 i KNOW for/next is simpler and if i could think of a better set of names for it that does not conflict with my ideas of what NEXT is supposed to mean i would implement it 10:06:44 BigBoyToddy: in todays market, I consider the money I pay is not so much to buy software, but to purchase man-hours on the other end of the telephone call to tech support 10:07:11 I440r: BigBoyToddy's comment that for/next is non-portable 10:07:28 hehe i like it more then :) 10:07:28 heh 10:07:33 MrReach: yes, but that is a fault of the system development. Defective software results in the need of support. I believe the front end should be the value, but I live in an ideal world :o) 10:07:55 * MrReach laughs out loud, "Fair enough." 10:07:56 i agree with BB that commercialism actually _hurt_ forth 10:07:57 BB i have always liked do loop over for/next 10:08:03 i dislike if blah else foo then however 10:08:04 i think forth would have gotten a lot farther 10:08:11 i now have a word called ifexec: 10:08:15 without commercialism starting so soon 10:08:27 if forth had gotten farther, and had established a real foundation 10:08:32 < ifexec: false-word true-word continue-from-here 10:08:34 then commercialism would've been ok 10:08:55 faster, ALOT smaller and FORCES you to factor properly heh 10:09:02 if/else is still supported of corse 10:09:03 Hey guys, I really enjoy listening and chatting here, this is a very quality group of dudes. I have to head out for the day, thanks so very much for the conversation, and ideas to think about. Take care, and keep on forthin'. 10:09:15 ill be afk soon too 10:09:19 I wish CM would focus his accuity into business models instead of software 10:09:23 BATF arrives tomorrow and have work to do 10:09:26 *THAT* might be interesting to watch 10:09:37 BATF? 10:09:51 to do with guns :P 10:09:55 alcohol tobacco and firearms 10:10:01 think ruby ridge and waco :P 10:10:07 exactly. 10:10:16 LOL 10:10:24 we will be getting our lisences to manufacture ammo and firearms 10:10:48 Me too, signing up for gunsmithing program this fall, learning to make BAG, big arse guns :o) 10:10:54 its an agency that invents rules and unconstitutionally calls them law 10:11:00 exactly again. 10:11:08 It isn't even a legal agency. 10:11:12 Neither is ATF 10:11:15 BB we sporterise mauser bolt actions 10:11:20 :o0 10:11:37 and make high precision ammo for competition shooters 10:11:39 BATF and AFT, illegal 10:11:47 batf and atf == same thing 10:11:51 cool, quick draw 9 mill? 10:11:58 I know, it was a joke. 10:12:05 Call it whatever you want, it is still illegal. 10:12:07 heh 9 mil is not a good carry weapon 10:12:12 30% 1 shot stop 10:12:14 Bureau just makes it sound 'official' 10:12:25 45 acp has a 99% one shot stop when youuse the right ammo 10:12:34 nice! 10:12:35 bigboytoddy: i'm reading the backlog.. you typed a lenghty paragraph that didn't finish 10:12:39 todays limited money markets, folks won't put out the money for this 'research', I stumbled at 10:12:39 federal hydrashocks or some other controlled expansion ammo 10:12:44 dont ever use bal ammo for carry 10:12:56 you can shoot through the bad guy into an innocent bystander 10:13:00 must be a limit on sentence length. 10:13:23 512 characters, plus irc protocol overhead 10:13:26 yes, and nobody wants that, just drop the crook.! 10:13:27 futhin found a bot bug ? 10:13:27 lol 10:13:35 neway i gtg do some work now 10:13:37 i think 10:13:38 i440r: what bot bug? 10:13:39 see ya! 10:13:41 no protocol limitation 10:13:42 ltr all. 10:13:45 a bug in the bot heh 10:13:48 be well, BigBoyToddy 10:13:51 thanks! 10:13:55 u2 10:14:07 Bye big boy. 10:14:43 it's not a limitation in the bot, the sentence arrived truncated at my client, too 10:15:04 what does the bot _even_ have to do with anything heh 10:15:18 futhin: that you read the truncation in the logs 10:15:23 the log got truncated rigth 10:15:27 right? 10:15:29 even heh 10:16:29 it's a protocol limitation, what BigBoyToddy sent got diced 10:16:42 I can explain how it happens, if you like 10:16:50 nothing he said got sliced up HERE tho 10:16:58 i didnt see any truncated sentences 10:17:09 then would you PLEASE paste the last part of his sentence??? 10:17:42 oh hehe it did :) 10:17:57 i just didnt notice heh 10:18:00 <--- lame 10:18:05 not to worry 10:18:24 lol 10:18:36 I figured that he was going to talk about fustrations of sorting through kernels, and left it w/o comment 10:18:58 he is right but i dont consider the non portability in forth to be a restriction 10:19:01 i consider it to be a PLUS 10:19:11 because it forces you to THINK about what your doing 10:19:18 yes 10:19:20 not just blindly do it and trust that its going to work 10:19:31 back 10:19:50 and we ARE talking about FORTH here - not c. porting 50 thousand lines of forth is a snap 10:19:53 at the same time, I like being able to give a general URL to a glassary entry, and KNOW that it will apply to whatever forth the person I'm talking to is using 10:19:57 that's *NICE* 10:20:02 50 thousand lines of c however would be a bitch :) 10:20:39 lol forth coders cant talk with each other because of kernel differences lol 10:21:01 well, look the conversation about for/next that we just had 10:21:15 a classic example 10:21:22 and it gets worse ... 10:21:47 I didn't mention that some forths count from the number to 1, and others count from the number-1 to 0 10:21:48 worse ? 10:22:13 I prefer the latter semantics, for array indexing 10:22:23 but it comes in both flavors 10:22:25 i440r: nobody cares about the portability of forth.. we're talking about the portability of the application code across forth kernels! 10:22:29 yes 10 for might go 10,9,8,,,,1 or might go 9,8,7,,,,,0 10:22:32 Base everything on 0, otherwise you will end up in something that looks like the am/pm system. 10:22:43 futhin another myth 10:22:46 heh, rob_ert 10:22:50 and thers no such thing as a forth program 10:22:53 thers just FORTH 10:22:55 heh 10:22:58 there's forth kernel 10:23:01 any application you write is an extensuion to forth 10:23:02 and there's the rest of forth 10:23:07 forth kernel is a subset of forth 10:23:08 so thers just FORTH :P) 10:23:19 and the forth kernel can be coded for every architecture and platform 10:23:26 and the rest of the forth of that forth kernel is _portable_ 10:23:37 should be to a degree 10:23:49 dup works the same way on all forths i hope :P 10:24:01 if isforth for PPC ever pops into existance it would need to be very very similar to the x86 version 10:24:03 i440r: i asked chuck moore the FOR NEXT question because of u :P 10:24:09 lol 10:24:09 erm ... when I sit down to write an application, I don't want to be forced to think about the idiosyncricies of the kernel I happen to be using 10:24:21 i440r: he said make the other stupid NEXT invisible!! 10:24:22 :P 10:24:31 mrreach: exactly 10:24:32 and you remember his response to my PORTABILITY question? 10:24:42 i knew his answer before he stated it. 10:24:45 i440r: yeah, but you both are thinking along different terms 10:24:49 i knew his answer too 10:24:53 yes, that portability should not be in the coder's mind at all 10:25:07 my guts told me he how he would answer 10:25:07 we're talking about portability of the forth KERNEL 10:25:15 not in the app coders 10:25:21 i440r: no. i read ultratechnology stuff, i _knew_ how he would respond 10:25:40 but YES - it should be in the system coders mind tho 10:25:44 did I misread him? 10:25:48 futhin i rarely read that sort of thing 10:26:01 portability of the forth KERNEL is different than portability of some lame forth code that i code that is an application 10:26:02 misread who ? 10:26:10 did I misread CM? 10:26:17 my forth code can be portable across all the unportable forth KERNELS!! 10:26:28 mrreach: misread him how? 10:26:29 i dunno - what did you see him say ? 10:26:38 n/m 10:26:47 check logs heh 10:26:49 I gotta go get a shower soon 10:26:54 I440r: Could you summarize what happends when the intepreter reads a word, and is about to compile/intepret it? :) 10:27:03 and don'thave time for a detailed discussion 10:27:05 certainly 10:27:11 you parse the tring to here 10:27:20 you then search the dictionary for that word 10:27:28 when you find it you either execute it or compile it 10:27:29 --- join: gforth (guest@adsl52013.vnet.hu) joined #forth 10:27:39 Uhm...how's the structure of the dictionary? 10:27:43 if your in compile mode you STILL execute it if its immediate 10:27:49 up to you 10:27:51 gforth: : t 5 for i . next ; t 10:27:52 but 10:27:54 MrReach: 5 4 3 2 1 0 10:27:54 usually 10:28:02 MrReach: :-) 10:28:11 GODDANMIT!!!! 10:28:17 a pointer to the previous word header followed by a name length count byte 10:28:23 there's a THIRD behavior for for/next 10:28:35 followed by the name string. followed by a pointer to the code the word execues 10:28:49 lol 10:28:51 And where's the code stored? 10:28:59 in the dictionary 10:29:00 at here 10:29:13 Here is the DP? 10:29:21 here fetches dp 10:29:26 OK 10:29:28 Hm 10:29:32 so whereever dp points to is where the code would be compiled 10:29:39 Cool! 10:29:49 gforth: : t2 1 5 for i . next ; t2 10:29:50 * rob_ert kisses I440r on his forehead 10:29:51 hrm ... maybe this help ... : , dp @ ! dp @ 4 + dp ! ; 10:29:54 futhin: 5 4 3 2 1 0 10:29:56 You're almost as nice as forth xD 10:30:03 Well, I got to test this 10:30:24 : , here ! 4 allot ; 10:30:28 is the same thing :) 10:30:36 As what? 10:30:40 Hm 10:30:42 as what mrreach gavbe 10:30:43 Oh 10:30:44 as my segment of code 10:30:48 I see 10:30:58 but I wanted to demonstrate the relationship with DP 10:31:01 Danke schön noch einmal 10:31:01 however. it should be noted that YOU usually dot have ANY access to DP 10:31:07 so 10:31:13 The user, you mean? 10:31:14 you cant normally do dp @ pr dp ! 10:31:18 yes 10:31:26 its a headerless variable usually 10:31:31 you dont know where it is 10:31:37 HERE and ALLOT do tho 10:31:40 heh, actually, DP is s usually called H 10:31:41 Okay... 10:31:48 rob_ert learnt anything? 10:31:53 Yup 10:31:55 DP is a better name :) 10:32:02 I just learnt how a forth works (well...almost) 10:32:03 of course @:^> 10:32:17 So.. 10:32:20 i also hate W for the working register 10:32:31 oh, that drives me nuts 10:32:36 ANYTHING thats not spoken for by the forth threading is a working register 10:32:37 pure obfuscation 10:32:43 Non-headerless variables, what are those? 10:33:03 robert look 10:33:11 : variable create , ; 10:33:11 regions of data area that don't have a name in the dictionary 10:33:37 Hm 10:33:40 : foo ... ; 10 c, 13 c, : bar ... ; 10:33:54 the CRLF are unreachable, theoretically 10:34:13 That creates an empty header, and fills its body with TOS? 10:34:36 but one can also do ... 10:34:44 yes - and when reference that word it returns the body field address 10:34:53 : foo ... ; HERE 10 c, 13 c, : bar ... ; ( -- adr ) 10:35:02 How is that? Does it use does> ? 10:35:15 I mean, the definition of VARIABLE 10:35:38 Or how can it return the address to the body? 10:35:44 variable is the only one that DOSN'T use does> 10:35:55 Oh 10:36:13 robert any time you create a word it is assumbed to be a variable 10:36:17 : blah ...... ; 10:36:32 colon CREATES blah and its wrongly made as a variable 10:36:40 later this gets corrected 10:36:47 What did CREATE return? The body of the created word? 10:36:52 heh, in I440r system, anyway 10:36:53 no 10:36:55 nothing 10:37:01 Hm 10:37:10 mrreach traditionally all created words are assumed to be variables 10:37:22 created words, yes 10:37:24 What is it that returns the address? 10:37:25 and isforth DOESNT use that always 10:37:40 but traditionally, colon uses HEAD or HEADER ... not CREATE 10:37:57 create calls head" which creates the header 10:38:04 rob_ert: something like do_var 10:38:06 create then makes the new word USE dovariable 10:38:35 : : create header ,call dovariable compile [ ; 10:38:38 basicaly 10:38:44 I'm not talking about that part ... 10:38:46 OK, so it's a high-level word that uses dovariable instead of enter ? 10:38:54 colon CREATES blah and its wrongly made as a variable 10:38:59 instead of NEST heh 10:39:04 that is unusuall in a forth 10:39:16 no. not from what ive seen :) 10:39:19 why can't we make the perfect forth and get it all over with!? fools! :P 10:39:30 futhin ALL forths are perfect :) 10:39:42 by virtue of the fact that they are forth :P 10:39:50 futhin: two reasons ... differences in hardware ... and differences in thought 10:39:51 Let's make out own standard with 9 words and take over the world. 10:39:56 our own* 10:39:57 : constant head" ,call doconstant , ; 10:39:59 or 10:40:12 : constant create , ;uses doconstant ; 10:40:29 Anyway... is that what dovariable does? OK, so it's a high-level word that uses dovariable instead of enter ? 10:40:30 semi uses patches the USE-DOVARIABLE into a USE_DOCONSTANT 10:41:00 it's not really differences in thought but differences in percieved problems 10:41:02 :P 10:41:08 true 10:41:12 time to educate all forthers! ;) 10:41:39 Oh, well... I'll leave you here to argue about what's real forth and what is not. 10:41:40 let's just educate all forthers to use.... colorforth.. bwhahaha 10:41:47 Going outside for a while. 10:41:48 isforths create does an immediate reveal 10:42:02 rob_ert: I can't answer as to how isforth does its internals 10:42:03 if : called create then the word would be immediatly revealed. wrong! 10:42:15 Well.. 10:42:16 colon must call head" and comma in the USE-THIS word 10:42:28 only how it responds compared to other forths 10:42:35 I _think_ Moving Forth does it something like this, MrReach. 10:42:38 i.e. : : head" ,call nest 10:42:42 i440r: you betta implement FOR NEXT for isforth ;) 10:42:44 i think i posted it wrong 10:42:56 futhin gimme a BETTER name for next and i will 10:43:07 I440r: is ':' a normal word? 10:43:19 robert colon is THE word in forth 10:43:20 yes, ANS got stuck on that issue, that's why they left it out of the standard 10:43:29 its the word that creates the colon definitions :) 10:43:34 Yes... 10:43:36 the forth high level definitions 10:43:36 yes, : is high-level 10:43:39 But how is it defined? 10:43:52 Do you do some nice asm hack, or? 10:44:06 What should a forth do when it gets a colon from the input stream? 10:44:07 : : head" ,call nest compile [ ; 10:44:08 I440r: may I suggest calling the system's next "unnest" instead? 10:44:24 What does head" do? 10:44:25 no unnest is the same as exit 10:44:41 it parses the input stream for the name of the word to create and creates a header for it 10:44:53 rob_ert: parse a word, create a dictionary entry for it, then start compile behavior 10:44:58 OK... and then starts compiling? 10:45:13 next could be called ip@++ tho hehe 10:45:14 yes 10:45:18 c lcoers would love that heh 10:45:27 Is there an internal variable that tells me what mode I'm in? compile/intepret 10:45:27 heh 10:45:32 state 10:45:34 rob_ert: yes, STATE 10:45:37 Hehe 10:45:39 true = compile 10:45:44 valse = interpret 10:45:48 brb 10:45:57 in isforth, anyway 10:46:00 ;)) 10:46:14 I've seen STATE used to hold a vector to the compiler routine 10:46:31 so there could be any number of different compilers 10:46:45 Cool. 10:47:08 odd, but elegant, yes 10:47:09 You can do really funny things with a forth, heh 10:47:53 I've also see the compiler in its own loop ... doesn't use state at all 10:48:00 Length of strings are of the same size as the computer wordsize, or? 10:48:19 i.e. colon doesn't exit until semicolon tells it to 10:48:38 "counted strings" havea one-byte count 10:48:58 so the standard limit is 255 chars 10:49:11 Oh. 10:49:17 but most kernels have 16 bit and/or 32 bit versions 10:49:25 Okay... 10:49:33 mrreach i HATE ] as the compiler 10:49:57 You two hate alot :-) 10:50:03 incidently, that is why ANS encourages strings to be ( adr cnt ) on the stack, rather than just ( adr ) 10:50:03 it gives you TWO inner loops 10:50:15 first loop is the interpreter, second loop is the compiler 10:50:15 BAD 10:50:25 isforth has ONE loop 10:50:29 much neater 10:50:37 thats one of the things i hated about fpc 10:50:48 that's nice, dear, I wasn't saying that one way was better than another 10:50:49 split functionality all over hells half acre 10:50:52 lol 10:50:54 i know 10:50:55 just pointing out some of the neat differences 10:50:59 i WAS :P 10:51:34 it seems more logical, to me, to put the interpreter in one word, the compiler in another 10:51:43 anyone here got a copy of the lates isforth handy ? 10:51:51 but most forths are not implemented that way 10:52:47 do a ./isforth and hit the return button 10:52:49 does the free list space valu get spaced over and disappear ? 10:53:44 Do I use the dictionary space (indexed with DP) for the headers of words, too? 10:53:56 huh? 10:54:30 yes, if you're implementing a system, usually 10:55:16 there are systems where dictionary headers go into diff mem than colon tokens, diff from user variable area, diff from machine code 10:55:43 in fact, I think I440r's isforth might use seperate mem areas 10:56:01 Hmm... but this approach doesn't lead to any trouble? 10:56:14 * rob_ert thinks it looks easy enough for him to implement 10:56:15 it does 10:56:17 because you can chop the dictionary headers off, and still call the words in defs compiled elsewhere 10:56:29 eventually every single vocabulary will have its own space 10:56:31 Don't want to use malloc unless I really need 10:56:57 hmmm ... you're looking at the problem oddly 10:57:02 isforth is a bit limited in that it defaults to only 500 megs for list and 500 megs for headers tho 10:57:33 Oh :( 10:57:42 Damn, it's made for small systems 10:57:46 if a bit of mem get initialized each time the rogram is run, then it should ALLOCATEd ... and the address stored in an ALLOTted variable 10:57:53 lol 10:58:34 for example, DP must be alloted, because its intrinsic to the system 10:59:02 i toyed with the idea of keeping DP in a register 10:59:02 if you store a line of input from the keyboard, though, that should go into ALLOCATEd memory 10:59:15 Hmm 10:59:19 but it would be very little speed increase for a huge ammount of register loss on an x86 10:59:21 * rob_ert has a few spare registers :-) 10:59:22 good idea, but it doesn't change enough 10:59:28 Hehe 10:59:29 correct 10:59:45 but it does save 4 bytes overall :) 10:59:45 heh 10:59:54 actually here could be coded smaller too hehhe 10:59:55 * MrReach laughs. 10:59:56 and comma 11:00:14 Yay 11:00:14 if EDI was DP you could do 11:00:20 pop [edi] 11:00:25 add edim4 11:00:31 erm add edi, BYTE 4 11:00:33 for comma 11:00:34 heh 11:00:40 yup 11:00:44 I440r, that will save you like 1/100 of an ELF file's alignment :D 11:00:56 robert EXACTLY!!!!! 11:01:01 a HUGE saving! 11:01:04 Yeah 11:01:12 Your forth will take over the world. 11:01:20 dont be silly 11:01:23 of corse it will :P 11:01:26 duh! 11:01:34 not to mention ... 11:01:34 --- join: onetom (tom@adsl52013.vnet.hu) joined #forth 11:01:52 that using a reg for DP would obfuscate how the system works 11:01:57 wb, onetom 11:02:09 onetom :) 11:02:14 mrreach notice how i DIDNT do it ? 11:02:15 heh 11:02:16 lol 11:02:19 hi guyz 11:02:24 mrreach realy should get to KNOW isforth :P 11:02:29 ther was a lil longer netsplit, sorry 11:02:37 Hmm... how's allot defined again? 11:02:38 no prob 11:02:54 : allot ( n1 --- ) dp +! ; 11:02:55 & a friend of mine also visited me, so didnt do 2 much w that io.dll stuff 11:02:57 : allot dp @ + dp ! ; 11:03:08 you will, I'm sure 11:03:09 :-) 11:03:17 Thanks... 11:03:18 Hm 11:04:06 note that allotted memory is *NOT* initialized in any way 11:04:14 How were you able to use the allocated space? allot didn't return anything. 11:04:22 unless you use fig forth hhe 11:04:25 0 variable foo 11:04:26 heh 11:04:27 lol 11:04:36 no, allot simply reserve room 11:04:47 which i think is the better way to go 11:04:59 it must follow a word that somehow returns an address 11:05:07 like CREATE 11:05:08 everyone knows that NOT pre-initializing variables is an accident waiting for a place to happen 11:05:10 looking for 11:05:12 i mean 11:05:15 yes 11:05:29 isforth discourages use of variable and constant 11:05:34 but, one must initialize with something reason, and allot has no way of knowing 11:05:35 suggests using var and const instead 11:05:48 reasonable 11:06:06 correct 11:06:15 : variable create 0 , ; 11:06:28 thats what isforth does 11:06:50 : variable create ; 11:06:51 is bad 11:06:59 ' create alias variable 11:07:00 lol 11:07:04 ugh 11:07:11 you mean ... 11:07:21 : variable create 4 allot ; 11:07:38 notice that I avoided the phrase "1 cells allot" 11:07:39 oh yea lol 11:07:52 heh 11:08:29 portability in the kernel is kinda pointless 11:09:13 forths "you have alot of ways youcan do the same thing" is a plus 11:09:22 it means you dont just have ONE way to do it 11:09:31 you arent hurded into doing it one way 11:09:36 Bbaaaaaa 11:09:43 s00pid: 11:09:44 13 7 < .L false ok 11:09:44 7 13 > .L false ok 11:09:59 * MrReach glues some cotton on I440r, so he looks like a cheap sheep. 11:10:00 agh me! 11:10:06 lol 11:10:29 i shoudl not change _both_ when testing if it okay :P 11:10:37 heh 11:11:47 i see anyone with velcro gloves or wellington boots im gona shoot them 11:11:49 well, time for me to get my shower ... you folks have fun, no idea when I'll be back 11:11:56 HAHA! 11:12:02 --- nick: MrReach -> MrShower 11:12:45 0 constant foo 0 const fuu 11:12:53 foo you too! 11:13:01 yuck foo! 11:13:08 : constant-test 100000000 0 do foo droop loop ; 11:13:12 takes a minute 30 11:13:24 : literal-test 10000000 0 do fuu drop loop ; 11:13:27 takes 7 seconds 11:13:41 erm both withteh same # of itterations that is 11:16:20 forth reminds me of old industrial computers 11:16:33 nobody cares about portability in the kernel.. but we care about portability of our code across implmentations.. i call forth portable, _because_ a small forth implementation can be coded _very_ quickly for all architectures & platforms 11:18:07 if this simple & small forth implementation was similar and was available on all architectures & platforms, we could code an os ontop of this forth implementation 11:18:15 and then have a portable os 11:18:21 right right right right ??? 11:19:53 Hm 11:19:58 Well 11:20:09 You can do that with C, too ;) 11:20:22 it _is_ done with C, that's why people think C is portable 11:20:31 but the problem is that the C compiler is MUCH bigger 11:20:35 Yes... 11:20:39 than a forth implmentation 11:20:41 so are what it produces 11:20:45 forth is MORE portable :P 11:21:11 futhin: Heh... MrReach just found a third way FOR/NEXT is implemented. 11:21:19 That's what I call portability ;-) 11:21:27 rob_ert: bah, gforth FOR/NEXT is standard 11:21:51 Hrmm.. who's gforth compatible? :) 11:28:08 --- quit: futhin ("bye for now") 11:30:05 bah.. i was on a forth page and i've seen that they have translated "Chuck Moore" to "Charles Moore" ..! 11:30:11 :))) 11:34:00 Hehe 11:34:07 How terrible, they use his real name. 11:35:27 : begin ip @ >r ; : while if r> ip ! then ; 11:35:32 Is that correct, I440r? 11:35:58 Some pseudo-forth ;) 11:36:19 no 11:36:23 How then? =) 11:36:26 begin must not put the start on the stack 11:36:32 on the return stack i mean 11:36:36 : begin here ; 11:36:46 it leaves the start of the loop on the parmaeter stack 11:36:51 Oh 11:36:55 What does here return, ip? 11:37:10 : again [compile] branch , ; 11:37:18 the COMMA commas in the address left by here 11:37:24 DP 11:37:31 Oh... 11:37:42 begin while repeat is a different form of loop 11:37:59 But, how can WHILE then know where to go back to? 11:38:09 BEGIN do this code to do some test WHILE its true do this code too and REPEAT 11:38:21 while is not the correct word 11:38:24 un til maybe 11:38:36 Uhm 11:38:38 : until [compile] ?branch , ; 11:38:47 again compiles an unconditional branch 11:38:48 UNTIL, yes 11:38:54 Sorry :-) 11:38:59 until compiles a conditional branch 11:39:02 Hmm.. 11:39:27 Does this thing use the dictionary? 11:39:34 which thing 11:40:01 begin/until 11:40:08 begin doesnt 11:40:22 until does because it compiles where to branch back to into the current colon definition 11:40:28 it doesnt create or use any headers tho 11:40:35 the point you loop back to is UNNAMED 11:41:13 Hmm.. 11:41:29 Is that pushed on the parameter stack when we come to until? 11:42:39 it should be there yes :) 11:42:59 Does until compile TOS into the word being compiled? 11:43:17 How will the body of the word calling until look? 11:43:41 Like... dd begin,...,until 11:43:54 What's next? 11:44:19 here 11:44:21 dd xxx 11:44:25 dd yyy 11:44:35 dd zzz ?branch,to-there 11:44:44 where here leaves an address on the stack 11:44:58 that is compiled after ?branch is compiled 11:44:58 is ?branch a word? 11:45:05 dd ?branch,branch-vector 11:45:12 ?branch is a coditional branch 11:45:23 But it is a separate word? 11:45:23 branch is an unconditional branch 11:45:26 yes 11:45:30 OK :-) 11:45:50 --- join: kc5tja (kc5tja@stampede.org) joined #forth 11:45:51 So... ?branch sets ip to [ip] if true? 11:46:05 Else it just increments ip by cell? 11:46:12 Hi kc5tja :) 11:46:15 yes 11:46:19 Cool :-) 11:46:26 kc5! 11:46:58 * kc5tja got FS/Forth to print a banner, and accept a line of text yesterday. However, I have **NO** (#*$&(@*&#$ clue what it's doing with that text, for when I re-TYPE it, it crashes (!!) the system. 11:47:01 Pisses me right off. 11:47:12 lol 11:48:09 Also, if I type in too much text, it will also crash. 11:48:09 heh 11:48:09 hrm 11:48:09 And there is *NO* reason for it to be happening. 11:48:09 there is. its just non obvious 11:48:09 If I re-code the EXACT same code in Pygmy Forth, it works beautifully. 11:48:37 Well, I'm going to be diagnosing it more later tonight or tomorrow. 11:49:08 I like the line entry code I'm using -- nice and re-entrant. The interpretter will pretty much be the same way. 11:49:18 * kc5tja decided to use forked vocabularies, a la cmForth for FS/Forth. 11:51:14 They're just plain easier to implement. 11:51:48 It also makes the word headers that much smaller too. 11:52:24 Did I scare everyone away? :) 11:53:58 forked ? 11:53:58 explane that to me 11:53:58 xplane even :) 11:53:58 im lernen how to spell:) 11:53:58 You have one vocabulary containing interpretter words, and another vocabulary containing compiler (aka IMMEDIATE) words. 11:54:03 oh ok 11:54:15 The interpretter scans only the interpretter vocabulary, while the compiler scans both. Words found in the compiler vocabulary are immediately executed, while the remainder are compiled. 11:55:03 * kc5tja isn't going to limit the number of vocabularies like PygmyForth does though; I can think of several nice uses for having arbitrary numbers of vocabularies. 11:55:29 what the fuck is with ftp.kernel.org! 11:55:34 i cant wget the sources 11:55:35 invalid port 11:56:15 Hehe 11:56:19 wget always says that 11:56:36 Try some different ftp clients, or use http ;( 11:57:32 im using mc 11:57:32 i dont like using http :P 11:57:32 http is for hypertext 11:57:33 ftp is for files :P 11:58:14 well 11:58:28 since http usually works better, I sometimes use http. 12:01:53 * juu 's been idling too much today 12:02:04 --- nick: juu -> JuuAbsentSometim 12:02:16 --- nick: JuuAbsentSometim -> JuuAbsentSumtims 12:02:19 :) 12:02:45 :) 12:03:02 thers no reason for http to work better than ftp 12:03:56 Yay... I got a forth with like 5 words and only ability to run hand-coded programs in asm ;D 12:04:17 ftp can be slower, negociation takes more time.. 12:04:36 Well 12:04:55 Some ftp server don't like me sitting behind my router, for some reason 12:04:58 servers* 12:05:12 they maybe don't like passive ftp ;D 12:05:23 they're* 12:05:24 They don't like me :( 12:05:27 robert does the server use ecn ? 12:05:39 ecn? 12:05:44 s/they're// :D 12:05:45 if the server uses ecn disable it 12:05:49 oink: ;) 12:05:53 Hmm 12:05:55 Well, no idea 12:05:57 :D 12:06:03 explicate congestion notification 12:06:23 if i spelt that rite 12:06:23 lol 12:06:23 its a kernel compile option 12:06:34 do make config and look for it 12:06:34 if its enabled disable it and recompile 12:07:05 make config <-- suicide. 12:07:06 ;) 12:07:11 nah 12:07:14 yes | make config 12:07:19 heh 12:07:25 2MB kernel bzimage 12:07:28 :DD 12:07:42 No thanks D: 12:09:05 make menuconfigt 12:10:17 Yeah ;) 12:14:00 make clean 12:14:08 darn 12:14:46 I440r: I forgot what the header of a word contained... was it link to previous word, name and pointer to code? 12:18:34 yes 12:18:46 usualy. sometimes other dross is put in there too 12:18:53 but thats all thats needed 12:19:43 --- part: MrShower left #forth 12:20:46 OK :-) 12:20:46 Hm 12:21:05 Also, is there any special variable pointing to the latest added header? 12:23:04 yes. 12:23:11 last 12:23:31 create does 12:23:39 here last @ , last ! 12:24:37 Hm... what's it inserting with the comma? 12:25:45 the address fetched from last 12:25:59 i.e. the address of the previously defined word 12:26:07 header 12:26:40 I see. 12:26:43 Thanks again 12:27:50 :) 12:38:28 --- nick: kc5tja -> kc-food 12:38:28 --- quit: BigBoyToddy (Read error: 104 (Connection reset by peer)) 12:39:51 mur! 12:40:04 * JuuAbsentSumtims gets food 12:40:22 * I440r wishes he had some food to get 12:40:29 :)) 12:40:31 * I440r chews on his arm 12:40:35 Yuck 12:40:47 Them damned forthers...all cannibals. 12:40:50 auto canabalism :) 12:41:32 : cannibal here eat ; 12:46:50 rob_ert cannibal 12:48:14 xD 12:48:20 Hmmz 12:51:21 --- nick: JuuAbsentSumtims -> JukkaUF 12:53:06 How do I create an array in forth? 12:53:27 robert 12:53:30 wait 12:53:46 http://www.softsynth.com/pforth/pf_tut.htm 12:53:48 there ;) 12:54:10 Hmm 12:54:13 Do they tell? 12:54:16 I think I checked 12:58:02 --- join: skipC (skip@mira.taygeta.com) joined #forth 12:58:51 * I440r welcomes skip carter to #forth 12:59:02 we had an interview with chuckk moore in here recently 12:59:32 and this was adults onl.. ah, moderated channel! :) 13:00:12 moderating was the only way to prevent chaos lol 13:02:32 Hrm 13:02:44 You tried to cause a one-man chaos.... 13:02:53 i was allowed :P 13:02:53 lol 13:03:07 Hehehe 13:03:34 --- join: tathi (~josh@ip68-9-58-81.ri.ri.cox.net) joined #forth 13:05:07 names 13:05:49 Hi :) 13:05:56 hey 13:06:21 late night 13:07:01 my X is broken, so I'm using a console irc client which I haven't quite figured out yet :) 13:07:22 which client? 13:07:26 you guys have fun with chuck the other day? 13:07:31 yea 13:07:36 * JukkaUF stayed up 5 am 13:07:38 :) 13:07:40 Hehe 13:08:05 it was very interesting. and one HELL of an honor to have as many big names in here - chuck moore, jeff fox to name but 2 13:08:31 Some of the big shots even CTCP flooded me :)) 13:08:35 * rob_ert feels honored 13:08:36 ircII 13:08:41 cool cool 13:08:58 irssi is the best console client I've used... 13:11:00 rob_ert hey but that's finnish too... just like irc :) 13:11:10 (irc the standard) 13:12:21 * JukkaUF reads some more user friendly 13:12:28 ? 13:12:36 ok, I'm building irssi then :) 13:12:44 :) 13:13:10 minirc is also recommended if you want to use the same client on all your systems :-) 13:13:27 --- join: XeF4 (~xef4@dsl-XIII-227.kotikaista.weppi.fi) joined #forth 13:13:37 Hi :) 13:13:42 re XeF4 13:13:57 --- nick: kc-food -> kc5tja 13:14:06 well, I don't really care that much 13:14:08 oioi 13:14:33 because I _am_ going to get my forth OS working soon...really... :) 13:15:44 xef4! 13:16:02 :) 13:16:25 So, what did I miss in my absence? 13:16:55 Hmm 13:17:18 MrReach and I440r had a little bitch fight about a lots of details in forth. 13:17:28 Heheh :) 13:17:39 Nothing very interesting 13:17:46 That doesn't really surprise me; I440r and I have fights all the time on clf :) 13:18:02 heh 13:18:03 Speaking of which, I should read what's new... 13:18:05 Well, I440r and MrReach thaught me a bit about how things work :) 13:18:13 (In a forth, that is) 13:18:13 i dont fight mrreach 13:18:20 Well... 13:18:21 i just disagree with some of what he says heh 13:18:24 Hehe 13:18:26 but always respectfully 13:18:30 I wasn't 100% serious either 13:18:34 i know :P 13:18:51 Well, you're not the kind of guy who screans "ur gay u fucking fag!!?!?!##!" 13:19:01 Is Google hacked or something? I can't open http://groups.google.com -- can someone confirm? 13:19:02 Every time someone diagrees with you 13:19:07 --- nick: JukkaUF -> Juu 13:19:28 hmm.. 13:19:28 I can reach it. 13:19:40 anyone has old industrial computers that could be programmed with forth? 13:19:41 :) 13:20:10 i have a few kaypro II's 13:20:10 kc5tja: works fine here 13:20:11 :) 13:20:46 Can you define "Industrial computers"? 13:21:07 I only have my C128D with C64-forth :) 13:21:13 But no room for it :-/ 13:21:50 c64-forth on a cartridge ? 13:21:53 or as a program 13:21:56 i had both :) 13:22:00 by tom zimmer no less :) 13:22:26 rob_ert #define industrial_computers 13:22:28 are you now okay? 13:22:29 :) 13:22:42 Not here. Bizarre. I can hot www.google.com, but not groups.google.com :( 13:25:01 whats the exact log to the interview with CM ? 13:25:10 the url to it i mean 13:25:37 I440r: On a floppy :-) 13:25:52 lol 13:25:53 The C128 is a bit more deveoped than the C64 ;) 13:26:07 not realy - it just had a page switch 13:26:14 it was basically a c64 on acid :) 13:26:24 i prefered my 64 13:26:46 Hehe 13:26:53 Well, it has some nice hardware 13:26:58 Like built-in floppy drive 13:27:05 youwouldnt believe some of the things ive seen done with a c64 13:27:12 Hehe 13:27:15 Like..? 13:27:24 i had a program that would load into the 1541 drive and step the heads at specific frequencies 13:27:28 and play "god sayve the queen" 13:27:30 lol 13:27:41 i ran it once. switched OFF before it damaged anything 13:28:31 I440r: http://tunes.org/~nef/logs/forth/02.05.04 ? 13:28:38 thanx 13:29:58 Haha 13:30:10 Nice :) 13:30:17 Who is this jml asshole on the newsgroup? 13:30:28 What kind of cooked up bullcrap is this? 13:30:43 Someone tried to play the Beatles song Because with the PC speaker :-) 13:31:04 dunno 13:31:11 whats he trying to say 13:31:36 Read the newsgroup. 13:31:41 I440: have you seen a demo "Deus Ex Machina" on the C64 by any chance? 13:31:41 It's too long to post here. 13:31:43 lol 13:31:55 dangit that means i have to run mozilla again :P 13:32:05 I440r: I'm serious. It's an advert for STOICAL. 13:32:07 if opera for linux supported news i would dpkg --purge mozilla 13:32:14 oh yea 13:32:19 ive seen something along those lines 13:32:22 i just ignored it 13:32:35 I440r: http://www.google.com, click on "Groups", type in comp.lang.forth, and read. (And post if youwish) 13:32:36 like those adverst for some females ART gallery 13:32:57 I mean, what the hell is this guy thinking? 13:33:03 spam 13:33:16 he probably sent that to a dzn non related groups 13:33:31 if ONE person from them responds posativly he wins 13:33:39 spam should be made illegal 13:33:50 No, just one newsgroup. 13:33:51 and RBL should block any company that uses spam as a marketing method 13:33:55 I440r: Spam *IS* illegal. 13:33:57 I440r it is in some countries 13:34:01 no its not 13:34:07 I440r but US is the only which havent 13:34:11 western 13:34:11 its just subject to the same laws normal marketing is 13:34:15 in eu it is 13:34:18 Nope. It's illegal, but it's unenforcable. 13:34:50 Federal laws do prohibit the dissemination of unsolicited materials to "electronic receiving devices." Originally intended for bulk fax transmissions, it also can be applied to Internet e-mail too. 13:34:57 But again, how the hell do you enforce something like that? 13:35:25 At any rate, thi sisn't SPAM. 13:35:32 It's an honest advertisement for STOICAL. 13:35:37 move to something like Dan Bernstein's IM2000 mail architecture :) 13:35:43 kc5: by pouring a lot of resources into a few spectacular example enforcements to make the rest think twice 13:37:03 A "FIFO Stack"? This guy has no frigging clue what he's talking about. 13:37:11 He doesn't even know what a queue is! 13:39:29 kc5 confiscate all computers, all faxes, all copy machines and all office furnature etc of ANY company that spams as a marketing method 13:39:38 if someone does it from their home confiscate the entire home 13:39:46 i bet spam would disappear overnight 13:39:58 that would free up a hell of alot of bandwidth and thus make bandwidth cheaper 13:39:59 --- quit: tathi ("Leaving") 13:40:05 I440r: The problem is finding the spammer. 13:40:17 --- join: tathi (~josh@ip68-9-58-81.ri.ri.cox.net) joined #forth 13:40:19 YOU pay for HIM to send that email every time you pay your isp bill 13:40:34 http://bbspot.com/News/2002/03/ocjesus.html 13:40:35 The Internet has no audit trails of any useful variety. The best we can do is "guess" where he might be sending from. 13:40:37 seen that? 13:40:49 kc5 thtas not true 13:40:54 I440r: Don't tell me about spam and its implications. I used to run two ISPs. (As in, I *owned* two ISPs). 13:41:35 No, that IS true. 13:41:36 or else how would he have found those virus people from southeast asia 13:41:36 Frighteningly true. 13:41:36 kc5 ya 13:41:36 You'll learn this first-hand as soon as you run your own ISP, and encounter a spammer for the first time. 13:41:50 Trust me -- Sendmail is amazingly unhelpful in tracking down a spammer. 13:41:54 As is QMail, and a whole bunch of others. 13:41:55 blocking open relays isnt enough tho 13:42:08 if foo inc has alot of spam floating arround for "by this now" 13:42:33 then ALL of foo.incs IP's should be totally blocked 13:42:34 and once blocked there should be NO way to unblock 13:42:41 unless you can prove its someone else spamming in youru name 13:43:16 Spammers will happily extinguish the IP address space that way. 13:43:17 They don't care. 13:43:18 i doubt vixie would implement that however :) 13:43:40 As far as they're concerned, once the Internet is all "used up," they'll just move on to greener pastures somewhere else. 13:44:18 anyway - ive got a nasty bug in isforth from somewhere 13:44:29 the free list space is being obliterated in the status display! 13:45:11 --- join: geakazoid (JB@adsl-63-206-93-160.dsl.snfc21.pacbell.net) joined #forth 13:46:41 argh now i gotta go do some gunsmithing stuff - batf arrives TOMORROW!! 13:46:48 bbl 13:47:00 * kc5tja can only say this about NASM though: it's a *HELL* of a lot buggier now than it was way back in 0.97 and earlier days. 13:47:07 It's borderline useless now. :( 13:47:08 --- quit: XeF4 ("katkaistaan verkko") 13:47:25 for the internet explorer users: www.wazzupnet.com 13:54:53 * geakazoid is gone, autoaway/10m (l!on) 13:58:09 --- join: XeF4 (~xef4@dsl-XIII-227.kotikaista.weppi.fi) joined #forth 13:59:44 I440r: confiscating homes is a bit harsh.. but fining the spammer say.. $1 per spam would do nicely 14:08:55 re 14:11:32 --- join: Fare (fare@samaris.tunes.org) joined #forth 14:12:40 hello 14:13:12 Hey last saturday Quartus was talking about the Palm Pilot, but isn't there some small PC that is like a PC that one can program? 14:14:10 Hmmm 14:14:20 Hehe, I have no idea 14:14:28 I guess you can programm all PCs ;) 14:15:02 what day is it today? 14:15:10 which 14:15:20 --- join: MrReach (~mrreach@209.181.43.190) joined #forth 14:16:14 hihi! 14:17:30 :)? 14:19:14 --- join: CrowKilr (Vapo_Rulez@cnq5-233.cablevision.qc.ca) joined #forth 14:19:14 you mean, like the Toshiba libretto of Sony U1 ? 14:19:30 or more like the Jornada 820 or 720 ? 14:19:50 Fare well I guess so, I have not been researching the market lately, but I am thinking about a notebook or smaller 14:19:54 sharp zaurus!! 14:20:05 * Fare bought a J820 recently 14:20:06 greets, skipC 14:20:27 * skipC stops lurking 14:20:31 I wish I was bright enough to port linux to it 14:20:34 I bought a Jornada 525 ... been thinking of writing a forth for it 14:20:44 the sharp zaurus runs linux out of the box 14:21:15 Ok, I want something I can take on the road and do some of my programming projects, are you guys doing that with yours? 14:21:18 * skipC has cross compiled gforth for the zaurus 14:21:40 no, that's why I wish to write a 4th for it 14:21:54 in fact, I haven't really found *ANY* resident compiler 14:22:23 MrReach none, not even for CE? 14:22:25 funny, ive just seen that link 4 the zaurus gforth just some hrs ago :) 14:22:55 as far as I can tell, apps are cross compiled with M$ embedded Visual Whatever, and that's it for development 14:23:06 skipC: u compiled a standalone gforth on sharp or 1 running under the linux running on the pda? 14:23:34 what is zaurus? 14:23:37 oh! wait! delosoft has a (broken) forth forth ... no editor, no command line, batch only 14:23:50 standalone=the only program, no OS 14:23:59 onetom: the sharp zaurus is a pda that comes with linux installed, standard 14:24:01 geakazoid: A hand-held similar to the Palm Pilot, but which runs Linux and Qt instead of PalmOS. 14:24:01 geakazoid: a pda 14:24:19 I cross compile gforth for it, so with it installed you can write/run forth apps on it 14:24:21 I need a bit more than a PDA, something with a keyboard 14:24:23 skipC: You have a Zaurus? How do you like it? 14:24:32 the zaurus has a keyboard 14:24:37 skipC: okay, i dont know it to much, i only have a palm IIIc 14:24:41 geakazoid: It has a keyboard. 14:24:48 I bought a keyboard for my Jornada 14:24:51 kc5tja: I will not be purchasing another palm after using the zaurus 14:25:11 * onetom shower 1 move 14:25:14 skipC: I'd like a Zaurus, but I can't afford one. 14:25:33 kc5tja: mine is a developrs version, so its poor on memory 14:25:47 heh 14:25:51 Besides, I would like a Forth environment that interfaced with the Qt environment on the Zaurus; gforth doesn't do that AFAIK. 14:25:54 kc5tja: even tho the list is around 550 US, I have seen it for as low as 400 14:26:09 skipC: That's about $300 out of my price range. 14:26:27 kc5tja: I thought about Qt but decided not to bother, I run gforth scripts a lot 14:26:44 skipC on the PDA? 14:26:51 #!/usr/bin/gforth 14:27:09 skipC you mean that the PDA OS is linux? 14:27:18 If I were to get such a system, it'd serve two purposes - ham radio and D&D character sheet management. 14:27:27 geakazoid: Yes. 14:27:28 geakazoid: when you can do #!/usr/bin/gforth, why do /bin/bash ? :-) 14:27:55 geakazoid: yes, the OS for the pda is linux 14:28:08 anyone know where to get a forth assembler for the Toshiba SH3 ??? 14:28:49 MrReach: The folks on comp.lang.forthmight know. 14:28:57 There's a lot of embedded space developers on that newsgroup. 14:29:07 MrReach can you use NASM on it? I think you could use eforth built with NASM 14:29:10 that's a good idea, actually 14:29:28 --- join: zaurus (~skip@mira.taygeta.com) joined #forth 14:29:36 NASM has instructionsets for other than Intel x86 ??? 14:29:39 I didn't know that 14:29:42 greets from Skips PDA ! 14:29:54 ~skip@mira.taygeta.com 14:30:21 mira is the gateway for my pda 14:30:49 pda--ethernet-over-usb-->mira-->internet 14:31:07 No; Zaurus runs on an ARM variant, if memory serves me correctly. NASM wouldn't assemble for that architecture. 14:31:21 right its an ARM 14:31:21 * MrReach nods, "and you're using xchat on the pda" 14:31:39 no X, at least there didnt used to be 14:31:48 this is plain ol iirc 14:31:56 oh, ok 14:32:03 X is available for it, but it's a separate download. It's just raw Qt. :) 14:32:07 what pda ? :) 14:32:29 you're right, I had fingered skipC rather than zaurus 14:35:03 I wish they had gone with a bare forth rather than an enitre operating system 14:35:28 and left the interpreter exposed 14:36:57 if someone is brave enough to risk trashing the pda, i am sure a native forth pda could be done easily enough 14:37:50 a palm class pda that ran a forthOS would breathe a new life into those systems 14:38:45 what would a forth os do? 14:39:16 high performance on weak hardware 14:41:45 MrReach sorry, I do not know what NASM has or not, but if you can compile ASM on your Jornada, then you could compile eforth 14:41:59 zaurus: the hardware specs are available??? I didn't think they were 14:42:51 geakazoid: I had thought of that, haven't been able to find an SH3 assembler as yet ... so was considering writing one 14:42:53 MrReach: I suppose you mean with sufficient detail to throw away the installed os ? 14:43:22 hmmm ... I hadn't considered that before this point 14:43:32 reinventing the wheel and all that 14:44:07 but if one WERE to throw out the WinCE ... the hardware specs would ahve to thorough, yes 14:44:18 zaurus the OS may be more limiting than helpful 14:44:19 or the PalmOS 14:45:03 geakazoid: one of the major advantages of the keeping the current OS (on whatever platform) ... is support for the myriad of plugin devices 14:45:54 MrReach yes, if one wants such plug-ins 14:45:55 thats true, I have just plugged in network cards, wireless cards, modems, etc and they all just worked without any fuss at all 14:45:55 also, the handwriting recognition software is anything but trivial 14:46:29 It mostly depends on what you want from a device? 14:47:41 heh, I spent $200 for my Jornada, and $200 in accessories ... I'm not about to pitch the accressories just to run forth 14:47:44 so how did the ipaq get done ? 14:48:32 beg parden? could you rephrase the question? 14:48:43 MrReach well, I understand, I just want a portable device to do my work on 14:48:58 * davidw sleeps.... 14:49:29 oh, that's a thought ... I might be willing to pay $200 for comprehensive programming language 14:49:45 pleasant dreams, davidw 14:49:57 the ipaq running linux seems to support everything. where did the linux porters get the required info ? 14:50:20 oh, that's a good question ... I don't know 14:50:38 I didn't know that linux did sounds, recognition, etc 14:51:04 --- join: AlephNull (~Topical@h24-65-137-230.ed.shawcable.net) joined #forth 14:51:22 I saw compaq! showing linux ipaqs at a trade show so they could show off their ipv6 servers! 14:51:31 I had _assumed_ that just the touch-screen and display were working 14:51:38 MrReach zaurus when I was on the Linux commnity boards all the time, they were doing projects and there used to be a lot of information about embedded linux projects 14:52:26 I think at times the linux community was courting the PDA community 14:52:52 that wouldn't surprise me at all 14:53:21 it's easier to beat M$ to new techs than to try to out them out of established markets 14:53:29 out=oust 14:54:19 * kc5tja can't imagine -- Microsoft Visual Forth .NET 14:54:56 heh, actually, M$ has used forth internally, off and on, for years 14:55:12 MrReach: Oh, I know. They even used to market a Forth back in the DOS 3.3 days. 14:55:26 in fact, Java (a sun contraption) internals look a LOT like forth internals 14:55:36 * kc5tja is aware of that too. 14:55:47 In 1998, Sun had a Java Ring. Sun was giving the Rings away and demo'ing them to show off Java as an embedded language. 14:56:02 However, Smalltalk's does as well, and that's really where Java's VM inherits from. 14:56:14 yes, that's probably true 14:57:02 anyway, I wish I had a good, interactive forth for this expensive paper-weight here on my desk 14:58:18 MrReach do you mean you do not use your Jornada? 14:58:31 not nearly as much as I thought I would 14:58:37 --- quit: AlephNull () 14:58:50 presently, it's a glorified address book and alarm clock 14:59:11 I'd really like to be able to network it to my databases on my unix server 14:59:25 If you want to experiment and make it useful, then just start a project to program a forth system, if it is just there, then there is nothing to lose 14:59:34 however many levels of glue that would take 15:00:16 "if it is just there" ??? you man a project? 15:02:42 well, I *HAVE* considered writing a commercial Forth for the various PDAs 15:03:04 but I'm waffling on the market 15:03:09 MrReach now if you considered writing a commercial one then why don't you just do it? 15:03:51 like I just said, the market is rather unpredictable 15:04:26 of the PDA users, what part are programmers, and what part of programmers are willing to shell out for a forth? 15:04:29 MrReach yes, I see what you mean, but if you have one and you can make it useful, then it has a chance of making it 15:05:01 that's true, or I could blow a whole bunch of time/money 15:05:19 MrReach yes, that is true too, but as you may know, Mac uses forth to boot Mac Os X\ 15:05:46 heh, wouldn't it grab I440r by the short hairs if I ported his isforth to a WinCE environment 15:05:48 ??? 15:06:28 but then I'd be contrained by the open-source license 15:06:31 MrReach yes, that is true, you could blow money, but if you knew how to program it, then that should be worth something to someone somewhere who has money 15:06:36 --- join: futhin (thin@h24-64-174-2.cg.shawcable.net) joined #forth 15:06:54 that's true, geakazoid 15:07:04 wow 15:07:13 * Juu started wondering when tz was -36 of mine :) 15:07:16 chan went from 19 to 29 :) 15:07:58 are we on PBS yet? 15:16:50 --- quit: futhin () 15:16:53 --- quit: XeF4 (Read error: 104 (Connection reset by peer)) 15:20:53 --- quit: davidw (Read error: 113 (No route to host)) 15:26:36 MrReach I am not sure which Open Source licensing isforth has but, if it is gnu compatible, like the Clarified Artisitc Licencse, that way you can attatch your own stuff 15:26:38 http://www.statistica.unimib.it/utenti/dellavedova/software/artistic2.html 15:27:02 I was being flippant 15:27:41 GNU LESSER GENERAL PUBLIC LICENSE 15:27:41 Version 2.1, February 1999 15:27:42 forth systems are simple enought to write from scratch each time 15:28:30 in this case, the real work would be in writing an SH3 assembler and learning how to write out WinCE executables properly 15:29:17 Forth Systems are simple emough to write from scratch, but man, it is painful. 15:29:32 it is? 15:29:54 * kc5tja is trying to write one again -- first FS/Forth I've written in over 6 years. It's being a pain in my arse right now. 15:30:08 I got it to display its banner, and print an OK> prompt, and to accept a line of text. 15:30:09 However, ... 15:30:12 what difficulties are you experiencing? 15:30:19 1) It crashes for no explicable reason if I enter a string too long, 15:30:37 2) It's *allowing* over-length strings, even despite the length checks that I have in the code!! 15:30:50 that's odd 15:30:52 3) Backspace is treated as ENTER key, even though it sees it as a backspace. 15:31:01 And I *really* can't explain why *any* of this is happening. 15:31:15 what is your devopment environment? 15:31:17 I implement the same code in Pygmy Forth, and it works perfectly. 15:31:22 MrReach: Raw assembly language. 15:31:30 NASM? 15:31:32 Yes. 15:31:39 And no, NASM isn't producing bad code. 15:32:00 I was thinking in other directions, actually 15:32:30 well, the only thing I can suggest is to write the debugging tools first 15:32:39 then the interpreter and related words 15:32:47 However, I will say that having written a Forth dialect, it will be a very rewarding experience, especially if you can use it to metacompile and target-compile to other environments. 15:32:57 I found I had to do that when writing my previous forths 15:33:23 MrReach: I test each word, and each word (when tested in isolation) works. 15:33:36 MrReach: It wasn't until integration came that these bugs came about. 15:33:42 erg! 15:33:51 a hidden interaction of some kind 15:34:00 So now I have to write a ".s" word, and all of its supporting words, to find out what kind of stack corruption is going on. 15:34:05 * kc5tja is pretty positive it's stack corruption. 15:34:14 Because: 15:34:19 but what is writing to the stack? 15:34:34 1. The buffer structure used to accept text with has its ActualSize parameter set correctly. If I type 13 letters, it reads 13, for example. 15:34:40 MrReach: I have no way of knowing. 15:34:54 That's why I have to write a .s word. 15:35:03 I never had a need for such a word before now, so... 15:35:16 erm ... you haven't left anything on the return stack by accident, have you? 15:35:19 (and that means, I also need to write numeric conversion words too. That is going to suck suck suck) 15:35:35 MrReach: No, the inner interpretter is working fine. 15:35:44 my tools consisted of . emit type .s and dump 15:35:56 Well, I'm not even interactive yet... :) 15:36:05 . EMIT TYPE are all implemented. 15:36:10 Well, . isn't. 15:36:21 no, I'd embed these in source and watch as it went through its hoops 15:36:22 I will be writing that next, as part of the requirements for .s 15:36:32 Well, like I said, I need to write these things. 15:36:45 I only spent about, maybe, 12 hours writing the Forth so far. That's about two days worth of coding. 15:36:54 things started getting *REAL* nice when I implemented catch/throw 15:37:17 * kc5tja has no intentions of implementing catch/throw at least until the interpretter is finished, and it's interactive. 15:37:24 yes, your moving at a good clip, then 15:37:28 * joa looks around for I440r 15:37:43 What to you seems like a good clip is, to me, an eternity. :) 15:38:17 my STC forth (DOS environment) took me 80 hours to write in Pygmy (including meta compiler) 15:38:21 I440r just disappeared -- not sure where he went. 15:38:27 oh poo 15:38:50 My Forth is for DOS too, using DTC. 15:39:15 * kc5tja was going to use it to write a meta-compiler for FS/Forth System 1 Release 4 (I'm writing Release 3 now, of course!), which will have a little bit more advanced functionality. 15:39:23 The idea is, I never want to write a raw assembly Forth again. :D 15:39:45 heh 15:39:46 FS1R4 would be used to bootstrap FS2R1, the 32-bit native edition. 15:39:46 --- quit: rob_ert ("Strawberry fields forever.") 15:40:10 if I were to write a forth for my Jornada today, I'd expect it to take the same 80 hrs + 20-30 hrs to write SH3 dis/assembler + 15-20 hrs figuring out .EXE files 15:40:14 Then, FS2R1 could then metacompile itself into hosted environments for Linux, Win32, etc. 15:40:51 right 15:41:04 I would metacompile from the start 15:41:11 I couldn't 15:41:21 Pygmy's dictionary format is wholly incompatible with my dictionary format. 15:41:26 Word headers are completely different. 15:41:39 I'd have to re-implement the whole doggone language from the start to even make the metacompiler. 15:41:42 then, I don't have to read manuals incessantly trying to figure out how i'm using my own software incorrectly 15:42:42 kc5tja: when I started meta-compiling, it started with create target 10000 allot target 10000 0 fill 15:43:11 Yes, that's how my target compilers all worked. Creating a Forth environment from that, however, is very, very, very difficult. 15:43:14 * kc5tja couldn't make it work. 15:43:28 none of it was related to pygmy in any way ... it compiled just as well on FPC ... and probably in win32forth today 15:44:01 although I'd have to adjust in places for the 32bit stack size 15:44:02 You have to redefine words like : and CREATE and HEAD, which makes for very, very tricky source code orderings. 15:44:09 yep 15:44:29 I couldn't do that. 15:44:34 It would break the build environment. 15:45:09 Pygmy's metacompiler takes advantage of the fact that the target image and the current image use the same dictionary layouts and formats. That alone is a HUGE benefit. 15:45:33 * kc5tja could never understand how anyone could get a target compiler working. Just couldn't do it. 15:45:33 yes 15:45:48 my system revolved around the word Target? 15:46:03 How do you mean? 15:46:06 : : target? if ... else : then ; 15:46:34 : ; target? if ... else [compile] ; then ; immediate 15:46:36 See, in the Forth I'm currently writing, I'm going to support more than just two vocabularies. :) 15:46:44 so did I 15:46:56 does your average forth in linux have its code definitions in an area separate from where HERE points? 15:47:00 however, the kernel only needed one vocab 15:47:12 It'll have FORTH and COMPILER, but if you wanted to target compile or metacompile, you could define additional vocabularies, so you don't exactly have to do such things. 15:47:28 joa: erm ... I don't know how to define "average forth" 15:47:32 load up, set the current point in memory to some place you just malloced and then start going? 15:47:54 MrReach: take all the forths you know of for linux and if more than half do that, say yes ;) 15:48:16 joa: I don't think that can be answered. 15:48:24 joa: I would have to say no. 15:48:38 kc5tja: how do they allocate new memory for definitions after they start up? 15:48:42 most of the forths for linux that I know of are written in C ... so I haven't a clue 15:49:03 joa: That's a system implementation-specific issue; I can't answer that question, not having written a Linux version of Forth. 15:49:17 kc5tja: alright 15:49:23 joa: I know that Quartus Forth for the Palm splits its code space and data space, and it has both HERE and CSHERE. 15:49:24 there's a couple of ways 15:49:25 j'ai peur de reveiller le xoby 15:49:30 a moins de passer par la fenetre 15:49:50 for one, in ELF format, a segment can be defined as larger than the data that's actually in it 15:50:52 MrReach: is that a solution that you'd use? 15:51:04 Also, I believe Quartus Forth dynamically allocates the data space as well. At least, that's what I got from quartus when he was online here during the CM interview. 15:51:19 one could, for example have 22k of machine code/dictionary in the 'text' segment, and then tell the ELF loader to reserve 200k of memory for it 15:51:24 hmm ... 15:51:49 MrReach: are you talking in the bss section or actually contiguous memory for the entire text section? 15:52:00 Contiguous memory for the section. 15:52:05 the latter 15:52:16 interesting 15:52:28 so you end up with a 22k bin that uses 200k of memory when it's loaded? 15:52:40 that's the idea, yes 15:52:41 joa: Yes. 15:53:03 now, I haven't done it, but the ELF specs say it can be done 15:53:05 well that's pretty nift :) I've never tried making a too large segment before 15:53:15 so that is one solution that might be used in linux forths 15:53:34 Another is to just plain dynamicallly allocate a large chunk of memory, and stuff it with executable code. 15:53:38 and I haven't a clue what the linker switches to do that are 15:53:51 yes, I would call that "copy on load" 15:53:54 MrReach: bah. skip the linker if you're gonna have that much fun with ELF anyway ;) 15:54:19 well, I'm fond of metacompiling, so I get to do that 15:54:36 kc5tja is writing in NASM ... he has to take that step 15:54:49 Well, I'm also writing for DOS 15:54:55 * kc5tja is using raw binary files (.COM format). 15:55:07 oh! that's right! I'd forgotten 15:55:13 kc5tja: so you'll just set here to the end of the file? 15:55:14 Once that version is up, then I'll start meta-compiling (if I can figure out how the hell to do it) 15:55:16 you get as much memory as you want 15:55:27 nod 15:55:38 joa: Yes, that is what I do. 15:55:44 Currently, I do not have a split code and data space. 15:55:47 However, ... 15:55:58 kc5tja: nod, that's a nice thing about writing for dos heh 15:56:03 The FS/Forth System 2 series *will* have it because one of its missions is to help me write Dolphin. 15:56:08 too bad there are so few nice things heh 15:56:47 I'd rather write for linux 15:56:59 okay, so assume that I don't care if my forth is exactly 64k in memory... can I just use malloc and set here to that when everything's loaded up? 15:56:59 MyReach: Linux is WAY too hard. 15:56:59 MrReach: nod 15:57:18 too hard for what? 15:57:19 yoiu don't know how many times I had to reboot because my alpha forth ran amuck and tromped the memory randomly 15:57:29 Linux philosophy makes it patently clear that they do NOT want people fiddling around with the executable formats, the system call APIs, etc. 15:57:39 zzz 15:57:57 kc5tja: uh sure 15:57:58 MrReach: Yes, I do. 15:58:00 * joa hopes his question gets answered heh 15:58:03 MrReach: I have to do that now. 15:58:28 cdesousa: Care to enlighten me? 15:58:34 joa: you can do something like that, yes 15:58:40 kc5tja: it's completely the opposite of that 15:59:03 cdesousa: The ELF executable format is one of the most difficult formats to implement. 15:59:06 though I would seriously think about copying the disctionary into the newly allocated memory, so that it's contiguous 15:59:18 MrReach: cool. I'm writing the world's suckiest forth in linux right now for experience and then I'm gonna write it for another system once I have a feel for how it all works :) 15:59:21 cdesousa: The Linux system call interface has virtually zero documentation. 15:59:22 MrReach: well, would there be much advantage to doing that? 15:59:24 kc5tja: but it's documented 15:59:36 MrReach: change that to "what would the advantage be?" obviously you feel there would be one 15:59:52 cdesousa: So what? That doesn't change the fact that it's incredibly complicated, and that it offers me zero advantage to use it. 15:59:54 yes, it would prevent the dictionary from being split 15:59:59 not really, the docs tree is fine, even the headers are commented nicely 16:00:07 new defs going into a different region than old defs 16:00:19 cdesousa: Last I looked (2.4.x), the Linux headers were indecipherable to me. 16:00:25 MrReach: why is that bad? 16:00:40 so, your statement is the opposite, just because it's complicated doesn't it's suddenly the linux philosophy to not have people fiddle around with it 16:00:42 FINDING the headers is half the problem. They seem scattered throughout the entire source tree. 16:00:45 worse than just not mattering that is :) 16:00:58 kc5tja: incidently, the ELF and Win32 New Executable currently in use are nearly identical 16:01:06 cdesousa: My argument was that writing for Linux was hard. 16:01:33 cdesousa: The current Linux philosophy is to not document anything where it's easily explained or accessible, thus making it that much harder. 16:01:51 Thus, it's clear that libc is the preferred method of writing code for Linux. 16:01:54 joa: it's not neccessaril bad, I just tend to think of the dictionary as monolithic 16:01:54 ah, yeah, the LDP is just there because we don't document anything 16:02:04 shrug, i'm done 16:02:19 MrReach: ah... well, that's a major downside in some systems... having it all have to be in one block, that is 16:02:23 MrReach: Again, I'm not using COFF or PE format. 16:02:24 I've stumbled into that one, too 16:02:34 cdesousa: Dude, I've looked at LDP, and got nothing out of it. 16:02:35 yes, I'm quite aware of that 16:02:57 MrReach: if there's no reason to limit it to one block, I'd rather not do that 16:03:01 and the kernel doesn't have "Loadlib/FindProcAddress" 16:03:17 MrReach: kernel in that system? 16:03:20 which means that lib has to be linked at runtime via ELF headers 16:03:24 in Linux 16:03:38 oh, heh... it turned yellow and I thought it was addressed to me :) 16:03:47 did they a syscall for it in 2.4?? 16:04:00 add a syscall for it? 16:04:23 MrReach: where does dlopen happen? in the kernel? 16:04:30 joa: libdl 16:04:40 kc5tja: is that a wrapper for the kernel? 16:04:43 in 2.2 it was in a lib in /lib 16:04:48 joa: I have no idea. 16:04:58 no 16:05:00 well, I'm just wondering if that's an entirely userspace thing or not 16:05:11 i looked at the sources ... 16:05:29 it uses functions like map-file 16:05:32 MrReach: does it make the library world readable and executable when it's loaded up so they can share? 16:05:35 I think some semephore stuff 16:05:42 So libdl re-implements the ELF loader just to support dynamic libraries? 16:06:18 well, if I had looked at the sources for the ELF loader I could answer that @:^> 16:06:25 MrReach: I see no load or proc in the syscall list for 2.4 16:06:40 joa: It'll probably be exec() 16:06:45 frankly, it belongs there, imo 16:07:05 kc5tja: FindProcAddress would be exec()? 16:07:10 joa: No 16:07:23 joa: I don't think the kernel can handle shared objects. 16:07:26 that's libdl's job. 16:07:57 libdl has dlopen() to open a library, dlsym() to get a symbol's address, and dlclose() to close a library. 16:08:08 yes, once you have pointer to libdl ... libs can be loaded/unloaded/used at runtime without too much effort 16:08:12 kc5tja: okay.. I was just noting that 2.4 also doesn't have those two functions as syscalls 16:08:22 since MrReach had made it clear he was uncertain 16:08:23 but that's a stub in the ELF format that somebody has to deal with 16:08:24 Correct. 16:08:28 (apparently) 16:09:04 And cdesousa is telling me Linux is well documented. Here we have three people discussing something that would be *very* easily solved if suitable documentation existed. 16:09:23 it seems to me that the responsibility of sharing memory between processes should belong to the kernel 16:10:11 --- part: Fare left #forth 16:10:17 MrReach: Now you know one of the many reasons why I want to write Dolphin -- to get as far away from Linux as possible. 16:11:22 The Linux developer ethic is horrid, and it shows in its code quality. I don't think they do it on purpose, but when you ask the typical Linux developer, "How does it work?", they'll respond with "Read the source." Well, there's a huge problem with this... :) 16:20:29 -- silence -- 16:23:08 I think I scared a lot of people away. 16:23:15 Apparently, my views on Linux are rather controversial. 16:23:23 --- join: XeF4 (~xef4@dsl-XIII-227.kotikaista.weppi.fi) joined #forth 16:23:59 terve taas, XeF4 16:24:00 :) 16:24:07 terve terve 16:24:24 nythän on jo aamu, mitäs teet täällä? 16:24:32 ainiin , aamu se on minullekin :) 16:25:47 Juu: hyvä kysymys.. mitäs teen täällä? 16:26:23 nin :) 16:27:15 mun pitäisi kääntää meidän weppisivut englanniksi, mutta näyttää siltä että koodaan colorforthprojektiksi koko yön =P 16:27:35 hey look a new dialect of forth lol 16:29:04 haha 16:31:52 kenen meidän? ;) 16:32:15 Juu: Estellen meidän. katso http://www.estelle.fi/ 16:33:05 työpaikkako? 16:36:18 --- part: skipC left #forth 16:36:32 vapaaehtostyöpaikka 16:36:41 \quit 16:36:46 --- quit: zaurus ("Leaving") 16:37:31 siis palkallinen vain vapaaehtoinen? :) 16:39:04 vain kapteeni ja muita merimehiä saa palkkaa, enkä ole.. 16:39:17 k 16:39:24 tai, en olisi irssissä.. 16:39:54 kiinnostaako? :) 16:40:44 ei nyt voi 16:40:50 aatteen kannalla kyllä olen 16:44:43 kc5tja: controversial? not really... 16:46:01 good night :) 16:46:23 Later oink :) 16:47:11 oink 16:47:13 zzz 16:47:55 * kc5tja is listening to some sound clips by a band called ARK. 16:48:18 night ark? 16:48:20 Very interesting interpretation of hard rock/heavy metal. 16:48:27 onetom: Just "ARK" 16:49:16 seesja 16:49:20 sleeping 16:49:22 for real 16:49:32 yes, not yet another 2 hour session irccing :) 16:50:33 --- quit: Juu ("i never know or remember what my quit message was") 16:59:45 --- quit: I440r (Read error: 113 (No route to host)) 17:00:07 --- quit: Forth (Read error: 113 (No route to host)) 17:12:16 --- join: skipC (skip@mira.taygeta.com) joined #forth 17:12:24 wb skipC 17:48:54 --- join: Speuler (~l@a161161.upc-a.chello.nl) joined #forth 17:49:59 --- join: qless (~cerberus@142.179.149.223) joined #forth 17:50:12 howldy folks 17:50:26 hi 17:53:51 yeah, that sign @ the beginning shows it was a /me 17:55:26 * onetom msgs in the public channel 17:55:53 (just testing irc, ignore me 4 awhile) 17:56:32 can you test in #test or somewhere? 17:56:58 --- part: qless left #forth 17:57:10 XeF4: dont worry, this test wont last 2 long. its not worth 2 switch 2 somewhere else 18:00:58 now i quote: 18:01:31 --- join: bob4th (~bob4th@adsl-63-197-120-243.dsl.sktn01.pacbell.net) joined #forth 18:16:18 --- quit: tathi ("leaving") 18:27:24 --- part: skipC left #forth 18:34:36 --- quit: bob4th (Read error: 110 (Connection timed out)) 18:38:27 --- join: TheBlueWizard (TheBlueWiz@ip-216-25-202-76.vienna.va.fcc.net) joined #forth 18:38:27 --- mode: ChanServ set +o TheBlueWizard 18:38:32 hiya all 18:38:33 re TheBlueWizard 18:38:40 hiya kc5tja :) 18:39:58 how's life? by the way, what time on May 18th Chuck Moore is expected to pop into here? I'm planning to email my friend announcing that 18:40:28 I *think* it's 2PM like the last one. 18:40:35 But I'm not sure on that. 18:40:55 2 PM EST? 18:41:00 Pacific. 18:41:20 ah....so it'd be 5 PM EST 18:41:35 or EDT as that may be...hehe 18:41:52 Yes. 18:41:53 so that is 23:00 GMT? 18:42:27 er. 21 18:43:22 um....IIRC GMT = EDT + 5 hr, so it would be midnight GMT 18:43:40 I don't know if GMT deals with daylight savings time though. 18:43:49 scotch that...2 hours before midnite GMT 18:44:23 it doesn't 18:45:05 GMT is practically identical to UTC 18:45:23 I thought they were identical. 18:45:44 * kc5tja seems to recall them being identical, in both the astronomical and metrological fields. 18:46:30 hmm...it would definitely be nice to have a bot that understands the nuances and calculations of time :) 18:47:05 Heheh :) 18:48:59 http://aa.usno.navy.mil/faq/docs/UT.html - UT, GMT, UTC, UT1 18:49:28 I know...let's all just work with Internet Swatch time... :) 18:49:33 thanks, dude! 18:49:35 ugh 18:50:27 heh 18:51:45 --- quit: Speuler (Read error: 113 (No route to host)) 18:52:43 Interesting. My dad does all his astronomical stuff according to UTC via WWV. 18:54:53 WWV? 18:55:26 A radio station in Colorado, USA that broadcasts on 5MHz, 10MHz, 15MHz, 20MHz, and 25MHz the current universal coordinated time. 18:55:47 Ever see those clocks that you never have to set? They just auto-magically set themselves? That's the radio station it gets its time from. :) 18:55:58 WWVB transmits on 60kHz IIRC. 18:56:34 Oh, and when I say 10MHz, I'm really saying, 10.000000MHz. The carrier frequency can be used as a calibration source for oscillators. :) 18:57:06 I've heard of such clocks and TVs that set the time via radio signals 18:57:30 cool re: calibration stuff 18:58:03 I see re: WWV...nice t' know that 18:58:25 * kc5tja is an amateur radio operator. As a ham, I often use it to judge propegation characteristics. 18:58:56 If you live in Canada, you can get the Canadian time standard on 7.335MHz. Not sure their carrier is calibrated like ours is, but their time base is still dead-on with ours. 18:59:02 ah...you seem to have several hobbies going on... 18:59:15 KC5TJA/6 is my amateur radio callsign. 18:59:19 :) 18:59:25 in a movie with catherine zeta jones and shawn connery, they "jam" that signal to get a delay from a clock solely trusting this signal 19:00:10 All the commercial clocks I've seen have internal phase locked loops, since the HF signal *will* fade in and out over time. 19:02:50 more detail about UT0/1/2, UTC, GMT - http://www.apparent-wind.com/gmt-explained.html 19:03:04 and some other things 19:05:33 Yeah, I've got a few hobbies... :) 19:05:36 Let's see... 19:06:14 amateur astronomy, amateur radio, amateur engine building (though none of my engines have been successful thus far, the Tesla turbine being the #1 most successful thing I have), Mazda RX-7s, ... ;D 19:08:32 cool! 19:08:59 --- join: Speuler (~l@a161161.upc-a.chello.nl) joined #forth 19:10:37 I live in a big city, so astronomy is out of question....radio also useless since I'm deaf...haven't built any engines...guess I'm boring hehe. But I have lots of "brainy" (technical and academic) books and used to play AD&D games, among other things 19:11:10 tbwbtw... hey xef4! 19:14:04 joa: still thinking about messing around with those three letters? :) 19:14:16 wtb 19:14:21 want to buy 19:14:24 brb :) 19:14:29 heh 19:23:06 TheBlueWizard: Well, being in a big city doesn't necessarily mean astronomy is out of the question. 19:23:16 TheBlueWizard: Though, it certainly doesn't help to have naturally dark skies. :) 19:23:33 TheBlueWizard: Never knew you were deaf though. Both ears, 100%? Ouch.. :( 19:23:59 TheBlueWizard: not knowing sign language, I suppose we'd never be able to play D&D. :D 19:24:11 um...I suppose you meant to say "...it certainly helps to have naturally dark skies" 19:24:19 --- join: bob4th (~bob4th@adsl-63-197-120-243.dsl.sktn01.pacbell.net) joined #forth 19:24:33 Hi 19:24:37 TheBlueWizard: Yes, that's what I meant to write. 19:25:00 TheBlueWizard: So what brought you to Forth at all? 19:25:04 I have a 70dB loss in my right ear, higher in my left...anyway, yeah I use sign language for direct communication 19:25:43 TheBlueWizard: Oh, so you did hear at one point in time then. You could easily survive being next to a gas turbine engine then. :D 19:25:57 TheBlueWizard: The sound levels would be only 50dB or so for you. :) 19:26:02 * kc5tja is being facetious of course 19:26:33 If you don't mind my asking, what is the cause for the hearing loss? 19:27:35 ah...I first saw this Forth cartridge for C-64 in an electronic store, and overcome with curiosity, I bought it, and I found it deliciously refreshing (remember, I know some languages already by then: BASIC, assembly (6802 plus some Z80, 68000, S/370), Pascal, Fortran, and a few others) 19:28:17 * TheBlueWizard chuckles re: the supposition that he would survive standing next to a turbine engine 19:29:16 born deaf...it was believed that my mom got sick with rubella-like illness while pregnant 19:29:28 Ahh... I'm sorry to hear that. :( 19:29:57 My grandmother just had a pacemaker put in her heart, because her heart was beating irregularly. Had Rheumatic Fever when she was young, and that's where that's from. :( 19:29:59 no need to apologize 19:30:35 some diseases can alter the physiology of the body...and the mind 19:31:47 * kc5tja was born with irritable bowel syndrome; for all intents and purposes, I have to live with a perpetual upset stomach. You grow used to it for the most part, but sometimes, it just acts up too much, and you have no choice but to ... release. >:( Gets me very upset. 19:32:35 * kc5tja was first exposed to Forth through my father's library of amateur astronomy books. He never got into computer control of telescopes back then, but he was interested enough to get the books. 19:32:47 yikes....I'd bet you'd have to choose some food carefully.... 19:33:03 TheBlueWizard: The older I get, the more restrictive my diet. 19:33:47 and you're only 27...man that sux....I like eating fuego-flavored tacos :) 19:34:07 * kc5tja can't eat red meat anymore without getting a serious case of the runs, for example. 19:34:08 :) 19:35:33 Yeah, I just got over a three day bout of nausea this weekend. But it seems to have calmed down. 19:35:35 my sympathy...especially seeing that I regard myself as something of a carnivore :) (though I always have it medium well or "higher"....raw is bad for me) 19:35:51 I like my meat slightly pink in the middle. 19:35:55 Definately not RED red. 19:36:05 I mean, steak, roastbeef in general. 19:36:18 Right now, though, chicken, fish, and turkey are all quite settling to me. 19:36:44 * TheBlueWizard nods 19:37:33 Aikido has helped me incredibly in dealing with IBS. 19:38:17 a good daily exercise helps the digestion 19:38:28 brb -- someone's at the door 19:39:35 back :) 19:39:47 bob the fourth!? 19:39:54 I knew bob the second back in the day 19:40:00 served with me in the strudel wars 19:40:48 (we were on the cherry side) 19:42:41 --- join: futhin (~thin@h24-64-174-2.cg.shawcable.net) joined #forth 19:42:51 hiya futhin 19:42:57 hey TheBlueWizard :) 19:43:05 how is it going? 19:43:20 doing fine...and you? 19:43:42 pretty good :) 19:43:58 been out of it for the last few days though 19:44:48 hey futhin :) 19:45:23 just watched behind the enemy gates or whatever that movie is called 19:45:58 behind the enemy line, perhaps? 19:46:37 yes 19:46:43 interesting movie 19:46:51 the fact is the world is dangerous! 19:46:57 we must constantly doublethink! 19:47:09 and never let anyone know our true intentions! 19:47:32 if you do, everyone around you will jump on you and devour you! 19:47:35 intrigue stuff, eh? 19:47:44 joa, actily i a just Robert I am interested in Forth (4th) 19:47:49 the weak cannot doublethink!! 19:47:59 bob4th: oh heh, I was joking :) it's cool though 19:48:09 * joa really didn't fight in the strudel wars *blushes* 19:48:10 futhin: I cannot doublethink. 19:48:42 It is against my nature. I tell things like they are. 19:48:45 you lie 19:48:50 you big doublethinker 19:48:51 wow 19:48:54 you are the best of the best 19:49:01 in this channel certainly :D 19:49:05 Heh...that's what you think... ;D 19:49:08 * kc5tja runs 19:49:30 lol 19:49:45 * TheBlueWizard is lucky that he can triplethinks 19:50:10 Seriously, I really have extreme difficulty double-thinking. 19:50:11 Carl von clausewitz says that you must have the ability to hold contradicting thoughts in your head 19:50:19 or you cannot handle strategy 19:50:21 also 19:50:22 I really find it painful, almost debilitating, to lie to someone. 19:50:27 scott f. fitzgerald 19:50:44 says that you are not brilliant, unless you can hold contradicting thoughts in your head 19:52:13 actually, I find it hard to lie on a dime...but if planned in advance, I find it fairly easy to do 19:52:26 i'm not talking about lying 19:52:32 not that I make a habit of it, mind you 19:52:48 oh? 19:53:08 no, I feel really bad even doing that. 19:53:15 * kc5tja used to be in sales, and man, I really couldn't take it. 19:53:40 --- quit: Speuler (Read error: 113 (No route to host)) 19:54:29 actually, what i've said is going in the wrong direction.. first i'm saying stuff that make everyone think "subterfuge" and then the stuff about carl von clausewitz is what i've read about strategy.. not really a good thing to put them together. . you can do strategy without being a liar, or immoral, etc 19:55:13 Hehe :) 19:55:17 You liar!! ;D 19:55:30 We will not accept your double-speak in this forum! ;D 19:56:08 --- part: geakazoid left #forth 19:56:25 LOL 19:58:01 shh, don't scare people away with your confusion :P 20:00:10 it's easy to confuse ppl if u can handle holding contradicting ideas in your head simultaneously... and for entertainment, go to #philosophy to try to make someone go insane ;) 20:00:11 oooh....a was between futhin the saboteur and kc5tja the mind confounder ;D 20:00:25 s/was/war/ 20:04:36 nobody talk 20:04:46 good, peaceful quiet :P 20:05:01 lol 20:05:18 i'm reading kevin & kell right now 20:06:24 me too hehe 20:06:28 it's okay 20:06:33 i like others better 20:06:54 www.penny-arcade.com www.megatokyo.com sexylosers.keenspace.com 20:07:02 www.theangryflower.com 20:07:38 I'm going thru the archive...from the beginning, and I'm now in March 2001 20:08:16 when I catch up, then I will move on to "graze" in a different field ;) 20:08:42 i'm oct 22, 97 20:08:47 it's taking awhile 20:08:58 www.sluggy.com took awhile too, pretty good comic, strip everyday 20:09:20 on k&k? yeah, it is a long while hehe 20:20:24 --- quit: CrowKilr ("men va dormir... going to sleep now, see ya") 20:25:14 --- join: I440r (~mark4@1Cust164.tnt3.bloomington.in.da.uu.net) joined #forth 20:25:44 tbw! 20:25:46 etc etc :) 20:26:34 hiya I440r!!! 20:26:48 still on cloud 9, eh? :) 20:27:36 no slightly annoyed at BIND 9 for being such a PIG to understand the sources of 20:27:44 lol 20:27:45 all i want to know is HOW TO DO A QUERY 20:28:04 so im going to do a tcpdump of a simple query 20:28:14 and try decypher the query messages that way 20:28:16 if i can 20:28:42 alot easier than rtfming 28046298562983546798 gigsof obfuscated sources or an equal number of badly written RFC's 20:30:27 lol...though you might want to use Ethernet to parse out the info 20:30:32 --- join: BigBoyToddy (~bbt@co-trinidad1a-22.lbrlks.adelphia.net) joined #forth 20:30:37 hello 20:30:52 if the rfc would just tell me how to ask a name server for a specific address given the domain name i would be happy 20:30:53 it's a bit hard deciphering the hex stuff :) 20:30:56 just got a new stereo installed with subs and new 5" speakers in the door kicks. Yippie! 20:31:00 hiya BigBoyToddy 20:31:09 I think the device is FORTH booted :o) hehehe 20:31:10 but instead the go ON AND ON worse thant the damned battery bunny 20:31:16 about bullshit 20:32:52 hehe...well, the bullshit is there for a reason.... 20:33:35 erm yes to BURY the useful info 20:33:37 :) 20:34:03 * TheBlueWizard laughs uproariously 20:34:15 well its true 20:34:21 anyone can see thats so 20:35:05 sometimes that can be true....and sometimes it helps to see a reference implementation to see what's going on 20:35:50 I440r: don't attribute to malice that which can be attributed to poor writing skills. 20:36:01 download the source to bind 20:36:11 there are about 40 differnet RFC's 20:36:49 also, bind is big and complex :P 20:37:10 all i want to do is know how to query it for an ip 20:37:16 so write a reference DNS implementation in Forth and wow everyone with its bleeding simplicity 20:37:19 pass it a string. recieve back a number 20:37:20 * TheBlueWizard nods 20:37:33 erm thats what im trying to do :P 20:37:50 i want to open a udp port to the server 20:37:56 send it a correctly formatted request 20:38:04 and decypher that which it sends bck 20:38:05 back 20:38:23 the C routine gethostbyname and gethostbyip (if I remember the spellings rightly) does the callings... 20:38:32 the way to do this is buried in 50 gigs of source/docks with NO WAY to find it other than to read the whole fucking lot 20:38:40 dood grep -r gethostbyname * 20:38:52 it wont tell you much 20:39:19 its anoter case of something being 50 times more complex than it needs to be 20:39:36 heh...maybe it is buried in some library??? I don't know much of networking libraries :P 20:39:47 its in a library 20:39:54 i dont want to try decypher c sources 20:39:58 c is write only 20:40:05 specialy if its longer than 10 lines 20:40:23 I can decipher many C source without much trouble.... 20:40:55 unless it is a code from IOCC contest :P 20:41:12 so can i unless is refers to int x = (((foo <<6) & (bar >> 3)) ^ fudgeh >> 2) 20:41:27 where foo bar and fudge are of the same nature 20:41:41 you have to be fully aware of every single define in 40 different h files 20:41:45 fuck that shit 20:41:55 all i need to know is how to format a message to the name server 20:41:55 Back. 20:41:58 What did I miss? 20:42:09 reading the source files would take me about 50 years to figure it out heh 20:42:25 --- quit: bob4th (Read error: 110 (Connection timed out)) 20:42:46 kc5tja: I440r is bitchin' about trying to figure out how to translate host name to IP and vice versa 20:42:53 humz. the protocol RFC is only 150 22-line pages 20:43:12 xef4 WHICH of the 2894689246982569846982 rfc's it it 20:43:26 1035 it seems 20:43:34 i read that 20:43:39 Oh man... 20:43:43 it didnt help much heh 20:43:47 you're asking for trouble if you're trying to follow the DNS standards. 20:44:00 They're so damn complicated it's not even funny. 20:44:38 asking for trouble because existing implementations will break against strict implementations of the standard, or ..? 20:44:56 isforth kernel will NOT make use of ANY external libs 20:44:56 I already said -- sheer, unadulterated complexity. 20:45:03 and that includes the sockets stuff 20:45:17 so i need to be able to gethosbyname in FORTH using syscalls 20:45:23 not easy 20:45:29 you might like to look at the source code for djbdns, which is nice and compact 20:45:43 djdbdns ? 20:45:50 is there a package in debian ? 20:46:04 http://cr.yp.to/djbdns.html 20:47:31 erm will this help me or will i have to wade through a pile of obfuscated c sources 20:47:40 reading c is NOT something i want to do 20:47:52 what i want is "a query message is formatted thusly" 20:48:01 followed by a description of how to query the name server 20:48:19 but i doubt such a doc exists 20:48:50 --- join: bob4th (~bob4th@adsl-63-197-120-243.dsl.sktn01.pacbell.net) joined #forth 20:49:28 hiya bob4th 20:49:38 take a look at www.pc104.org for some devices/clusters that IMHO have great FORTH potential 20:50:09 http://216.239.37.100/search?q=cache:zQmtgZ7MWY0C:www.ebcvg.com/sections/library/hacking/coding_dns.txt+a+dns+query+is+formatted+thus&hl=en 20:50:24 www.ebcvg.com/sections/library/hacking/coding_dns.txt 20:52:08 argh this fucking sucks actually heh 20:52:14 i want to SAVE out that page 20:52:24 but ut seems i cant 20:52:48 maybe i can - had to go to file menu 20:52:54 not right click in window lol 20:53:41 kaboom! ;) 20:53:52 nice article! 20:54:23 hey I440r 20:54:30 i i cant get to that coding.text article at all 20:54:31 grrr 20:54:32 tbw: wtb boom! 20:55:09 shoot :( 20:55:17 I440r: if I email it to you, you can get the article? 20:55:19 pow :( 20:55:36 the former is a google cache of the latter. 20:55:51 i can then but i cant get it from the url 20:56:03 nevermind 20:56:13 it just took a while to come in 20:56:38 I got the text just fine...it looks nice, albeit somewhat long...that's to be expected 20:56:39 i got it 20:56:53 if it has the info i need LONG doesnt matter heh 20:56:54 lol 20:57:30 ha ha...there you go again! :) 20:58:36 eh ? 21:00:02 you complain about long, obfuscated text.... 21:00:08 I440r: !!!! HEY!!!!!!!!!! 21:00:16 * joa hopes he got I440r's attention that time 21:00:40 well, I must go....bye all 21:01:11 --- part: TheBlueWizard left #forth 21:01:11 rofl. sure didn't 21:01:12 Self stacking modules 104-pin and 120-pin PCI bus connectors to allow multiple modules to be added to the system with out the burden of backplanes and cartridges. 21:01:14 --- quit: Frac ("[BX] Gary Coleman uses BitchX. Whatchoo talkin bout foo?") 21:01:19 wtg tbw! 21:01:23 stackable technology?! :) 21:02:43 joa i said hi heh 21:02:44 lol 21:02:52 whussup dood ? 21:02:53 oh! hah. missed it :) 21:03:12 not a lot... just thinking about how forth works 21:03:20 I realized my question but had it adequately answered 21:03:43 :) 21:07:54 --- quit: futhin (Read error: 104 (Connection reset by peer)) 21:07:56 --- join: futhin_ (~thin@h24-64-174-2.cg.shawcable.net) joined #forth 21:12:42 --- quit: futhin_ ("g") 21:13:52 futhin 21:13:54 bleh :P 21:20:18 --- part: bob4th left #forth 21:21:01 --- join: Fractal (mzhloiz@h24-77-171-228.ok.shawcable.net) joined #forth 21:21:23 --- join: bob4th (~bob4th@adsl-63-197-120-243.dsl.sktn01.pacbell.net) joined #forth 21:21:29 --- nick: Fractal -> Frac 21:24:00 Back 21:27:50 I take it everybody here has gone to bed, or at least is about it. 21:28:09 not quite but close 21:28:17 no. 21:31:08 I probably have my irc reader set so it will auto log on when disconected. I was being disconected by somthing. 21:32:08 * kc5tja nods 21:32:19 * kc5tja uses "screen" under Linux for times like that. 21:32:20 ok goshawk is real and has talked 21:32:24 air is real(ish) 21:32:27 bb is real 21:32:31 bob4th is real 21:32:34 cdesousa: is 21:32:36 clog is a bot 21:32:42 never saw deltab talk yt 21:32:45 frac is real 21:32:46 I have 21:32:50 deltab is real 21:32:53 gforth is a bot 21:32:53 ok 21:33:00 i440r fakes reality 21:33:04 joa is real 21:33:08 kc5 is close :) 21:33:12 klooie is 21:33:15 mmc ? 21:33:19 he talked yet ? :) 21:33:58 <-- yes, real! I've even talked about forth before! 21:34:01 ok - undecided on mmc heh 21:34:03 * kc5tja is close? 21:34:08 mrreach is definatly real :) 21:34:11 oink is 21:34:23 onetom and XeF4 are real and sif is a boit 21:34:26 bot 21:34:28 You're right; being a god does warrent some special attention, I suppose. 21:35:07 How is the bot implimente? 21:35:28 which bot ? 21:35:56 --- join: Forth (~Forth@1Cust164.tnt3.bloomington.in.da.uu.net) joined #forth 21:35:57 What is a bot? 21:36:09 that bot is written in isforth :) 21:36:12 using my sockets 21:36:19 bob4th: A bot is a program that monitors channel activity, and responds accordingly. It's a computer program. 21:36:26 it cant do anything other than connect :) 21:36:52 Forth has only one function yet 21:37:02 sit in channel and reply to server pings 21:37:09 erm thats 2 functions :P 21:37:23 It doesn't respond to a user ping yet, though... :) 21:37:48 * joa cheers for Forth 21:38:12 bob4th: [ro]bot 21:38:21 bob4th: automated helper 21:38:42 I440r: it responds to server pings!??!?! 21:39:00 yes it has to 21:39:05 or it would get pinged out 21:39:11 heh 21:40:18 im going to make it respond to ctcp's next 21:40:23 like ping and version etc 21:40:34 and time :) 21:40:44 it can send the localtime back :) 21:40:59 I440r: Cool. You can implement a timezone converter with it then. 21:41:13 * kc5tja just might be interested in the sourcecode at some point... 21:41:21 kc5 you got isforth ? 21:41:40 I440r: hahahahahahahaha. no one uses isforth! are you crazy!? 21:41:42 isforth uses gettimeofday to calculate current time, day of the week, year etc 21:41:44 No; well, I do, but I don't have it made. I couldn't get binaries for NASM 0.98. 21:42:00 kc5 if you have the sources look in forthsrc/time.f 21:42:08 * joa cackles as Forth fizzles in a cloud of gray blue smoke 21:42:34 I gather that you will get to evaluate the channel next week and we will have to gess wheather you are actually here. 21:42:35 joa: ? 21:42:42 kc5tja: heckling 21:42:52 except spelled correctly 21:43:03 Heheh :) 21:43:07 lol 21:43:31 * joa spelled that phonetically and realized it was wrong but forgot how to spell it... just like he forgot his... word group.... er 21:43:48 Hehe :) 21:43:50 whoa hold 21:43:56 that's correct! *cheers* 21:44:05 yay memmary! 21:44:18 Heheh :) 21:44:27 Hehehhehhehh :) it's bed time :) night everyone 21:44:42 * kc5tja doesn't like English's lack of phonetic alphabet. 21:44:46 joa: Good night! 21:45:05 kc5tja: it's icky poo, I say 21:45:14 night :) 21:45:18 It is. 21:45:34 ytea 21:45:41 everyone talk forth from now on 21:46:08 oh I can't resist... I said I'm gone but I had to say good night to other channels :) 21:46:14 .( okay I440r !) 21:46:14 Not that English as a spoken language is all that bad (it is, but that's a completely separate topic), it's just that you have no idea, for example, what "polish" means, as it's spelled here. Am I talking about Polish people, or about polishing metal? With a phonetic alphabet, it'd be obvious. 21:46:21 .( how's this?) 21:46:25 Hehe :) 21:46:28 close ennuff hehe 21:46:55 alright, sickeningly sad joke... bed time is truly upon me and I have no one else to say goodnight to so I'll really be gone now :) night! 21:47:05 what does the word "close" mean 21:47:10 proximity to something 21:47:14 or NOT OPEN 21:47:26 * kc5tja nods 21:47:41 --- quit: XeF4 ("pois") 21:50:10 --- quit: Forth (Remote closed the connection) 21:50:15 --- join: Soap` (flop@210-55-148-170.dialup.xtra.co.nz) joined #forth 21:50:22 time to go to bed. 21:50:31 ok 21:50:35 night! 21:50:35 i realy should add a QUIT command to that bot hehe 21:50:40 instead of killall isforth 21:50:41 lol 21:50:45 l8er ppl 21:50:57 --- quit: I440r (": sleep bed go tuck light off ; immediate") 21:51:04 goodnight 21:52:16 --- part: bob4th left #forth 22:17:24 --- join: rob_ert (~robert@h237n2fls31o965.telia.com) joined #forth 22:17:24 --- quit: BigBoyToddy (Read error: 104 (Connection reset by peer)) 22:17:37 re rob_ert 22:18:12 Good morning :) 22:18:26 Evening for me still -- night actually 22:20:14 Oh, you're in the US? 22:20:19 Yes 22:20:34 :) 22:40:33 /msg onetom Is Sanna someone you know? Just curious. 22:40:43 doh 22:58:09 OK, I'm off to bed. 22:58:17 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 23:04:36 --- join: bob4th (~bob4th@adsl-63-197-120-243.dsl.sktn01.pacbell.net) joined #forth 23:04:59 --- part: bob4th left #forth 23:59:59 --- log: ended forth/02.05.06