00:00:00 --- log: started forth/02.08.07 00:03:46 OK, I'm off to bed. 00:03:59 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 02:21:14 --- join: FareAway (fare@samaris.tunes.org) joined #forth 02:53:31 --- nick: FareAway -> Fare 03:42:10 --- nick: Fare -> FareAway 04:40:26 --- join: Serg_penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 04:41:26 --- quit: Serg_penguin (Client Quit) 06:22:35 --- quit: Soap` (vinge.openprojects.net irc.openprojects.net) 06:22:35 --- quit: Fractal (vinge.openprojects.net irc.openprojects.net) 06:22:42 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 06:22:42 --- join: Fractal (ajta@h24-77-171-228.ok.shawcable.net) joined #forth 06:36:03 --- join: Serg_penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 06:36:34 --- part: Serg_penguin left #forth 08:04:09 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 08:49:14 --- join: I440r (~mark4@1Cust231.tnt2.bloomington.in.da.uu.net) joined #forth 09:06:04 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 09:54:46 --- join: Speuler (~l@195.30.184.4) joined #forth 09:54:54 'day 10:07:38 g'day 10:08:19 bongo can you help me write an assembler ? 10:09:07 src dest opcode 10:09:11 dest src opcode 10:09:17 opcode dest src 10:10:45 opcode dest src endopcode 10:10:59 , = endopcode 10:11:17 opcode = reads ahead, integrates dest and src and stops at , 10:11:29 what's wrong with this?!?! 10:26:49 I440r: u know i'm fan of reverse polish, src dest op 10:27:09 futhin: u were quicker :) 10:27:50 why can't we have it non-reversed? 10:27:56 opcode dest src 10:28:05 because that's too intel 10:28:27 sure, but that's what i440r wants :P 10:28:37 and probably we need to parse input 10:28:56 i'm sure that tricks could be employed to avoid parsing the input 10:29:14 opcode dest src , 10:29:20 opcode could leave something on the stack 10:29:24 and dest and src also do that 10:29:30 then , puts them all together 10:29:33 and saves it 10:30:06 doesn't that sound like a good idea? 10:30:34 if feasable, it'd do in the need for parsing 10:30:48 * Speuler is not at all a fan of parsing stream 10:31:06 why? too slow? 10:31:18 not callable 10:31:34 eh? that's news to me 10:31:38 how is it not callable? 10:32:11 you process text literals rather than results 10:32:33 hmm 10:33:14 you can argue "you could execute the text literals" but, 10:33:35 than i'd have to ask you "why not do in in an interpreter-friendly order" 10:34:11 yeah 10:34:32 wouldn't it be fun to have a word that was the carriage return? 10:34:53 so that at the end of the line it gets executed and it's invis too ;) 10:34:55 that existed in older forths. 10:35:01 that was the empty word 10:35:05 ahh 10:35:07 redefinable :) 10:35:16 it was completely empty? 10:35:24 zero string 10:35:28 same as char 0 10:35:29 : dostuff ; 10:36:06 okay, going afk for a few hours, ttyl 10:40:30 --- join: kc5tja (~kc5tja@user-24-214-86-42.knology.net) joined #forth 10:41:18 at end of line, a asc(0) was looked up in dict, and executed 10:42:55 I440r: consider: normalize opcode src dest (taking out white space, convert literals etc), 10:43:24 then parametrize register and the like (for later bitcode insertion) 10:43:37 addresses too (address insertion) 10:43:52 than hash the resulting pseudomnemonic, 10:44:16 have opcode pseudopars returned, 10:44:20 compile them, 10:44:38 do register, literal, address insertion 10:45:22 (don't know how feasible that is, just an idea) 10:49:33 Does anyone know if there is a good Forth Wiki in existance? I'm not talking about a Wiki written in Forth, but rather, a Wiki with Forth as its primary subject matter? 10:49:42 there are two forth wikis 10:49:49 wikis involving the subject of forth 10:49:59 * kc5tja nods -- where are they? 10:50:24 google "forth wiki" brings up both of them sleepless night wiki is the second one 10:50:34 woops 10:50:37 there are three wikis 10:50:58 the first one that google brings up sucks & dead 10:51:06 the next two are the good ones 10:51:22 (sucks & IS dead) 10:52:48 The second one (c2.com) just links to the first. 10:53:15 However, it appears to have a sizable local collection of material. However, I'm not sure how often it's maintained. 10:53:20 no no no 10:53:21 c2 is good 10:54:18 c2 has a link to sleepless night wiki 10:54:23 but c2 also has lots of content 10:54:39 http://c2.com/cgi/wiki?ForthLanguage 10:55:02 http://kristopherjohnson.net/cgi-bin/twiki/view/Main 10:55:05 those are the two forth wikis 11:03:38 --- join: juli (flata@toxic.magnesium.net) joined #forth 11:25:35 --- quit: Speuler ("using sirc version 2.211+KSIRC/1.1") 11:34:52 --- quit: juli ("uplift stole my growl") 11:44:47 * kc5tja is updating the ExampleForthCode page on c2.com 11:59:37 --- quit: kc5tja ("BitchX-75p3 -- just do it.") 12:27:55 --- join: kc5tja (~kc5tja@user-24-214-86-42.knology.net) joined #forth 12:28:03 Back; I lost my network connection. 12:40:40 --- quit: kc5tja (Remote closed the connection) 12:49:25 --- join: kc5tja (~kc5tja@user-24-214-86-42.knology.net) joined #forth 12:52:58 --- quit: I440r (No route to host) 13:09:15 --- quit: kc5tja ("kc5tja has no reason") 13:19:34 --- join: I440r (~mark4@67.241.42.211) joined #forth 13:35:27 --- join: kc5tja (~kc5tja@user-24-214-86-42.knology.net) joined #forth 13:59:51 --- quit: clog (^C) 13:59:51 --- log: stopped forth/02.08.07 14:00:19 --- log: started forth/02.08.07 14:00:19 --- join: clog (nef@bespin.org) joined #forth 14:00:19 --- topic: 'Forth: using bits without limits | x86 Linux Forth coded in asm - http://isforth.clss.net | home of forth - http://www.ultratechnology.com' 14:00:19 --- topic: set by futhin on [Sun Jul 28 18:42:21 2002] 14:00:19 --- names: list (clog kc5tja I440r goshawk` rob_ert sif onetom futhin FareAway @ChanServ Soap` Fractal) 14:37:10 There. Update is complete. 15:04:31 ? what update 15:11:21 I updated a Forth page on a wiki 15:11:44 c2.com's wiki in particular; ExampleForthCode 15:11:48 And I created ForthBlocks 15:26:10 --- join: GilbertBSD (~gilbert@max2-120.dacor.net) joined #forth 15:26:30 --- part: GilbertBSD left #forth 15:28:23 --- join: cleverdra (julianf@0-1pool36-155.nas2.florence1.sc.us.da.qwest.net) joined #forth 15:57:11 --- join: ayrnieu (julianf@0-1pool36-155.nas2.florence1.sc.us.da.qwest.net) joined #forth 15:58:49 --- quit: cleverdra (Read error: 104 (Connection reset by peer)) 15:59:26 --- nick: ayrnieu -> cleverdra 16:06:20 kc5tja: i was deeply enchanted by browsing the wiki and paegs about wiki too :) 16:06:41 kc5tja: but now, im gonna chk your extensions 16:06:55 Heheh :) 16:07:13 * kc5tja finally got a chance to try out ColorForth (c4w -- ColorForth for Windows). 16:07:23 That's a very different experience. 16:07:31 But certainly not at all unpleasant. 16:07:32 brb 16:09:33 hey! c4w?!?!? 16:10:57 Yes. 16:11:02 It's not terribly stable right now. 16:11:04 i do demand a url! :) 16:11:11 Just a second. 16:11:13 * kc5tja looks 16:11:35 It's only tested with Windows 2000, but it should work with most any Win32 platform. 16:11:56 anyway, i havent found ExampleForthCode @ c2.com :( 16:13:24 : NEWSTATE STATEBLK @ BLOCK UPDATE STATEP ! ; 16:13:24 : STATE! STATEP @ C! 1 STATEP +! ; 16:13:24 : ALIVE 42 STATE! ; 16:13:24 : DEAD 32 STATE! ; 16:13:24 : ITERATE-CELL 2DUP SWAP LIVES? IF ALIVE ELSE DEAD THEN ; 16:13:24 : ITERATE-ROW 0 BEGIN DUP 64 < WHILE ITERATE-CELL 1+ REPEAT DROP ; 16:13:26 : ITERATE-BLOCK 0 BEGIN DUP 16 < WHILE ITERATE-ROW 1+ REPEAT DROP ; 16:13:28 : GENERATION LIFEBLK @ STATEBLK @ LIFEBLK ! STATEBLK ! ; 16:13:30 : ITERATE NEWSTATE ITERATE-BLOCK GENERATION ; 16:13:32 : DONE? KEY [CHAR] Q = ; 16:13:34 : PROMPT CR ." PRESS Q TO EXIT; OTHER KEY TO CONTINUE" ; 16:13:36 : VIEW PAGE LIFEBLK @ LIST PROMPT ; 16:13:38 : LIFE BEGIN VIEW ITERATE DONE? UNTIL ; 16:13:38 --- quit: I440r (No route to host) 16:13:40 * kc5tja cracks up... 16:13:42 ROTFLMFO!!! 16:13:44 http://www.strangegizmo.com/forth/ColorForth/msg00734.html 16:13:46 There -- that's the URL. 16:13:52 It helps if I cut first before pasting, eh??? ;D 16:14:05 already got it :) 16:14:23 imean, your modifications, not c4w 16:14:48 The URL I just posted is for C4W. 16:15:23 http://c2.com/cgi/wiki?ForthLanguage is for the ForthLanguage root, from which you can see my modifications to ExampleForthCode. 16:17:23 how can i find this 4th wiki from the c2.com root? 16:18:47 onetom: I didn't bother trying. 16:19:04 onetom: I just googled for Forth Wiki, and clicked on the c2.com link (third link down IIRC). 16:23:53 c :) 16:53:46 --- join: I440r (~mark4@1Cust240.tnt1.bloomington.in.da.uu.net) joined #forth 17:01:41 --- quit: cleverdra ("Leaving") 17:35:49 I need to get going. Time for aikido. 17:36:19 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 17:46:28 --- join: CrowKiller (Vapo_Rulez@24.212.5.233) joined #forth 17:46:42 hi 18:06:47 --- join: Speuler (~l@pD9502557.dip.t-dialin.net) joined #forth 18:07:13 b'tardes 18:14:25 --- quit: CrowKiller ("User pushed the X - because it's Xtra, baby") 18:25:17 just fixed a bug in isforth 18:25:21 a realy DUMB one 18:25:52 i was searching the context stack BACKWARDS!!! hehe 18:26:02 i.e. i would find OLDER definitions first 18:26:02 bleh 18:26:21 i also got the makings of an assembler now 18:26:38 so far it can only assemble 4 instructions 18:26:41 aaa 18:26:42 aas 18:26:51 aad (with or without an immediate) 18:26:57 aam (with or without an immediate) 18:27:04 but its a start :) 18:30:04 --- join: thefox (fox@adsl-209-182-168-45.value.net) joined #forth 18:30:05 --- mode: ChanServ set +o thefox 18:30:19 thefox!!! 18:30:27 hi dood, ltns! 18:30:43 ltns? 18:31:03 im trying to write an assembler for isforth, its not easy. so far it can only do 4 instructions :) 18:31:09 ltns = long time no see :) 18:31:17 ah 18:31:34 but its in the form 'mov ax, # 5' not '5 # ax mov' 18:31:40 which i cant get my head arround 18:32:33 the order never bothered me, but for using source from a debugger output or known format is nice 18:33:23 so what subset of x-86 will you plan to support? 18:33:31 i still dont quite understand the modrm and sib stuff yet, like how i can encode which address/memory is the source and which is the destination 18:33:40 p5 includintg mmx and sse and all fpu 18:33:47 erm p4 18:34:41 --- quit: ChanServ (Shutting Down) 18:35:11 --- join: ChanServ (ChanServ@services.) joined #forth 18:35:11 --- mode: card.openprojects.net set +o ChanServ 18:35:11 --- mode: ChanServ set +l 83 18:35:18 so far i can assemble aaa, aas, aad with or without the immediate and aam with or without the immediate 18:35:42 aah 18:35:50 ill do all the EASY instructions first hehe 18:36:00 ones with no modrm or sib etc heh 18:36:03 I440r: you work through the mnemonics alphabetically ?? 18:36:20 speuler so far yes :) 18:36:39 they are not only the first 4 documented in this doc but they are also EASY ones heh 18:37:00 --- quit: ChanServ (ACK! SIGSEGV!) 18:37:09 lol chanserv 18:37:16 --- join: ChanServ (ChanServ@services.) joined #forth 18:37:16 --- mode: card.openprojects.net set +o ChanServ 18:37:16 --- mode: ChanServ set +l 83 18:37:19 * Speuler like "nop" a lot 18:37:24 lol 18:37:35 nop is a VERY easy one :) 18:37:43 $ea on a 6502 :) 18:37:47 00 on an 8051 18:37:53 hrm not sure what it is on x86 18:38:03 t0x90 i think 18:38:11 00 makes the most sense to me for a nop 18:38:17 --- quit: ChanServ (Shutting Down) 18:38:19 0x90 on a x86 18:38:25 --- join: ChanServ (ChanServ@services.) joined #forth 18:38:25 --- mode: card.openprojects.net set +o ChanServ 18:38:25 --- mode: ChanServ set +l 83 18:39:02 trying to remember 68k opcode for nop 18:39:23 the actual choice of opcode values is an interesting subject 18:39:42 yea, multiple encodings for some instructions 18:39:53 indeed. gives you hints about the architecture 18:40:12 the a86 assembler always encodes certain opcodes in certain ways so EJI can tell if a given program was assembled with his assembler 18:40:45 he says if a program has his assemblers footprint it was assembled with his assembler even if it wasnt :) 18:43:04 sometimes you can figure out undocumented opcodes that actually work 18:43:27 i knew all the undocumented 6502 opcodes 18:43:31 made use of them 18:43:37 also made use of the indirect jump bug 18:44:03 and back then 99% of the so called professional 6502 coders were oblivious to teh undoc and processor bugs :) 18:45:00 was it a page boundary bug? 18:45:23 yes 18:45:37 i vaugley recall it 18:45:41 jmp [01ff] collected teh address from 01ff and 0100 18:45:50 no carry into the hi byte 18:46:23 and the bug existed in every single derivative of the 6502 because they were all cut from teh original 6502 masks 18:49:34 so what u been up to tehfox? 18:49:52 i got a contract to reverse engineer some 8051 code that the post office lost the sources to heh 18:49:55 one of the few times I ever bested Chuck on some code I cheated, I used an undocumented instruction on a chip that he designed. 18:50:04 lol 18:50:13 oh yea. hows chuck ? 18:50:29 I did some consulting work and made a nice road trip, Chuck was fine the last time I saw him. 18:50:37 cool 18:51:32 I wrote an essay since my last visit and added a bunch of stuff to the ut store including ting's eforth cd. 18:51:41 cool 18:52:15 im entering a go game from dr dobbs toolbook of forth in isforth too 18:52:31 i think ting had a hand in that code 18:52:34 let me look 18:52:37 --- quit: FareAway (No route to host) 18:52:55 many of the eforth can be gleaned from the net, but he has a bunch of fig-forth, f83, fpc and lots of eforths as well as several nice manuals like the fpc technical manual and user manual and full sources to p8, p16 and p24 complete with eforth test suites etc. 18:52:59 yup :) 18:53:23 ting should hang here too :) 18:53:39 he posts on clf rite ? 18:53:44 occasionally 18:53:49 Chuck said that a go game in colorforth might be a project. He has been studying the problem. 18:54:04 cool :) 18:54:10 i cant even remember how to play go hehe 18:54:28 no, ting has never postefed to usenet and chuck has only done it about 4 times 18:54:48 mostly im at odds with what the ppl say there 18:54:57 they have dan grades in go, like martial arts. 18:55:00 the only reason i joined that group is to give isforth some press heh 18:55:07 ya i know heh 18:55:17 they do in chess too sorta 18:55:36 --- join: Mongrel (~ant@ool-435249eb.dyn.optonline.net) joined #forth 18:55:44 comp.lang.forth should really have a different name, but they wouldn't me to provide suggestions. 18:56:04 hi thefox, long time no see :) 18:56:16 futhin that was original :P 18:56:26 i emailed you about forthchips, but i'm not sure if i got a reply from you 18:56:33 comp.lang.forth.abuse ? 18:56:34 heh 18:56:56 thefox: don't leave until i check my email! :P 18:57:04 hi mongrel :) 18:57:27 i was away, and have had some computer hardware problems I am not all caught up on email about a month behind to a couple of people. 18:57:42 ouch 18:57:58 gotta hate those computer problems 18:58:05 i was hoping your absence here meant you were working :) 18:59:05 i was, i also hoped that i would get paid. Oh well the work was fun.... 18:59:06 eek! you wernt paid ? 18:59:18 i would have done the work and then witheld it 18:59:23 no pay, no play 18:59:40 its amazing what one can do with pkzip and a password 18:59:51 that's hackable 18:59:52 at least I collected some entertaining technical information, documents, etc. 18:59:53 you got my work, now just you go ahead and try USING it. 19:00:01 pay me and ill unlock it :) 19:00:09 yea but that doesnt pay the bills 19:03:11 i reread an interesting essay on the web today that mentions me about a dozen times. i agree with most of it but don't think of myself as an emotional type and have some different ideas about sucess/failure. 19:04:32 http://www.msmisp.com/futuretest/Forth's_Dilemma.htm I may put a link to it from my site and ask people for feedback 19:06:38 but I do feel somewhat reenergized to work on several fun projects that have just been siting around collecting dust. 19:06:48 thefox: i am curious how you or chuck moore make a living?? there doesn't seem to be much of a market for forth stuff ??? 19:07:58 that's a good question. I don't know the answer. Chuck is currently selling his home. I sold mine way back when. 19:08:24 damn i hope i dont have to sell mine, i already almost lost it :( 19:08:48 I get good offers about every 3 months, few materialize into paychecks, you know the story. 19:08:48 thefox will chuck work in other languages to pay the bills ? 19:08:54 no 19:09:32 thefox: well you make it sound like you guys had previously made money, but now the market is lean.. _how_ did you guys previously make money ? 19:09:38 even i will code in c if they pay me enough heh 19:10:05 doing real time embedded. up till a year ago i was making 70+k a year and my father was making the same 19:10:28 Chuck once said, maybe I need to put on a suit and a tie and play the corporate game and ... Then Min, his wife, yelled "No Chuck." 19:10:37 lol 19:10:46 heheh 19:11:09 * futhin would be happy to play the corporate game for chuck & forth ;) 19:11:30 We were employees at ITV, other stuff is consulting when possible. 19:11:31 soon as i win the lottery chuck moore is gona get some backing :) 19:11:31 i'm an entrepreneurial type i guess 19:11:54 same here 19:12:04 except my plan was to get rich with real estate investing or something 19:12:14 hmmmm i think you have to buy a ticket tho rite ? heh 19:12:33 chuck should be a "fellow" from a research fund. 19:12:56 fellowship ? 19:14:11 The corporate stuff was my job for a while. I don't mind wearing a nice suit but the shoes must be comfortable. I have deal with a lot of suits in conventional jobs at places like pac bell and bank of america. 19:14:59 like an "IBM Fellow", get a salary and retirement for research, you are in charge etc. 19:15:34 even tesla got backing :( 19:16:19 Chuck is more of a research type than a developer, but he is frustrated that none of his research has made it into production. 19:17:02 it will after he dies, then all teh vultures will come in and take it 19:17:34 not that we haven't tried. the trouble is that people with money want to make the decisions since they bring the money and ... 19:17:46 * Speuler has a broken nc4000 still lying around somewhere 19:18:01 electrocuted:( 19:18:06 I440r: /whois Speuler 19:18:22 * Speuler alias bongo 19:18:24 I440r: Sorry bout that. 19:19:04 any opinions on the url that i listed, Forth's_Dilemma? 19:19:37 thefox: Can you give the URL again, I just came on #forth 19:20:10 http://www.msmisp.com/futuretest/Forth's_Dilemma.htm 19:20:36 futhin: thanx 19:20:38 thefox: i am private messaging you, i would like to talk to you 19:20:51 I worked part time as a consultant earning quite a bit and part time before I switched to full/over time 19:21:02 work on UT stuff. ;-) 19:22:56 I have not yet checked out the Christenson book 'the Innovater's Dilemma' (?) Has anyone here read it? 19:23:59 dammit i hate it when you get a new isp and 2 days later your getting SPAM in yor mailbox 19:24:10 you KNOW the fucking isp sold the fucking email address :( 19:24:12 I440r: Spamassassin 19:24:29 is that some sort of utility ? heh 19:24:29 I440r: I got the same thing from my ISP 19:24:37 --- nick: futhin -> thinfu 19:25:00 mongrel you downloaded isforth yet ??? :) 19:25:20 I440r: Yeah, procmail pies to Spamassassin, which marks your mail as Spam, than procmail can put the Spam in a separate mailbox, or /dev/null 19:26:08 I440r: No but I bookmarked it, hold on, I want to read the Forth's Dilemma, then I have some questions for you 19:26:24 s/pies/pipes/ 19:26:32 realy i should just tell my isp to cansel the account and open a new one at no charge with a new user name and to NOT fucking give my address out 19:26:49 k 19:29:17 woo hoo cisco whent up by 92c today :P 19:29:44 when it goes up by $92 then ill realy woo hoo :) 19:30:48 thefox: I am _very_ interested about the forth condition and about helping to create a market for forth and/or forthchips. I am not interested in perverting the forth philosophy (as per chuck moore's philosophy). I would like to explore various aspects of forth with you.. 19:31:29 chuck moore responded to my emails recently, and I am planning on setting up an irc discussion with him and some people that are interested in seeing forthchips produced 19:31:35 and we're going to try to brainstorm and such 19:34:06 i'll be away from the screen for a few minutes, but i'll be back. 19:36:19 --- nick: thinfu -> futhin 19:36:44 thefox: Just finished reading Forth's Dilemma, I think the problem is that this basically falls on deaf ears. And those of us that listen are pretty much powerless to do anything. 19:37:08 I440r: Ok so about isForth... 19:37:31 k 19:37:34 im here :) 19:38:34 I440r: Not to knock your efforts, but is there anything you're aiming to do with it that gforth can't do. I like gforth, but since it runs on top of Linux, I find it lacking. 19:39:08 gforth is written in c 19:39:14 therefore its not a real forth imho 19:39:16 mongrel: isforth was handcoded in asm, it's got the handcrafted touch ;) 19:39:52 isforth is NOT ans compliant (the ans forth standard does not describe the forth language but a language of the same name - chuck moore) 19:40:04 I440r: yeah I see your point, but even with asm in Linux, the kernel gets in the way. 19:40:26 mongrel no it doesnt, not if you KNOW the kernel :) 19:40:29 and im learning 19:40:54 isforth is already an almost complete replacement for both libc and ncurses and is 30k in size 19:41:34 I440r: So you basically still have to rely on syscalls rather than going directly to the processor. 19:41:35 i have an almost finished sockets library coded in forth (need to get dns working tho) 19:42:13 mongrel you mean i go directly to the kernel via syscalls instead of passing the buck to some lame ass c library middle man which would only serve to slow me down anyway 19:42:27 100% of the kernel syscalls are supported 19:42:33 I440r: yeah. 19:42:40 not all are implemented but if its not there YOU can add it 19:43:05 I440r: What's the license on it, are you looking for possible contributions. 19:43:42 my lisence is a MODIFIED LGPL 19:43:58 I440r: Hmmm, interesting 19:44:02 i.e. its lgpl but any commercial application compiled with it can have ANY lisence YOu want it to have 19:44:18 and i want as much contributed as i can get hehe 19:44:28 but i have certain standards with regards to coding 19:44:29 I440r: I think that's pretty much how the LGPL says it, if not BSD should cover that 19:44:41 and they are almost 100% diametrically opposed to linus's standards 19:44:56 I440r: I like that already 19:44:57 lgpl only works if you arent statically linked to teh library 19:45:20 I440r: I think BSD allows 19:45:37 all programs compiled under isforth will effectivly be statically linked to my kernel and lgpl basically calls them a derivative work - i exclude this claus :) 19:45:57 I440r: When you say kernel, elaborate. 19:46:16 the forth compiler has an inner core, its called the kernel 19:46:29 I440r: Ok (Brain Fart). 19:46:31 its a set of BASIC forth words required to build any application 19:46:47 right now you ASSEMBLE the forth kernel using nasm 19:46:58 then you run the kernel and have IT compile some extensions 19:47:16 im working on an assembler extension right now so i can dispense with using nasm 19:48:00 I440r: Lovely. How are you working the source, do you have it on a CVS ? 19:48:31 no, im not using cvs for version control, im using prcs locally and when i do a release i just tgz it up and put it on the web page 19:48:52 I440r: Sp basically you're accepting and reviewing patches? 19:49:00 i used to have a SF account but i was spending more time 'managing' sf than i was coding 19:49:26 nope. prefer to see the modified sources than patch files, i cant read a patch file heh 19:49:35 right now there is ONE developer 19:49:55 mostly thats all there has been. tho tcn was teh one who got the compiler working in the first place 19:50:06 nobody but myself working on it right now 19:50:27 mongrel does your brother come on irc ? 19:50:40 I440r: No, not that I know of. 19:50:56 mongrel try get him hooked on irc so he can hang in here :) 19:51:14 is he an advanced forth coder or a beginner ? 19:51:34 both are welcome, not everyone in here is a forth coder heh 19:51:44 i440r: how the hell could you spend any time "managing" the SF account ? 19:51:55 you just code and then upload or whatever 19:51:56 or don't upload 19:51:59 I440r: He's pretty advanced, he's kind of lucky, cause his boss loves it, so he gets to do a fair amount of forth coding at work. 19:52:01 it's quite easy ;) 19:52:12 mongrel where does he work ? 19:52:17 gimme a job!! heh 19:52:27 I440r: A Web host company in Manhattan 19:53:01 I440r: I need a job myself, I've just been doing freelance web stuff when I can. But I'm finishing school as well. 19:53:11 cool, im in indiana and i want to eventually write a web browser in isforth :) 19:53:49 I440r: I wonder if thefox is still here, I've been wondering why colorforth.com is on a Unix server 19:54:03 why shouldnt it be? heh 19:54:15 i was just thinking about forth used as a ASP or web language.. like php/perl 19:54:23 that would definitely open up a market for forth 19:54:25 I440r: I would expect it to be on a forth server. 19:54:59 :) 19:55:47 I440r: I'll definitley try isForth out, I'm stuck having to do a lot of DOS MASM lately, so I won't touch the Source, just so I don't have to make things worse by going back and forth between Nasm/Masm. 19:56:00 mongrel: how advanced a coder are you in other languages? 19:56:09 i.e. are you an asm cluebie ? 19:56:41 I440r: Pretty advanced, I'm 28 and I've been coding for about 20yrs. C, C++, php, python, scheme, perl, fortran 19:57:22 cool! 19:58:00 i dont like c or c++, never done any of the others 19:58:12 i got some books on php tho but im not much into web devel 19:58:20 as you can see from isforth.clss.net hehe 19:58:28 I440r: I've only recently been turned on to forth, but I must say it's damned addictive. 19:58:43 mongrel its the only HLL worth using. 19:59:12 I440r: But I basically have been doing stuff in gforth, which is a nice environment, but it sounds like isForth will really give me the power I want. 19:59:12 --- quit: Speuler (Read error: 60 (Operation timed out)) 19:59:25 i code c, assembler on any processor, any controller and forth 19:59:36 i hate c more and more every time i hear its name 19:59:59 same here 20:00:02 I440r: I pretty much despise C, but that's because of my C++ preference, 20:00:02 i convulse ;) 20:00:35 mongrel being an asm coder first and foremost and doing mostly embedded apps im also diametrically opposed to ANYTHING oop 20:00:46 back and caught up 20:01:10 i see far too much embedded object obfuscated c++ using VRTX or some such rtos type jobs 20:01:11 thefox: any comments on what i said? 20:01:13 I440r: OOp is really more a style of coding, it just happens some languages are designed for it. 20:01:23 thefox: please be 100% honest with me, if you've gotten burned before, i'll understand 20:01:42 mongrel i know and i disagree with 99% of what OOP states 20:01:51 I440r: I'm a big fan of MY C++, but I see it being abused and molested all the time. 20:02:01 I440r: Fair enough. 20:02:06 mongrel the problem is because of c 20:02:17 c encourages coder wannabe's to start coding 20:02:36 everyone should be forced to code NOTHING but pure assembler for the first 10 years of codeing 20:02:42 Chuck could have hosted his site on an itv card if he wanted, but the bandwidth to his house would not have been acceptable. thus it was easier to get a typical isp, write some html, upload it, add some photos, move on. 20:02:46 I440r: The C problem is that C coders learn a little bit of C++ and think they know it. 20:02:50 as an apprenticeship 20:03:34 once you have coded asm for 10 years you should be allowed to learn forth 20:03:49 only after you have MASTERED assembler and forth should you be allowed to start coding in other languages 20:03:56 and that includes things like bash, html etc 20:03:57 let them use any language they like, just restrict them to 1k object code. 20:04:04 I440r: I agree that everyone should eventually spend time coding in Assembler, but when I was 8 years old coding Basic, I don't think I would have kept at it if I had to code Assembler. And back then that was pretty much the two options BASIC or Assembler 20:04:27 mongrel it was c64 basic that made me learn 6502 :) 20:05:15 I440r: But when there's forth, why bother spending too much time with Assembler 20:05:28 assembler was comprehensible back then 20:05:50 I440r: If you want I can write autoconf/automake scripts for isforth, I'm quite handy with the autotools. 20:06:15 i prefer assembler and forth at the same time 20:06:22 mongrel isforth wont need them, it will eventually be metacompiling its own sources 20:06:23 thefox: Agreed, x86 Assembler is a nightmare. 20:06:35 I440r: For the initial install. 20:07:04 10 years coding in assembler, machineforth assembler ;) 20:07:05 I440r: unless you're planning on distributing binaries, autotools help 20:07:06 f21 is much simpler than 8080, forget about p7... 20:07:10 mongrel check out my snazzy make file, dont need autoconf because isforth relies on ZERO external libraries etc 20:07:37 mongrel ill have to distribute teh binary with the sources because the binary is whats going to be used to COMPILE the sources :) 20:07:45 I440r: Well I guess you're making it pretty much Linux/IA32 specific, so there's no use for portability 20:08:19 mongrel portability is bottom of my list of requirements actually, read the readme in the tgz, its very linux/x86 specific 20:08:31 i want a bsd (free/net etc) version eventually 20:09:14 thefox: I've heard great things about the PIC Microcontrollers I think only 32 instructions. Have you used them yet? 20:09:25 mongrel but one thing isforth wont support is conditional compilation. 20:09:36 i consider THAT to be one of the most abused features of other languages 20:09:43 I440r: There's no need for it 20:09:53 mongrel nope 20:10:37 my readme and my sources state alot about my coding philosophy 20:10:49 I440r: I was telling a buddy about forth the other day, he said "I can't grok RPN, I guess I'll have to write a preprocessor to use it" ... I told him that would be quite frowned upon. 20:11:05 no, but I have read the specs and various documents on tools. Chuck has said relatively good things about pic. 20:11:13 just look at the way i format my sources, i see other peoples sources as looking like an overgrown unkept garden 20:12:08 thefox: I know a guy who's done a lot of work with them, And I've seen there's already a forth written for the PIC, It's something on my todo list. 20:14:35 thefox u recon ting would be interested in visiting here ? 20:17:42 ting has never wanted to have website and has used yahoo and different employer's isp. He doesn't seem to be into online stuff very much. 20:18:16 the web can be a distraction 20:18:44 but he is congenial and would be happy to be interviewed or whatever. He may not have ever done chat. 20:18:54 irc, the great productivity killer 20:19:20 ive always admired his code 20:19:23 irc is nice to use when I'm watching a ball game. 20:21:00 he likes to mentor people, he is a good teacher, he always has lots of projects going on. 20:21:54 heh me too but i concentrate on one or 2 at a time and when i burn out a switch. that lets my subconcious CHEW on the other problems 20:22:08 ive been digesting the assembler problem for a cpl of years so far eheh 20:22:40 lazy bum! :P 20:23:06 i think i got one problem with the assembler sorted :) 20:23:13 i solved it for you 20:23:20 opcode dest src , 20:23:21 how to defer assembly till the start of the next instruction :) 20:23:35 futhin no you didnt, i solved it mentally 3 days ago and coded it today 20:23:51 0 var ?a; 20:23:54 : a; 20:24:03 ?a; r> !> ?a; 20:24:07 duop ?: 20:24:11 >r 20:24:13 drop ; 20:24:23 thats a dup not a duop heh 20:24:49 ?a; is initially zero so for the first instruction we just drop it 20:25:01 each instruction word starts with a a; 20:25:21 so each instruction nests into a; which does NOT return till the start of the next instruction 20:25:28 :) 20:25:30 neat eh ? 20:25:52 a more readable but less optimum version of teh above would be 20:26:15 : a; ?a; @ r> ?a; ! dup if >r else drop then ; 20:26:57 and yes, it works hehe 20:30:36 end-code does a a; so the last instruction is assembled 20:32:34 hmmm that made everyone go all quiet hehe 20:33:52 i440r: were you paying attention when i talked to speuler about the syntax for the assembler ? 20:34:23 not realy 20:34:25 i was saying that it could be like this: MOV AX BX , where the "," consolidates the stuff on the stack so that you don't have to do any parsing 20:34:43 i dont have to do any parsing 20:34:51 mov ax, # 5 20:34:57 mov doesnt execute yet 20:35:07 ax, sets ax as the destination register 20:35:15 what's with "# 5" ? 20:35:17 # sets a flag saying thers an immediate 20:35:25 hrm 20:35:26 the 5 (the immediate goes on the stack) 20:35:46 the start of the next instrucution (say mov bx, ax or something) causes the above to be assembled 20:36:02 no parsing words 20:36:20 reg, is always a destination registe 20:36:26 reg is always a source register 20:36:31 mov eax, ebx 20:36:50 k, that works 20:38:25 it all came together when i figured out how to do a; 20:39:23 also, if i defer a; i can patch it as a noop and ppl can do 5 # ax mov if they want :) 20:40:12 im still a little fuzzy about how to do [eax+ebx+8*ecx] 20:40:47 i think it would be [eax] $+ [ebx] 4 $+* [ecx] 20:40:49 or something 20:41:20 or i might have $+*2 $+*4 $+*8 20:41:25 for different scalers 20:41:43 --- join: njd (melons@njd.paradise.net.nz) joined #forth 20:41:48 but this gives me a problem, you can do 20:42:02 mov eax, [ebx+ecx+8*edx] or 20:42:12 mov [ebx+ecx+8*edx], eax 20:42:31 do i create [ebx], etc ? 20:43:43 mov [eax], $+ [ebx], $+8* [ecx], 20:43:53 then i also need to figure out $+ $1234 20:44:09 mov table+[eax+ebx+8*ecx], eax 20:44:16 etc etc - it gets a bit complex heh 20:46:40 for real 20:48:14 see yall later 20:48:25 --- quit: thefox () 21:08:23 --- join: CrowKiller (Vapo_Rulez@cnq5-233.cablevision.qc.ca) joined #forth 21:08:31 hi 21:22:01 --- quit: CrowKiller ("User pushed the X - because it's Xtra, baby") 21:38:08 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 22:01:42 --- join: I440r_ (~mark4@1Cust228.tnt1.bloomington.in.da.uu.net) joined #forth 22:01:48 re I440r 22:02:05 tnx 22:02:24 should realy be working on my assembler hehe 22:02:42 will prolly take all the dox and teh laptop up to bed with me when i go and work on it there 22:02:53 but i got the first stumbling block sorted out 22:02:59 :) 22:03:03 Cool. 22:03:15 im not sure if anyone else has done it in quite this way 22:03:15 * kc5tja has his assembler finished; I just need to actually start coding FS/Forth's core now. :) 22:03:36 kc5 that assembler isnt YOURS tho is it, so i cant see it rite ? 22:04:00 No, it's mine. 22:04:04 It's RPN, but it's all mine. 22:04:20 i mean. you OWN it ? 22:04:21 Took me 5 days to write it, basically in my spare time at work. 22:04:25 can i see it? 22:04:25 Hell yes I own it. 22:04:33 Can you read PygmyForth block files? 22:04:44 i can convert block files to flat 22:04:59 OK, hold on. I'll transfer the .SCR file to my computer. 22:05:06 cool 22:05:16 what does it support ? 22:05:31 386? 486? p4 ? 22:05:37 mmx/sse ??? heh 22:06:04 16-bit 8086 with some 386 extensions. Not all of them, just those that happened to be convenient to add. 22:06:15 It's easy to add MMX or other stuff if you need it. 22:06:26 i know 22:06:31 fpu instructionsz are easy too 22:06:51 right now i can only assemble FOUR instructions hehe 22:07:00 two of which take an 8 bit immediate 22:07:00 :) 22:07:02 or not 22:09:10 * kc5tja is trying to initiate a DCC; can you respond to it? 22:09:31 If not, I'll cancel it and send it to you via e-mail. 22:09:45 It's built for Pygmy Forth, but it should be readily portable to any other Forth system. 22:10:09 mark.manning -at- fastermail -dot- com 22:10:16 i cant see any dcc 22:10:40 argh i just wrote my email in the clear where any bot surfing clog logs will be able to grab it lol 22:10:47 OK, the firewall is blocking it then (even though it's configured to support IRC; go figure) 22:11:00 Have it removed from the logs. 22:11:13 I'm sure clog's maintainer will substitute a bunch of Xs for it or something. 22:11:16 i would but im too lazy and its minimal risk ehhe 22:12:11 OK, it *should* be on its way. 22:12:14 k 22:12:27 If not, let me know; I have a backup method I can use to send the e-mail. :) 22:12:42 hehe checking mail now 22:12:45 gotta log in 22:14:19 success 22:14:21 its there :) 22:14:24 Cool. 22:14:31 Should be roughly 40KB in size. 22:14:51 --- quit: I440r (No route to host) 22:15:10 ok, having never written a meta compiler im slightly confused why , c, etc need to be defered in the assembler to the forth versions 22:15:33 , c, etc aren't deferred. 22:15:40 u8, and u16, are deferred (and $$) 22:15:48 The answer is simply factoring. 22:16:16 u8, stores an 8-bit quantity to memory, guaranteed. u16, stores a 16-bit quantity to memory, guaranteed. When I define it, u32, will store a 32-bit quantity, etc. 22:16:28 They're deferred because I have multiple code emitting back-ends. 22:17:01 One compiles code directly into the FS/Forth target buffer (using TC, and T,), while another one was built for the regression tester, which compiles the values in a form suitable for the target compiler. 22:17:09 err, regression testing subsystem. 22:17:14 You do not have the regression testing code. 22:17:19 hehe 22:17:24 thank you :) 22:20:15 --- quit: Soap` (Read error: 113 (No route to host)) 22:20:23 :) 22:23:20 i started with those prefixes too but i deleted the code, i had to sort out some other things first 22:23:31 basically had similar to what you have tho yours looks neater 22:23:38 i hadnt fully thunked it out 22:23:50 I was really surprised at how well it turned out, actually. I honestly wasn't expecting it to fall into place like that. 22:24:03 I did have to completely rip out and re-engineer how to handle the modr/m bytes though. 22:24:11 That took me a day and a half to do. 22:24:37 I realized what I had wasn't good enough by the time I hit the mov, instruction. :-) 22:25:18 i deleted what i had, i figured i was preempting myself by coding it hehe 22:25:21 Note that because I cache the opcode components in memory before actually emitting them (i, is what actually triggers the whole instruction to be emitted), you could write a small layer on top of the assembler mid-section to use prefix notation. 22:26:29 u wanna see my thus far 4 instruction assembler ? 22:27:09 Sure. :) 22:27:23 IT could be prefix or postfix too 22:27:30 by NOOPing a; :) 22:30:41 Heh 22:31:34 its kinda tricky and obfuscated what a; does hehe 22:31:42 but its REALY clever - even if i do say so myself heh 22:31:48 u shud chek mail now 22:31:54 Where'd you send it to? 22:32:01 replied 22:32:05 to your email ehh 22:32:14 i didnt quote your assembler back to you :) 22:32:34 I don't think the mail will reach me. If it's at anything with "dolphin" in the name, it's a certainty that it'll bounce. 22:32:40 Re-send it to sfalvo@hifn.com 22:34:54 done 22:37:42 OK, checking. 22:40:12 Got it. 22:40:18 * kc5tja is reviewing the code now... 22:40:44 actually, so far your assembler is one of the easiest to read ive seen 22:41:01 OK, based on what I'm seeing, you're fiddling around with return addresses. 22:41:06 i gave up on win324th assembler, thats a HUGE mess 22:41:11 i am :) 22:41:22 when you have 22:41:24 ... 22:41:27 mov ..... 22:41:35 the word mov first calls a; 22:41:47 Right. 22:41:53 that fetches a;? variable and stores its own return address in same 22:42:06 it returns to the PREVIOUS instruction 22:42:15 so if i have 22:42:21 mov ax, # 5 22:42:27 mov doesnt execute yet 22:42:37 ax, will set up a flag saying that ax is the destination reg 22:42:45 I see, but the code for ax, and the immediate value are on the stack, waiting to be run. 22:42:47 # says that theres an immediate and the 5 will be left on the stack 22:42:47 OK, that makes sense. 22:42:53 nope 22:43:10 s/code/data/ 22:43:17 Code and data are virtually identical in Forth 22:43:18 we return OUT of mov after having assembled the previous instruction 22:43:25 ax, gets executed 22:43:27 setting a flag 22:43:34 # gets executed setting a flag 22:43:37 (thought I just said that???) 22:43:37 5 goes on the stack 22:43:55 im not sure were on the same page tho 22:43:59 heres the sequence of events 22:44:20 we enter mov. but it doesnt execute the code for mov, it returns (assume first instruction of coded def) 22:44:35 ax, executes. # executes, 5 goes on the stack 22:44:46 we now have all the info we need to actually assemble the instruction 22:45:03 the NEXT instruction calls a; and that RETURNS into the mov we skipped 22:45:05 Right. 22:45:25 so if you get rid of a; (make it defered and defer it to noop) 22:45:36 you can make the assembler work with 5 # ax, mov 22:45:54 Well, you'd need to redefine mov to account for the reversal in the stack. 22:46:18 a; can do that then 22:46:23 Or, you could just plain have it be ax, # 5 mov or something. 22:46:28 : pre-a; swap ; 22:46:40 : post-a; the tricky stuff above ; 22:46:42 defer a; 22:47:04 actually, ax doesnt put anythning on the stack 22:47:29 it will just set a variable saying that ax is the destination registe 22:47:34 so we cah do things like 22:47:38 mov ax, bx 22:47:45 no comma on the bx says its a source 22:47:52 the , on the ax says its a destination 22:47:58 * kc5tja nods 22:48:24 tho 22:48:27 That's an interesting observation. 22:48:28 we could have things like 22:48:31 * kc5tja never thought of that. 22:48:52 mov [1234+ebx+8*ecx], # 5 22:49:08 so we WILL have two items on the stack in the forth version of the above 22:49:11 How do you specify the 1234 in the first operand? :) 22:49:13 the 1234 and teh 5 22:49:22 im thinking ill do 22:49:59 mov $ 1234 $+ [ebx], $+8* [$ecx], # 5 22:50:07 or something 22:50:10 looks messy tho 22:50:13 Yeah. 22:50:19 I would think something like this might work: 22:50:39 mov $1234 [ebx+ecx*8], # 5 22:50:57 where [ebx+ecx*8], is a word that assumes it has an offset specified on the stack. 22:51:14 i would need to have [reg+reg+scale*reg] definitions for every single possability or else i will need to parse 22:51:19 im avoiding parsing that sort of thing 22:51:26 Don't. 22:51:38 dont parse or dont avoid heh 22:51:40 Use CREATE and DOES> to do all the grunt work, then just define them manually. 22:51:50 That's what CREATE/DOES> were made for. 22:51:57 there would be HUNDREDS of them 22:52:10 [eax+ebx+2/4/8*ecx] 22:52:23 Hmm.. 22:52:26 [ebx+ecx+2/4/8*ecx] 22:52:27 dont forget 22:52:38 mov eax, [eax+eax+8*eax] is legal 22:52:39 [eax+ ebx+ ecx*8] -- how's that? 22:52:55 err [ eax+ 22:53:02 dont mind redefining [ and ] 22:53:14 OK, as long as you don't mind redefining [ and ], that's fine. 22:53:32 i already redefined # hehe 22:53:39 Also, I'd split the multiplier out. 22:53:46 [ eax+ ebx+ ecx *8 ] 22:54:02 This gives you a total of (3*8)+4 = 28 words to define. 22:54:35 would need reg+ and reg defined for all words, 2* 4* and 8* would need to be redefined 22:54:51 No, *2 *4 and *8 22:54:55 not sure thats a good idea, might do $2* $4* or [2*] [4*] ? 22:55:04 aha good idea!! 22:55:09 :) 22:55:12 lol 22:55:16 glad i thunked of that :) 22:55:23 Glad I could help. 22:55:24 Whoa... 22:55:31 :) 22:55:38 My monitor started to jiggle on my desk. I think we're getting a small earthquake... 22:55:47 cool!!!! 22:55:51 where u at again? 22:55:58 we had a quake not long ag0 :) 22:56:16 pick up ur laptop - so the drive doesnt get damaged :) 22:56:48 Drive won't get damaged. 22:56:51 It's parked. 22:56:54 :) 22:57:00 I'm in Oceanside, California. 22:57:09 Just an hour north of the Mexican border. 22:57:22 hmmm earthquake country to the north for sure :) 22:57:31 Yeah. 22:57:37 But we occasionally get small ones. 22:57:45 I mean, if you're sleeping, you won't even notice them. 22:57:47 i never did like the peoples republic of california tho 22:57:57 Unless you're like me, who is hypersensitive to motion while sleeping. 22:58:03 ive been thru loads of quakes and not known about them 22:58:10 * kc5tja nods 22:58:23 im hyper sensative to absolutly NOTHING when im assleep hehe 22:58:32 i would sleep thru ww3 :) 22:58:34 Most of our quakes here are utterly imperceptible, unless you're *really* trying to listen for them. 22:58:43 And i do mean listen -- that's the only way to detect them. 22:58:54 ear to ground 22:58:56 Yes 22:59:08 An earthquake sounds a lot like a passing train. 22:59:24 u know its a quake tho if the nearest line is 200 miles away hehe 22:59:25 Only with slightly more bass components. 22:59:57 Well, where I live is somewhat confusing sometimes, because I live near Camp Pendelton, a Marine base, where they just love to detonate ordinance. :) 23:00:11 Godis5: so what are you doing up so late? 23:00:11 i440r: chatting with other coders :-) 23:00:11 Godis5: ah the weird people :-) 23:00:11 i440r: again, pot, kettle, black :-) 23:00:30 FORTH? IF HONK THEN 23:00:53 i440r_: i doubt any bots come across clog's logs.. there's robots.txt on the tunes server.. basically says don't surf the server.. only rogue bots will do so 23:00:57 ive known godis on undernet since she was like 13 yrs old, she is 21/22 now :) 23:01:05 snotty nosed kid to kewtie hehe 23:01:32 Heheh :) 23:01:49 I hope to start coding FS/Forth this weekend. I really want to complete it. 23:01:51 she is a rely nice girl too 23:02:00 cool 23:02:06 i want to complete this assembler 23:02:18 even before i started coding isforth i was dreading teh assembler heh 23:02:25 It's gotten to the point where I am --><-- that close to replacing Linux on my router computer with FS/Forth, configured to serve as the router. 23:02:37 cool! 23:02:44 let me know when you do it! 23:03:01 i notice you dont do evil things like 23:03:03 create foo 23:03:09 ] xyz abc blah [ 23:03:12 heh 23:03:13 I tried setting up a Wiki on my router/server, and it just blew up. The Zope maintainer didn't have a clue how to take a toke from the crack pipe he was using at the time he made the package. 23:03:26 No, I don't. 23:03:36 However, when FS/Forth is written I will do stuff like this: 23:03:48 i have been known to but i think its visually cluttered style, something i try to avoid 23:04:05 : BYE? .BYEPROMPT KEY 'Y = IF [ $4C00 #: ax, mov, $21 #: int, ] THEN ; 23:04:12 I can do this because it's native code. :) 23:04:18 :) 23:04:38 actually, THAT looks neat :) 23:04:59 oh you use #: instead of redefining # :) 23:05:02 :) 23:05:07 Yeah; # is reserved for something else. 23:05:12 do you use #) for addresses ? 23:05:18 <# # # ... # #> typically. 23:05:25 No; I use [] for addresses. 23:05:35 much nicer 23:05:38 $DEAD [] al mov, 23:05:47 im thinking of just using $ 23:05:51 or maybe $$ 23:05:56 Yeah. What is up with these people that decided to use ) for addresses? That doesn't make any sense. :) 23:06:13 To me, ) is what you use to close a comment. :) 23:06:20 correct 23:06:36 i however reserve ( ) comments for stack comments 23:06:41 Now if they'd used something like (), that's different; that at least provides a sense of closure like [] does. 23:06:55 none of the ( this code blah blah ) 23:07:11 i consider that style of commenting to be visually cluttered too 23:07:13 I'm probably not going to support \ comments to start off with. Not sure yet though. 23:07:22 code-stuff-here \ comment stuff here 23:07:31 no need to CLOSE the comment, its closed by eol 23:07:40 Blocks don't have an EOL. :) 23:07:47 nope 23:07:54 well. they DO and they dont :) 23:08:00 I suppose I could just redefine \ to advance the >IN pointer (well, my Forth's equivalent at least) to the next logical line, but still. 23:09:19 yup 23:09:32 you have to know how far into the current line you are 23:09:45 so just add linelenght - current pos to current pos heh 23:10:43 * kc5tja nods 23:10:59 I also like the use -- for comments too, especially when they're left flushed. 23:11:04 -- this makes a good section heading -- 23:11:04 :) 23:11:30 i never saw that before until i started looking at marcel h's code 23:11:34 Basically: : -- POSTPONE \ ; IMMEDIATE 23:11:44 ugh heh 23:12:02 I was introduced to that commenting style while studying some Eiffel sources; I didn't know Marcel used those comments. 23:12:05 ' \ alias -- 23:12:06 hehe 23:12:10 much neater 23:12:17 and because \ is immediate so is -- 23:12:20 on my forth at least 23:12:21 That'll work too. But my Forth doesn't have aliases. Instead, I do this: 23:12:38 i toyed with teh idea of not having aliases in isforth too 23:12:41 COMPILER : -- COMPILE \ ; 23:12:46 i consider them to be bad form if over abused 23:12:54 COMPILER switches into the compiler's word list, BTW. 23:13:13 aha 23:13:14 err 23:13:16 whoops 23:13:19 Should be [COMPILE] 23:13:22 ya i know 23:13:27 and you forgot the immediate too heh 23:13:28 It's late. :) 23:13:33 I don't need IMMEDIATE. 23:13:34 i can read perfect mistype 23:13:38 no ? 23:13:39 oh 23:13:39 It's in the COMPILER wordset; that's all it needs. 23:13:44 compiler is always immediate :) 23:13:47 Yes. 23:13:52 FORTH is always non-immediate. :) 23:14:19 Any other wordlists are ignored from the "normal" Forth standpoint, and are reserved for application-defined searching. 23:14:26 my compiler vocabulary is EVENTUALLY going to be discarded on turnkey 23:14:32 so all creating words would go in there 23:14:33 For example, VIBE's going to use its own wordlist for containing editor commands. 23:14:57 vibe ? 23:15:03 VI-like Block Editor. 23:15:07 ugh 23:15:09 your sic :P 23:15:17 I wrote it first for GForth, ported it to Pygmy, and soon, to FS/Forth. :) 23:15:23 heh 23:15:26 Why am I sick? 23:15:33 of all the editors i hate, vi is the one i hate most 23:15:40 Your loss. 23:15:48 There's a good reason why I chose VI. 23:16:00 i think ANY operation in an editor should be done via control or alt plus one key 23:16:02 All of the most often used commands I use are all on the home row of the keyboard. 23:16:15 My editor isn't mutually exclusive with that. 23:16:15 not escape colon shift/contro/alt key etc 23:16:25 Your view of VI is unnecessarily narrow. 23:16:38 alt x control y 23:16:41 or function keys 23:16:46 That is a problem I have with you: you are so strongly opinionated about things, that you're more often incorrect about the topics you hate than you are right. :) 23:16:59 no alt shift x backspace insert f10 f4 now your in insert mode heh 23:17:04 i know 23:17:14 Yes, ALT-X-CTRL-Y -- Sorry, I don't like giving vulcan nerve pinches to the computer just to delete a line. 23:17:19 but i dont FORCE my opinions on other ppl 23:17:27 Neither do I. 23:17:33 ESC enters command mode. 23:17:34 Just ESC. 23:17:36 most of my opinons are well thought out not irrational 23:17:41 i enters insert mode. 23:17:42 Just i. 23:17:52 Most of your opinions are irrational. 23:18:04 i440r_: is godis5 into programming? 23:18:11 no 23:18:14 If you want to see some *REALLY* bizarre key sequences, check out Emacs. 23:18:33 kc5 most of them are a direct result of observations 23:18:39 <-- is slow on reading the backlog 23:18:44 kct i checked it out on the amiga 23:18:50 saw teh 2934875623978465 different menu items 23:18:54 "no alt shift x backspace insert f10 f4 now your in insert mode heh" -- that's rational?? 23:18:55 each with 239685237849652384975 different sub menus heh 23:19:00 That tells me you've **NEVER** used VI in your life. 23:19:12 kc5 i have 23:19:14 ive had to 23:19:20 Oh, here we go again with flagrant misaccusations. 23:19:30 I've also used *MICRO*-emacs on Amiga. 23:19:36 MICRO...not the full Emacs. MICRO. 23:19:39 hehe 23:19:41 ya 23:19:51 i know. and its STILl bloated heh 23:19:51 So don't tell me about which editor is best and which isn't. 23:19:56 No it isn't. 23:20:00 The editor was 20K in size. 23:20:02 i like multi edit for dos 23:20:07 not the latest versions 23:20:14 version 3.02 is what i use 23:20:18 Multi-edit is just as bloated as MicroEmacs. 23:20:31 Yet more evidence of your blind accusations. 23:20:32 not realy, i stripped out all teh shit i didnt want 23:20:48 when you register it you get the complete sources to the editor (sort of) 23:21:07 you can totally redefine it thru its macro language 23:21:12 Well, VIBE is only 2K on my laptop, and does everything I need it to do. 23:21:21 I hardly consider it bloated. 23:21:42 i would convert the escape to a control personally but that wouldnt be VI like. 23:21:59 Like I said: VIBE handles ctrl-codes just as well as modal controls. 23:22:11 You just need to edit the editor's command configuration. 23:22:19 Each command is just a well-formed : word. 23:22:23 i would be happy with it then (depending on one other thing) 23:22:27 You don't even need to hack the main program. 23:22:28 how does it handle cursor movement 23:22:39 Same way as any other command. 23:22:54 if i cursor up onto a shorter line does the cursor position go schitzoid on you ? 23:23:01 Right now, it's configured for VI operation because cursor keys and whatnot are not portable across machines, while ASCII is. 23:23:04 or does it stay in the SAME column ? 23:23:24 But if your Forth environment associates a single keycode with each cursor key, then you can easily redefine it to use cursor keys. 23:23:37 No, the cursor stays in the same column. 23:23:59 and if it stays in teh same column and i start editing, does the cursor THEN bounce back to the left or do you start inserting at teh same column ? 23:24:07 Same column. 23:24:10 !!!!!! 23:24:14 i could use that editor 23:24:15 An empty block is just a block full of spaces. 23:24:20 oh yea 23:24:33 hrm thats one of my biggest gripes with *nix editors 23:24:38 schitzoid cursor 23:24:53 I can live with it as long as its behavior is predictable. 23:24:55 joe is slightly less schitzoid but its still not right 23:25:08 thats the point, its not predictable 23:25:17 But it is. 23:25:27 But I won't get into it. I'm too tired and too easily set off. 23:25:34 if you cursor up onto a line thats shorter by 43 characters you cant mentally follow the cursor BEVORE it moves 23:25:54 Hmm....I can. 23:25:59 I have no problems with it. 23:26:07 i cant, it bugs me :) 23:26:25 i also like an edtor to remove blanks at the end of a line automatically 23:26:33 kc5tja: the command mode and insert mode seem a little unnecessary to me, but i will have to look into it, i find it a tad cumbersome to hit i to get into insert and hit esc to get out, but i'm still in the process of getting used to it 23:26:38 but to also automatically re-insert them if i start typing beyond the end of a line :) 23:26:51 futhin: There's a reason for command-mode and insert-mode. 23:26:57 yes 23:27:04 futhin: It's so you don't have to take your fingers off the home-row when entering editor commands. 23:27:25 futhin: As a typist who goes 90+wpm, especially when editing source code, that is a huge benefit to me. 23:27:35 i sort of dislike hitting the esc key, but it is pretty easy to hit it and come back to the home row without looking 23:27:37 Also, nearly every command I use is a single letter on the keyboard. 23:27:59 futhin: Check out what Jef Raskin is doing with his editor project on SourceForge. 23:28:00 personally i would prefer the hit key to be near the home row, like the TAB or something ;) 23:28:10 s/hit/esc 23:28:22 He has a command set somewhat similar to VI, but he uses a meta-key to enter it, and it doesn't execute until you release the metakey. 23:28:43 Well, CAPS LOCK would be ideal for entering/exiting from command-mode. 23:29:40 Oh well, I suppose I should be getting to bed. 23:29:44 I have work to attend to tomorrow. 23:30:15 meta wouldn't be bad 23:30:22 for the ESC key replacement 23:30:22 I really do want to get this Forth running though. I think I'm really at the end of my fuse when it comes to dealing with this other software. I would just LOVE to put it on the box I have at work too. :) 23:32:15 --- quit: njd ("fractal 1.0.9b60 - The world is coming to an end. Please log-off. - http://fractalscript.com") 23:33:26 hmm, i'm reading "forth's dilemma" right now 23:33:29 very interesting 23:33:33 have you read it? 23:33:42 has anybody? 23:33:51 i bookmark3ed it 23:33:54 heh 23:33:57 read it right now!! 23:34:03 so we can discuss it 23:35:28 I never heard of it before. 23:36:49 http://www.msmisp.com/futuretest/Forth's_Dilemma.htm 23:36:54 read it if you aren't going to bed :P 23:37:05 it's very interesting!! 23:37:43 How long is it? 23:37:58 um, 4 pages 23:38:00 HTTP Error 404 -- not very big. 23:38:01 or 5 23:38:08 http://www.msmisp.com/futuretest/Forth's_Dilemma.htm 23:38:09 hm? 23:38:10 works for me 23:38:19 Cut&Paste didn't copy the ' 23:38:47 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 23:38:56 hello soap`! 23:39:05 read this! 23:39:06 http://www.msmisp.com/futuretest/Forth's_Dilemma.htm 23:39:18 very interesting! :) 23:39:42 * futhin is going to rush out and get the book sometime this week 23:39:49 innovator's dilemma 23:42:26 i440r_: are you reading it? my guess is ya aren't :P 23:43:00 This is quite fascinating. 23:43:13 So far, the author is dead on the money. I'm about 33% through it. 23:43:58 yup :) 23:44:02 i'm 89% thru it 23:45:39 not yet, im too tired to rtfm even interesting stuff 23:45:54 if i wasnt this tired i would be offline anyway - got code to write now :) 23:46:41 this article will wake you up unless you're dead ;P 23:47:04 read it soon tho, it's pretty interesting :) 23:52:43 $00c2 reg8: dl 23:52:51 $00c2 reg16: dx 23:52:52 ? 23:53:50 reg8: defines an 8-bit register, and reg16: defines a 16-bit register. 23:53:58 See the definitions for reg8: and reg16: for their differences. 23:54:17 aha ok ya :) 23:54:33 The value it pushes onto the stack is the modr/m code for that register. 23:54:37 Anyway, I need to get to bed. 23:54:40 Interesting article. 23:54:45 But nothing I didn't already know. 23:54:56 And I *severely* disagree with his assessment that Forth is "dying." 23:55:13 People can laugh and make fun of us all they want. 23:55:19 Indeed, that is our advantage. 23:55:27 Our secret weapon. 23:55:35 not realy our advantage but definatly their loss 23:55:57 I440r_: By the very sheer definition of what you just said, it is our advantage. 23:56:07 If they don't have "it", but we do, then it's our advantage. 23:56:30 When we release products in 1/10th the time, with near zero bugs, consistently, people will start to notice. 23:56:40 We don't need to tell them that we code in Forth. 23:56:51 That'd be disclosing highly "proprietary" information. 23:57:02 But, I digress. 23:57:07 I'm going to bed now. 23:57:13 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 23:58:30 you forgot ret in op2 23:58:39 or is the parameter to ret 16 bits ? 23:59:59 --- log: ended forth/02.08.07