00:00:00 --- log: started forth/01.06.23 00:45:33 --- quit: klooie (Ping timeout for klooie[213-84-79-23.adsl.xs4all.nl]) 00:46:47 --- join: klooie (kloo@213-84-79-23.adsl.xs4all.nl) joined #forth 01:03:50 --- topic: set to 'http://isforth.sourceforge.net -- http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/isforth/?cvsroot=isforth' by ChanServ 01:04:02 --- mode: ChanServ set mode: -o nate37 01:04:02 --- mode: ChanServ set mode: -o Trey 01:04:02 --- mode: ChanServ set mode: -o dired 01:04:02 --- mode: ChanServ set mode: -o clog 01:04:02 --- mode: ChanServ set mode: -o I440r 01:04:02 --- mode: ChanServ set mode: -o aaronl 01:20:05 * aaronl is away: quakeforge 01:58:14 l8r 01:58:17 --- quit: adu (Read error to adu[adsl-63-201-88-69.dsl.snfc21.pacbell.net]: EOF from client) 03:18:46 * aaronl is back (gone 01:58:41) 04:25:44 --- quit: aaronl (Read error to aaronl[vitelus.com]: EOF from client) 04:39:30 --- join: Johannes_za (nobody@pta-dial-196-31-185-231.mweb.co.za) joined #forth 09:55:03 --- join: MrReach (mrreach@209.181.43.184) joined #forth 09:55:30 hihi 10:24:07 hi MrReach 10:24:18 how are you? 10:27:41 o i am ok 10:27:53 r u a forth programmer 10:27:55 hi. 10:27:58 yes 10:28:04 greetings, klooie 10:28:13 hi klooie 10:28:41 blah, I can't get at the documentation for swiftforth until they send me the password 10:29:11 thats bad become a hacker and a cracker 10:29:46 what is swiftforth 10:30:10 it's the windows product from Forth, Inc 10:30:32 I wanted to see their assembler format 10:31:00 yes i worked with the Forth from forth inc. in 1983 10:31:16 polyforth? 10:31:33 yes 10:31:43 we had level 2 10:31:49 i made it level 4 10:32:02 do u know what i am talking about 10:32:28 yes 10:32:58 Forth, Inc. has always priced according to how much source code comes with the package 10:33:35 level 2 might have only the source for the extensions, lvl 3 might include kernel source, lvl 4 might add the metacompiler 10:34:43 yes i decompiled the level 2 into level 4 10:36:07 so what else r u doing now 10:36:37 reading over the Intel instruction set reference 10:38:41 which intel instuction use 3 operands?? 10:38:46 I've never seen one 10:52:31 anybody here ever written an assembler? 11:11:38 r u still here 11:13:29 MrReach: 11:40:44 hi dired I440r klooie nate37 Trey 11:51:27 im written a disassembler for teh 8051 :) 11:51:31 never an assembler tho 11:53:18 ho I440r 11:53:21 how r u? 12:23:21 ok 12:34:39 blah ... I'm getting cracked by someone at berkeley 12:56:23 MrReach: u here 12:56:29 yes 12:56:50 i think some of the string commands of intel takes 3 params 12:57:05 like direction,count,address 12:57:17 ok, lemme check 12:59:24 lobsw 12:59:37 or stos or some such 13:00:56 lodsw is one oper 13:01:36 in any case, not too important 13:01:51 just caught me by surprise, thought I knew the instruction set pretty well 13:02:00 yes intel is madness 13:02:54 what r u doing at the moment 13:03:07 I sure wish Intel had chosen the MC68000 for their PCs 13:03:24 I'm sorry, typo ... 13:03:33 I sure wish IBM had chosen the MC68000 for their PCs 13:03:45 yes so do i 13:06:03 u have not answered my question about what u r doing now 13:06:23 yes, I did ... but will answer again 13:06:58 I just finished mowing the lawn, and am now reading over a message board associated with the Art Bell radio show 13:09:04 that msg must gave got lost , cuase i scrolled back and did not see you aanswer 13:09:54 so what else r u doing now 13:09:54 reading over the Intel instruction set reference 13:11:56 o i c i cannot read very well let me check if that line is there 13:12:05 it's not big deal 13:12:27 now I'm finished with that, and restarting a project that I gave up on a couple of months ago 13:13:00 what is that 13:13:24 it's a light-sound machine for self-hypnosis 13:19:20 thats very interesting 13:19:36 i would love to hypo myself 13:19:46 oh? do you use or perform hypnosis? 13:20:14 I take it from your nick that you're in S. Africa? 13:20:59 yes i am 13:21:14 heh, a bit out of my range @:^> 13:21:20 i read a lot about it 24 years ago 13:21:40 yes save from doctor reach the hypo 13:21:48 24 years ago? why did you stop? why did you start? 13:22:40 well then i could afford to buy the books 13:22:54 oh, ok 13:23:05 then 4 6 years varisty took all the time 13:23:13 did you ever work with someone else who did or was interested in hypnosis? 13:23:27 then with mainframe and pc went all my spare time 13:23:50 when i was in army there was a man who could hypotize people 13:24:11 but he could not hypo me and i could not hypo myself 13:24:28 although i did reach an altered state of mind 13:24:30 were you uncofortable? 13:24:35 were you uncomfortable? 13:24:56 erm ... what branch of the army were you in? 13:25:01 becuase as i think back now some of the selfhypo stuff is still pretty clear in my mind 13:25:11 i was in the normal army 13:25:24 infantry (mechanized) 13:25:41 many intelligence agencies use hypnosis to blank recall of missions ... even during the mission 13:25:50 ok, that's prob not you, then 13:26:42 explain last statement unclear 13:27:38 ok, let's imagine a guy who is mechanized infantry w/ specialty in sniper shooting ... ok? 13:28:13 he decides he doesn't like killing people for a living, but does like to travel around the world 13:28:43 so he applies to intel for the position of field operative 13:29:31 that way, he gets to travel while spying or doing courier work, but he doesn't have to shoot people unless something goes terribly wrong 13:30:30 yes 13:30:38 part of the training is "a test" for susseptability for hypnosis ... they want to know what could be forced out of him during hypnosis, or at least that's what they tell him 13:31:05 yes 13:31:28 he has two hours of missing time, and is told, "You are suseptable to hypnosis, but we left suggestions that prevent any extraction of information" 13:31:48 i c 13:32:30 now, he's called upon to go observe the embassy in another country ... log who goes in and out, and contact commanding officer if he should see a list of people 13:32:55 he has the night shift when he arrives 13:33:10 very boring ... nobody enters or leaves for hours at a time 13:33:53 but, he was instructed to do an assasination during hypnosis before he left 13:34:27 while he is there, he conciously thinks that his job is to watch the embassy, and noone can make him believe otherwise 13:35:02 he doesn't know about the assassination, will vehemently deny it, and will even pass a polygraph test 13:35:15 very cool 13:35:53 even after the fact he won't remember ... instead he'll remember three very boring hours while nobody went into or out of the embassy 13:36:14 well, it's interesting ... but not to cool 13:36:42 I can't help but wonder how many retired military personal are actually "sleepers" 13:36:44 cool is just a filler world like nop 13:38:34 yes i have to take my medicine now 13:38:43 its 22:42 13:38:49 ok 13:39:15 but do not feel like it 13:39:26 may I ask what the medicine is for? 13:40:25 if i wait perhaps 15 min i can explain the loss of 45 minutes online --- perhaps i hacked into www.intel.goz.za 13:40:38 goz=gov 13:40:53 heh 13:41:11 that would not be wise 13:41:26 i have schizophrenia (guess who u r talking 2 now , me , me or me??) 13:41:29 intel is VERY good at what they do ... which is gather and process information 13:41:37 HAHA! 13:41:51 is it schizophrenia or full blown MPD? 13:42:09 i am glad i made u laugh 13:42:31 to be honest i just get hyper active 13:42:53 I have several friends with schizo, and one with MPD 13:43:01 i start to think so lateral that i get lost 13:43:18 the MPD one is interesting, the personalities are quite distinct, even have their own accents 13:43:31 cannot distinuish between fantasy and reality 13:43:39 ok, I understand ... "racey thoughs" 13:43:50 ok, I understand ... "racey thoughts" 13:44:12 erf! that's rough ... is the medication effective? 13:44:50 my meds is on a long term basis 13:48:49 r u still here 13:48:54 yes 13:49:11 I take it that means "not effective yet" 13:50:45 i mis understood u , r u real or a figmnet of my computers imagnation 13:51:15 does it matter? do I not provide good conversation? 13:51:36 not at all 13:51:52 oh, ok. Would you rather I went away? 13:52:14 oh, doesn't matter at all ... got it 13:52:20 no stay i like the color of your text on my screen 13:52:41 * MrReach chuckles, "Many a slip 'twixt the cup and the lip" 13:52:53 such a nice shade of black on a wavi white 13:57:04 --- join: Fare (fare@ppp37-net1-idf2-bas1.isdnet.net) joined #forth 13:57:15 hi Fare 13:57:26 regreets, Fare 14:03:46 this is me and me and me and the first half of us is tired the latter third is feeling like goig to bed 14:04:09 very well ... pleasant dreams 14:06:03 i am having fun 14:06:12 so i am not off to bed yet 14:06:14 oh, ok 14:06:21 they were outvoted? 14:06:51 "fine, go to sleep ... I'm going to run the body for a while" 14:08:25 u r to funny 14:08:41 this is dictator ship 14:09:10 like I said, I've had friends w/ similar probs, there HAS to be a sense of humor or the person just won't last long. 14:09:20 heh 14:09:59 u know i long time ago read that one of the signs of computer addiction is to go hang out in the chat rooms for newbie and help them 14:10:15 and that is exactly what i am doing now 14:10:36 well, another addiction to control, then 14:11:36 o i have no problem with addictions controling me , i just lose control and wahla problem solved 14:12:36 yes, I smoke and drink coffee ... no alcohol addiction, yet, but my mom was alcoholic, as was her father before her ... so I keep a watch out on THAT one 14:13:53 well i have no problem with people having an alcohol addiction 14:14:13 just as long as they can manage it 14:14:17 *I* HAVE A PROBLEM WITH IT! 14:14:22 oh, ok 14:14:34 I certainly don't want to end up like my mother 14:15:23 my mother drank herself to death 14:15:44 2 years ago 14:15:46 mine died in December, of cancer 14:15:58 ur age? 14:16:01 i am 40 14:16:07 apparently she had cancer for 7 years ... and knew it 14:16:10 I'm 34 14:16:32 and I wonder if she wasn't using alcohol for pain or emotional control 14:16:33 nice / not nice (no data -- just fillers) 14:16:39 sure made her mean, though 14:17:38 mine was also mean when drunk 14:19:51 whats u doing now 14:20:16 writing documentation about how heterodyne frequencies affect the brain 14:20:29 and how to produce them 14:21:41 what kinda person r u , i normally hang out in christian rooms and have heard many 'weird' things from u 14:22:09 do u work for the military or some such 14:22:22 not in this life, I'm a hemophiliac 14:22:37 what is hemo* ? 14:22:44 my blood doesn't clot 14:22:59 i am sad to hear that 14:23:01 commonly called "a bleeder" 14:23:18 I've addapted 14:23:38 hmmm ... what kind of person am I? That's hella hard to answer 14:23:56 where else have you seen me? 14:24:02 but then less chance of blood clouts (icannot remmember english word for when the blood makes a lump) 14:24:21 clot 14:24:36 yes tks 14:24:53 i must then be getting tired 14:24:59 not to worry 14:25:18 well, I'm an exceptionally good conversationalist 14:25:38 why say that 14:25:47 and good at footbag, but not national-pro level as I once used to be 14:25:57 it for me to decide 14:26:26 no, you asked what kind of person I am ... my friends like to visit just to yak about whatever 14:27:03 I am certainly a left-brain type ... very logical 14:27:06 actaully that was a retorical qquestion i was not expecting an answer 14:27:30 yes we computer nerds tend to be lefties 14:27:36 about what kind of person I was? 14:28:11 yes my question was actauly a excalmation instead of a question 14:28:24 I meditate, and sometimes receive outside input ... which I take with a grain of salt 14:28:48 so, what wierd things have you heard me utter? 14:29:07 (I say lots of really wierd stuff, so which are you refering to?) 14:29:08 talking to people always me with a salty taste in mouth 14:29:19 nothing really 14:29:30 i heard nothing about u 14:30:00 what kinda person r u , i normally hang out in christian rooms and have heard many 'weird' things from u 14:30:08 i am just not used to people talking outside the 'christain framework' for a long time 14:30:32 I'll be the first to admit that the way I see the world is quite different than most people 14:30:34 o i c i mean the weitrd thing like hypnosis 14:30:39 oh, ok 14:30:53 army intelegence , knowledge about schizo and mpd 14:32:09 I was attacked by a "demon" of some sort, called itself Azarak ... don't like it much ... in learning how to defend myself, I discovered that he often used schezophrenic people to express himself on Earth 14:32:25 vfit 14:32:32 so I became curious about how this is possible 14:32:34 very funny if true 14:33:12 not very funny at all ... he first greeted me by threatening to kill my family 14:33:33 nice fellow 14:33:42 heh, yeah 14:34:08 most beings are ok, but this one is just simply ruthless ... I can't figure out what his problem is 14:34:11 where r the rest of the people that are in here 14:34:24 in here? in this chat room? 14:35:06 coders and computer hobbyists 14:35:11 he has most problary tried to run ms satan 4.5 and found out u need ie 5,5 first 14:35:18 they'd probably not know about my odd experiences 14:35:37 who is "he"? 14:35:50 the evil upset guy 14:36:29 oh, he is bodiless ... as far as I can tell ... certainly not human 14:37:10 yes microsoft is also wriiten for non or unhumans 14:37:22 haha! 14:38:06 well, there was also an "angel" involved about the time I met him ... so I guess not my time to die yet 14:39:28 also implies that I was in way over my head 14:39:31 dieing is 4 the dead 14:40:28 anyway, having schizo, you probably see and hear some of the stuff I'm talking about 14:41:00 there is a VERY fine line between imagination and things unseen but that exist anyway 14:43:43 --- quit: klooie (Ping timeout for klooie[213-84-79-23.adsl.xs4all.nl]) 14:44:04 i am off 2 bed u take care and try to exists while i am not looking at you , if u fall (like a tree) when no one is watching who is to say u still exists or stop exissting 14:44:57 quite true 14:45:04 pleasant dreams 14:45:11 don't forget your meds 14:46:32 i have taken a pill just now 14:46:45 hope you fare well 14:50:33 --- part: Johannes_za left #forth 14:52:47 :) 14:53:16 hihi 15:43:48 --- join: aaronl (aaronl@vitelus.com) joined #forth 16:02:05 greets, aaronl 16:04:14 --- join: cleverdra (jfondren@1Cust91.tnt3.florence.sc.da.uu.net) joined #forth 16:04:14 --- mode: ChanServ set mode: +o cleverdra 16:04:26 --- mode: cleverdra set mode: +oooo aaronl clog dired Fare 16:04:26 --- mode: cleverdra set mode: +oooo I440r MrReach nate37 Trey 16:04:52 Hello #Forth 16:05:03 heya, cleverdra 16:05:21 hey, MrReach, have you any experience with metacompilers? 16:07:28 yes, I wrote one 16:08:02 Oh, awesome! Which one'd you write? Is it PD or the like? 16:08:39 it ran on pygmy, and compiled a JSR threaded forth for DOS 4.0 16:08:51 hehe 16:08:54 I was disappointed with the performance of the resulting system 16:09:05 the forth-linux-whateveritscalled license scares me 16:09:16 the code sat around for a while, then I deleted it when I cleaned my disk 16:09:30 I just recently found some clue relating to metacompilers, what they can do, and have been letting my imagination fill in the details and paint the pictures. Now all I have to do is get/make one and get/make knowledge enough to use it on various systems. 16:09:32 MrReach - that's very cool, but too bad. 16:09:43 What does JSR mean? 16:09:52 subroutine threaded 16:09:59 rather than direct or indirect 16:10:12 Oh. What does the acronym mean? 16:10:16 basically, it compiled raw machine code 16:10:28 Jump SubRoutine 16:10:41 Ah. Thank you. 16:10:55 dired, JSR is Jump SubRoutine or subroutine threaded 16:10:56 OK, cleverdra. 16:11:03 heh, the Z80 mnemonic, Intel uses CALL 16:11:32 dired, JSR is also the Z80 mnemonic, what Intel has as CALL 16:11:33 i don't know, cleverdra 16:11:35 cool =) 16:11:38 dired, JSR is also the Z80 mnemonic, \what Intel has as CALL 16:11:39 okay, cleverdra. 16:11:47 heh, great minds think alike 16:12:05 cleverdra: so what are you thinking of doing? 16:12:33 I don't have DOS easily available to me... I suppose I could put it on one of my spare machines, maybe just as a floppy with pygmy. Then I could, this is the plan, metacompile a Forth for Linux. 16:12:47 MrReach - well, step one is learning everything I can learn about metacompilers and metacompiling 16:13:00 do it with gforth of win32forth, then 16:13:02 MrReach - step two is metacompiling a Forth, or creating a Forth and getting it to metacompile itself. 16:13:21 Yeah, gforth might be cool. I've used it before -- I started out on it. 16:13:21 cleverdra: What threading model? 16:13:56 MrReach - I'd prefer indirect or direct threaded, but it doesn't really matter. I'd like to try my hand at all, to see what I really like. 16:14:18 if you start out writing in forth, then you're worlds ahead when kernel finally goes live 16:14:40 Step three is basically having this Forth forever, metacompiling it to fit on any machine I come across, bending it support any features I like... etc. 16:15:10 Yeah, I figured that starting out in assembly might not be as easy as in a Forth. 16:15:15 yes, that is what Zimmer does, and why FPC and Win32Forth have huge quantities of undocumented crap in them 16:15:34 it's easier to write with an assembler 16:15:38 =) So I'm not alone. cool. 16:16:01 but then you have to rewrite everything when you build the metacompiler anyway 16:16:15 Is it? I've been hacking with eForth recently, before I learned that my version was intentionally stunted in growth. Discouraging. 16:16:36 Why do you think it's easier to write with an assembler? 16:16:52 better to just start with the metacompiler in forth, and then port it when the kernel if functional 16:17:29 because you just start writing ... otherwise, you have to write the metacompiler, then write the forth 16:17:59 actually, you'll find that the metacompiler and the forth system evolve together 16:19:12 heya, I440r 16:19:36 cleverdra: how is eforth "stunted"? 16:20:21 MrReach - Fare here ported a version ~2.5 to linux, but was asked by the author not to release it. I don't know why. 16:20:58 Fare : is that true? What reason did the owner give? 16:21:16 eForth was useful. I learned more assembly/Forth from it. I don't want to use the system. 16:21:22 I used e-forth for the minimal list of primitives 16:21:39 about 32, if I recall 16:21:41 yeah. extending eForth is fun. 16:22:32 no, I didn't actually port the 2.5 to linux 16:22:48 I was handed the 2.5 sources so that I port them, but didn't 16:23:05 forth for linux is pretty easy ... but you're going to have to bludgeon your way through the ELF binary format 16:23:11 create s"-buf 257 allot : s" [ char " ] literal parse >r s"-buf 1+ r@ cmove r> s"-buf c! ; -- on the spur of the moment. 16:23:26 Oh, OK. 16:23:26 fare: so nobody asked you not to release it? 16:23:37 because I had a hard time grokking how to write a minimal 386 32-bit assembler for it 16:24:27 MrReach - pardon the rumor, then. 16:24:49 I've been seriously considering writing a complete x386+ assembler in Forth 16:24:50 BiMu has a sourceforge account... 16:25:00 what is BiMu? 16:25:57 MrReach - you may want to check out gforth's and ciforth's assemblers -- ciforth's particularly, because it's so different. It has mnemonics for more precision in Intel assembly, so I read. 16:26:09 ok 16:26:17 dired, what is ciforth? 16:26:18 ciforth is http://home.hccnet.nl/a.w.m.van.der.horst/lina.html 16:26:25 yes, there's lots of assemblers, but none are really "complete" 16:26:33 How aren't they, MrReach? 16:26:54 VanDerHorst! haven't heard from him in AGES! 16:27:08 http://homepage.mac.com/forth/ 16:27:14 He seems like a very cool guy. 16:27:20 they are usually missing instructions and/or addressing modes 16:27:36 I read one of his messages just recently on clf, and heard of ciforth through him there as well. 16:28:50 well, it's much easier to write ELF binary files than to write Win32 PE files ... mostly because the documentation is better 16:29:08 even though the formats are very very similar 16:29:57 what I have is former versions of the files there... 16:30:06 I have been thinking of writing a native-code, fully optimizing forth system 16:31:54 it's a hell of a lot of work, though, not sure I'm up to the man-hours 16:33:27 I'm sorry, I'm still learning these things... why would it be a lot of work? 16:33:50 first, write a decent assembler 16:33:52 well, start by porting eforth 2.x to linux... 16:33:58 second, write a metacompiler 16:33:59 get the assembler from Win32Forth 16:34:07 use the metacompiler from eforth 2.x 16:34:22 third, write the kernel 16:34:39 get inspiration from the elf-kickers asm stuff for a minimal elf header support. 16:34:43 forth, write the optimizer, with about 200 rules 16:35:14 fifth, write the kernel extensions 16:35:15 Yeah, ciforth has I think a single block devoted to the ELF part of its clone-compiler. 16:35:38 sixth, port the assembler/metacompiler (can metacompile self now) 16:35:52 What kind of rules would you have, MrReach? Cancelling? 16:35:53 seventh, flesh out the system with all the ANS worsets 16:36:32 operand reordering, code substitution, tail call optimization 16:36:40 cant use teh assembler from win32forth in isforth if thats what ur talking about 16:36:48 wouldnt want to anyway 16:37:02 Yeah, that sounds like a lot of work, but when you're done you'll have one powerful Forth... one that you know intimately and which you can keep with you. 16:37:02 both the win32forth and gforth assemblers are incomplete 16:37:07 i dont want 5 ax, mov 16:37:13 tahts fscked in the head 16:37:16 i440r - you don't? Why not? 16:37:19 when coding forth its sane 16:37:21 I do, I love reverse polish assemblers 16:37:29 when coding A S M you code asm style 16:37:31 mov ax, # 5 16:38:04 if im coding forth i think forth. if im coding asm i THINK asm not forth 16:38:26 it would be a lot of work, in any case 16:38:26 5 # ax move is worth than at+t syntax 16:38:42 my last system took me 14, 10 hr days 16:38:42 mrreach "mov ax, # 5" isnt that difficult 16:38:59 you just dont actually assemble the instruction till the start of the next 16:39:07 or if its the last one... thill the end-code 16:39:18 teh asm line just preps for this line 16:39:21 i440r - well, I for one learned Forth long before I learned anything of assembly, and what assembly I learned has been through Forths and what assembly I've written has been either mimicry or done in a Forth-style assembler. It doesn't seem so jarring to me, I guess, because I don't have your meme that ASM must have polish notation =) 16:39:32 fine, I440r, I'm not going to dabate it (again) 16:40:05 :) 16:40:14 the hardest part is the reordering and substitution heuristics of the optimizer 16:40:15 frade im stuck in my ways :P 16:41:07 which are x86 specific, a port to an MC680x0 platform is to start from scratch, basically 16:41:52 although I can write a forth that will run equally well on Linux/Linux-X and Windoze 16:41:53 * cleverdra reads some metacompiler stuff from google's clf archive. 16:42:05 --- join: klooie (kloo@213-84-79-23.adsl.xs4all.nl) joined #forth 16:42:13 wb, klooie 16:42:26 MrReach - Linux-X? A Forth that supports a linux graphics library as well as Win32's graphics API? 16:42:36 yes 16:42:37 --- mode: cleverdra set mode: +o klooie 16:43:05 So DLL and dynaloading support. Cool. 16:43:10 hello klooie. 16:43:37 what's more, TCL/Tk has shown, conclusively, that such a thing can be done uniformly across platforms - XWin, Windows, and MacOS 16:48:43 --- join: rob_ert (robost86@h3n1fls33o898.telia.com) joined #forth 16:48:59 * rob_ert has never used forth 16:49:01 hello robert 16:49:05 that's cool. 16:49:05 Hi 16:49:07 --- mode: cleverdra set mode: +o rob_ert 16:49:16 Just saw that MrReach was here 16:49:22 hes in #assembler too 16:49:47 oh, was thinking of writing a complete x86 assembler in Forth (been done many times before, but not complete) 16:50:01 so I thought I'd check to see what types of support might be around 16:50:10 robert - www.forth.com may be a good place to start learning 16:50:20 ok, thanks 16:50:23 Types of spuport, MrReach? 16:50:26 I don't think he's too interested in a new language 16:50:26 what kind of lang is forth? 16:50:44 language cool forth is 16:50:46 robert - a kind of language you've never seen before, and won't see after. 16:50:51 a threaded interpretated language, generally 16:50:51 Hehe 16:51:07 something like java, but runs REALLY close to the iron 16:51:10 Oh, I like compiled langs =) 16:51:11 see forth.org 16:51:13 Ok 16:51:24 robert - sorry =) Some people think that it's something called a 'concatenative' language, if I have that right. Forth is different. The more of Forth you learn the deeper you'll understand this difference. 16:51:56 Well, I don't think anything abouut forth yet =) 16:52:16 it used to be that forth was the op-sys on many computers 16:52:26 Well, here's some code, and then you can think something about it :/ --> : ?exit if r> drop then ; 16:52:45 so "block files" were the norm ... host filesystems is a relatively new concept @:^> 16:52:46 Forth is the bootloader for every modern Sun, MrReach. 16:52:59 Sorry, you probably know that. 16:53:00 yep, I know 16:53:04 heh 16:53:18 I didn't catch where you were going with that =) 16:53:54 just the uniqueness of the language, and how close to the iron it runs 16:54:10 Low-level interpreted lang? 16:54:33 robert - not a good description. You can think of it that way. Forth can be very, very high-level. 16:54:53 Like C++= 16:54:56 Like C++? 16:55:01 Can be both low and high 16:55:05 If you'll excuse the cornyness of this: Forth trancends levels in programming. 16:55:08 uh, I guess. 16:56:27 try gforth. It has two different introductions (different levels and depths), and is available on many different kinds of machine and operating system. 16:57:44 dired, asm is also http://webster.cs.ucr.edu/Page_asm/ArtOfAsm.html 16:57:44 okay, cleverdra. 16:58:10 rob_ert: if you're dissastified with your language for any reason, then look at forth ... if you're happy where you are, then don't bother 16:58:25 MrReach: Ok 16:58:31 ;) 16:58:53 --- kick: rob_ert was kicked by rob_ert (I'm happy with C.. Bye everybody, you've been nice to me =)) 16:59:05 heh, good answer 16:59:30 poor, sad soul. 16:59:37 * cleverdra shrugs =) 17:00:20 forth is not for everybody 17:00:23 re that url: Art of Assembly Language Programming. Looks very interesting and informative, various versions available for on-computer reading. 17:00:42 Why isn't it, MrReach? 17:01:14 in order to use forth properly, you have to unlearn most of what you learned using other languages 17:01:54 I didn't experience much of that... or didn't realize/think of it much. What do you unlearn? 17:02:49 well, I was totally bent by RPN at first 17:03:00 hee. The first section is "What's wrong with assembly language?" 17:03:17 had to learn to get by w/o parenthesised mathematical expressions 17:03:45 also, had to learn to plan out my work before I started 17:04:08 then I had to learn the value of only one flow-control structure per word 17:04:24 Yes, if you try to bulk up your words the stack will kill you. 17:04:52 I left Forth briefly because of that... came back when I kept missing features I hadn't even thought of in Forth. 17:05:06 then there were "helper words" that make compiling a large project a breeze 17:05:28 What do you mean with the planning part? Why was Forth harder to plan than the other languages you knew? 17:05:38 and the ability to add a flow control any time one needs to 17:05:56 these things are completely foreign to other languages 17:06:03 But they're not unlearning. 17:06:25 planning ... I first learned in basic, then moved to QuickBasic, which is still my favorite of the basics 17:06:53 forth simply cannot have large definitions 17:07:10 so you can just start writing code, add some more, add some more 17:07:28 one has to start at the bottom, with primities, so to speak 17:07:38 then work up to high-level 17:08:12 rather than start with main{}, stub out a bunch of stuff, and then start fleshing it in 17:08:31 Not really. You can write high-level words and just assume the low-level parts for the meantime. Working like that is kinda fun. When you get to the primitive parts, maybe you rewrite some of the higher-level words because efficiency means that the primitive works differently. 17:08:53 Yeah. You can do the main{} thing exactly in Forth. 17:09:11 yes, but it doesn't work so well 17:09:12 Is it just that Forth encourages the other way for you, that you think of as unlearning? 17:09:23 yes, I do 17:09:42 I couldn't take the style that I used with other languages and apply it to forth 17:10:02 --- quit: Fare (Connection reset by pear) 17:10:10 No. The difference between your typical C function and your Forth word is big. 17:10:17 I've got to go now... walking. 17:11:24 fare well 17:11:40 --- quit: cleverdra (Leaving) 17:47:39 --- join: rob_ert (robost86@h3n1fls33o898.telia.com) joined #forth 17:47:46 Hi I440r 17:47:57 Now I want to forth again =) 17:48:02 --- nick: MrReach -> MrGone 17:48:10 After what you've told me 18:22:51 --- nick: rob_ert -> robert_sleeping 18:25:57 --- quit: clog (Ping timeout) 18:25:57 --- log: stopped forth/01.06.23 18:26:05 --- log: started forth/01.06.23 18:26:05 --- join: clog (nef@bespin.org) joined #forth 18:26:05 --- topic: 'http://isforth.sourceforge.net -- http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/isforth/?cvsroot=isforth' 18:26:05 --- topic: set by ChanServ on [Sat Jun 23 01:03:40 2001] 18:26:05 --- names: list (clog robert_sleeping @klooie @aaronl @MrGone @I440r @nate37 @Trey @dired) 18:39:08 --- join: cleverdra (jfondren@1Cust222.tnt4.florence.sc.da.uu.net) joined #forth 18:39:50 --- mode: ChanServ set mode: +o cleverdra 18:39:57 --- mode: cleverdra set mode: +oo clog robert_sleeping 18:40:24 dired, what is asm 18:40:25 hmmm... asm is simple or http://webster.cs.ucr.edu/Page_asm/ArtOfAsm.html 18:42:49 hm. ArtOfAsm only has every other chapter on-line. Still cool, though. 18:43:52 Very cool. Extremely cool. Wait a second while I get some sugar and cream to put on that cool. 18:44:22 Is there an assembly channel on OPN? #asm and #assembly don't exist... 18:52:37 --- quit: cleverdra (Leaving) 19:00:58 --- nick: MrGone -> MrReach 19:04:37 Greetings, MrReach. 19:04:48 howdy! how's your day? 19:05:19 My day has gone pretty well. I got some pumpkins planted today. 19:05:36 good deal 19:06:19 We should have at least a few for Halloween, and plenty for Thanksgiving. 19:06:39 * Trey wishes he had got them planted a couple of weekends ago. 19:07:06 well, can always purchase one for the jack-o-lantern 19:07:15 better the garden ones for baking, though 19:07:37 I planted some for each: smallish ones for pies, Big Max for carving. 19:08:31 Trey: you work for Neosoft? 19:08:53 No. I've used them for my ISP for several years, though. 19:09:14 How do you know Neosoft? 19:09:38 they used to host the TCL archives some years ago 19:09:54 Yep. 19:10:10 in fact they had a packaged web-server w/ tcl scripting language 19:10:21 it doesn't seem to have flown, though 19:10:27 I knew Karl and Ellen pretty well, but I didn't keep in touch once they sold to PDQ. 19:10:46 I take it they founded it? 19:10:52 Yes. 19:11:16 Karl Leibenaur (sp?) 19:11:37 ok, that explains why the fancy server was dropped 19:11:59 They made big $$$ when they sold. 19:12:14 I bet 19:12:24 they were making quite a rep for neosoft 19:12:25 Their oldest daughter used to babysit for us. 19:12:35 it seems to be quietly forgotten, now 19:13:21 AirAmerica bought them and PDQ. I suspect they signed non-compete clauses. 19:13:52 * MrReach nods. 19:14:09 Perl always had more popularity, and mod_perl pretty much killed off neo-webscript. 19:14:38 erm ... I'm currently using a web server entirely written in TCL 19:14:54 I hate perl like a dog that bit me 19:15:15 I embedded TCL in a couple of custom tools for my former employer. It worked well enough. I did the same for Perl when 5.0 came out. 19:16:37 (no, my server machine is not presently available to the outside world) 19:16:58 heh 19:19:49 --- join: TreyB (bowser@ns.TreySoft.com) joined #forth 19:20:05 --- mode: Trey set mode: +o TreyB 19:20:18 --- nick: Trey -> Trey^ 19:20:24 --- nick: TreyB -> Trey 19:20:38 --- quit: Trey^ () 19:20:44 ok 19:20:56 * Trey switched workstations. 19:20:59 wb 19:22:10 I wanted to use the other machine to do a little Enth/flux programming. 19:22:36 do you know how to load a shared lib in Linux (using only system calls) and then find a proc in it? 19:24:13 By "system", do you mean kernel calls? 19:24:21 yes 19:24:36 if I build a linux forth ... 19:24:45 that metacompiles itself ... 19:24:48 As I understand it, the Linux kernel doesn't do the dynamic linking. 19:24:55 and writes it's own ELF binary ... 19:25:11 I need a way to load glibc ... or whatever 19:25:46 so glibc MUST be linked as part of the executable? 19:25:59 Well... 19:26:12 The Linux kernel loads only static ELF binaries. 19:26:19 not into the executable, but loaded when the exe is loaded 19:26:40 Dynamic ELF binaries have a special loader tacked to the front of the file that bootstraps the dynamic linking. 19:26:54 oh really? 19:27:06 ld.so, I believe. 19:27:06 how do I emulate that loader? 19:27:22 I thought the kernel did that 19:27:33 The kernel only handles static ELF. 19:27:43 Just a sec whilst I poke at my linux box. 19:30:37 Ok. I had partially old knowledge. 19:30:44 ld.so loads a.out. 19:30:50 ld-linux.so loads ELF. 19:31:05 ok 19:31:16 At least on my RH 5.2 system. 19:31:39 given that ... MUST I declare glibc as a preload requirement in the ELF headers? 19:32:24 If you want to have it dynamically loaded at run-time from a dynamic ELF, yes. 19:33:29 Given that you want to use Linux, why duplicate all of this effort? 19:33:49 Why not generate ELF .o files and let gnu ld handle it? 19:34:18 because SAVE-SYSTEM can't use it so easily 19:34:55 Hmmm. SAVE-SYSTEM _could_ write a monster monolithic .o and call the linker. 19:35:14 heh, would you do it that way? 19:35:38 also, a particular app may not NEED glibc 19:35:59 Under Linux, it sure beats learning to write ELF files more complicated than .o 19:36:17 as far as I can tell, loadlib and getprocaddr (windows names) are only found in glibc 19:36:42 which means, glibc MUST be loaded at runtime to use them 19:37:11 errr ... sorry, MUST be loaded at load-time 19:37:19 * Trey pokes around a bit more. 19:37:27 as part of the ELF header 19:37:43 brb, dinner 19:51:12 --- join: cleverdra (jfondren@1Cust182.tnt3.florence.sc.da.uu.net) joined #forth 19:51:28 --- mode: ChanServ set mode: +o cleverdra 19:51:57 Howdy, cleverdra. 19:52:29 Howdy, Trey! 19:52:53 how're you doing this fine night? 19:55:59 I just got a floppy with Enth 2.0.5 to boot. 19:57:03 Cool. 19:57:46 But I've forgotten how to run the editor :-) 19:58:57 Ah. Alt-#, not Alt-F# 19:59:28 Yeah. That's quite a bit more convenient. 19:59:55 oh, yeah. I don't know now where the editor's instructions are =) cylinder 7? 20:01:14 Yeah, 7. Also in colored.txt 20:01:57 Under BeOS we use Alt-F#, so I have a habit to deal with. 20:03:32 Do you know if Enth supports user or task variables? 20:09:25 Yeah, I think it supports user variables. I don't remember how it does -- I haven't mussed with TASK much. If it does, task.txt probably talks about it. 20:09:35 otherwise... is there a typical wordset? 20:13:02 --- quit: Trey (Ping timeout for Trey[ns.TreySoft.com]) 20:30:13 --- join: Trey (bowser@ns.TreySoft.com) joined #forth 20:30:41 Hmmm. My net connection went down for some reason, and didn't come back up. 20:32:18 its fallen and it couldn't get back up? 20:32:28 --- mode: cleverdra set mode: +o Trey 20:33:28 Apparently. 20:55:42 back ... dinner was excellent, thanks for asking 20:56:35 figure out how to load a shared lib w/o having to load the entirety of glibc? 20:57:23 I think many of them require glibc, and you need their requirements loaded. 20:57:40 yes ... I was hoping ... 20:58:06 to be able to load other, smaller, shared libs without the startup overhead of glibc 20:58:49 -rwxr-xr-x 1 root root 931348 May 5 2000 /lib/libc-2.1.3.so* 20:59:23 almost a full meg, though I realize that it isn't loaded, just mapped into the process' memory space 20:59:37 still, it's got to have a HUGE startup routine 21:01:59 Depending on your purpose, MrReach, you could load libraries coded *without* libc. See libsys, at the cLIeNUX /interim FTP. 21:02:42 libsys is just a library of syscalls for C. I've used it some. You have to write niddly little functions like 'atoi', but at least you can write them *yourself* to *fit your application*, ne? 21:02:58 bad use of 'ne' there. Darn. 21:03:09 hmm ... how does one load that w/o loading glibc? 21:04:01 libncurses might be very useful in forth, for example, while not loading glibc, sending the text directly using syscalls 21:04:12 bad example, I think 21:04:23 ncurses is certainly going to load glibc itself 21:04:54 libpthread would be useful 21:05:45 Ncurses is not terribly useful. 21:06:02 libgif ... etc 21:06:19 For most purposes, you can do the codes yourself. For other purposes, you can write parts of ncurses yourself =) Yeah, I get the idea, but if you want all of C you'll have to pay the price. 21:06:32 I hate to think i'd have to load glibc and lit it initialize itself to load other libs 21:06:33 In most systems though, loading libc isn't much of a hit because it's *already* in memory. 21:06:54 BUT how large is the startup code? 21:06:57 That's the benefit of shared libraries. It's not the size benefit in binaries, it's the memory benefit. 21:07:22 if it were JUST copying the GDT it would be no big deal 21:07:28 MrReach, every C program deals with this. I don't see where you're going. 21:07:30 GDT? 21:07:43 Global Descriptor Table 21:08:08 huhn. 21:08:22 you're right, it's not loaded into memory each time ... rather, the descriptor table is altered to show the glibc code in the current process memory space 21:08:49 Cool. So "loading" glibc isn't a problem for you? 21:08:50 But they still have to do all of the per-process initialization. 21:08:56 however, each time glibc is "loaded" into memory, it has an initialization routine that is called 21:09:14 I _think_ it's called _init_ 21:09:19 ooops ... 21:09:25 I _think_ it's called "_init" 21:10:06 for smaller libs, _init probably does nothing or very little ... fine 21:10:25 but glibc is huge ... and I'll bet _init is not negligible 21:11:46 how would one test this? compile the same prog w/ and w/o glibc and start it repeatedly 100,000 times? 21:12:07 doesn't the gnu linker include glibc by default? 21:12:18 Yes, you have to tell it not to. 21:12:33 No, it does not. 21:12:38 I *don't* think that's a good method to test. A good method would be asking real live glibc people. 21:12:50 If you link via gcc, it will call ld with glibc. 21:12:52 HAHAHA! 21:13:03 Just using ld won't include glibc. 21:13:11 ok, thanks, trey 21:13:20 Trey - um. When I use it *seperately*, I have to use -nostdlib if I don't want glibc in. Maybe we're using different versions or something. 21:13:48 I'll bet that if I write an nasm prog that does nothing but exit ... 21:13:59 Uh, -nostdlib should get passed to gcc. 21:14:01 * Trey goes to look. 21:14:09 and link it w/ and w/o glibc, there will be a tremendous diff in startup time 21:14:32 not just the diff to map glibc into memory 21:17:02 Trey - if you have gcc to the linking, then yes, you need -nostdlib. If you use gcc to produce an object file, no, you don't need -nostdlib, and yes, you do need -nostdlib to the GNU linker. Maybe yours doesn't, though. 21:21:50 I don't see nostdlib in either version of ld (RH 5.2 or BeOS 5.x) 21:22:20 Try 'ld --help' 21:23:03 Specifically, ld shouldn't have a language bias, and glibc constitutes a language bias. 21:23:52 erm ... 21:24:11 nasm produces an 8 byte file for a do-nothing program 21:24:46 Check out what GCC produces for such, MrReach. with glibc and without it. 21:25:13 Trey - what's your version? My ld *does* have that. 21:25:28 ok, for the c file, I'd use _exit in meain, right? 21:26:00 I dunno. When I used libsys, I used the syscall. 21:26:16 2.11 (BFD 2.11) 21:26:18 heh, don't remember the macros for syscalls 21:27:02 yes, it's _exit in unistd.h 21:29:36 [root@squid /root]# gcc -nostdlib test.c -o test1 21:29:36 collect2: ld returned 1 exit status 21:29:50 erm ... that skipped lines 21:30:20 [root@squid /root]# gcc -nostdlib test.c -o test1 21:30:46 MrReach: for C programs, you'll need crt0.o or equivalent glue. -nostdlib removes that as well as glibc. 21:30:47 gcc -c test.c&&ld -nostdlib test.o -o test /.li/static/arg_env.o /.li/static/libsys.o 21:31:37 erm ... not sure what system you're on, but I have no /.li directory 21:31:56 /lib. That's just an example. Ignore it. It doens't exist. 21:32:03 ok 21:32:16 heh, you can tell it's been 2 years since I linked anything 21:32:28 Well, it does on my machine. .li is a perversion of lib that lets internationalization happen with symlinks and such. /subroutine is what my system calls it. 21:32:44 arg_env.o and libsys.o are parts of libsys. 21:35:37 hrm ... libsys does not appear to be in /lib /usr/lib or /usr/local/lib 21:35:45 * MrReach hunts with mc 21:36:17 * cleverdra hums. 21:36:21 dired, clienux? 21:36:22 clienux is probably http://www.clienux.com or comes with a pforth with >100 Linux syscalls or later versions expected to have a Forth built into the Linux kernel in its own kernel thread or may replace libc with a *tiny* library of syscall wrappers (see libsys) or (see h3sm) or *very* friendly, with disproportionatly large documentation 21:36:28 dired, libsys? 21:36:29 bugger all, i dunno, cleverdra 21:36:47 dired, libsys is (see clienux, see clienux's FTP) 21:36:47 OK, cleverdra. 21:36:56 heh 21:37:58 damn, this system has ALL SORTS of neat stuff I didn't know was there .... hmmm ... any documentation? 21:38:22 what system? 21:38:44 Mandrak/Redhat .1 21:38:47 Mandrak/Redhat 6.1 21:39:13 all kinds of neat stuff to play with in forth 21:40:08 heh, what the hell is "libopcodes-2.9.5.0.31.so" 21:41:10 * MrReach sighs. 21:41:33 all so tantalizingly close 21:42:01 I even looked at the loadlib code in the glibc package, yuck! 21:42:25 oh! btw, what is the kernel call "uselib" for? the docs are REALLY vague 21:43:03 http://quaff.port5.com/man/uselib.2.html 21:56:48 ok, got it linked with nasm 21:59:05 --- quit: cleverdra (Leaving) 22:15:41 Good night, folks. 22:15:54 * Trey is idle: sleeping 22:17:00 --- quit: MrReach (Read error to MrReach[209.181.43.184]: Connection reset by peer) 22:17:38 --- join: MrReach (mrreach@209.181.43.184) joined #forth 22:18:09 --- join: edrx (edrx@200.240.18.60) joined #forth 22:44:20 --- quit: edrx (Ping timeout for edrx[200.240.18.60]) 23:15:36 --- join: muppie (kermit@202.58.130.76) joined #forth 23:27:04 --- quit: muppie (Ping timeout for muppie[202.58.130.76]) 23:39:49 --- join: muppie (chatter@202.58.130.71) joined #forth 23:39:49 --- part: muppie left #forth 23:59:59 --- log: ended forth/01.06.23