00:00:00 --- log: started forth/03.07.21 00:13:47 * Serg_Penguin is shutting all apps to fry a backup 00:13:50 --- quit: Serg_Penguin () 00:22:28 --- quit: onetom (leguin.freenode.net irc.freenode.net) 00:22:32 --- quit: Robert (leguin.freenode.net irc.freenode.net) 00:22:34 --- quit: a7r_ (leguin.freenode.net irc.freenode.net) 00:22:35 --- quit: ianni (leguin.freenode.net irc.freenode.net) 00:22:54 --- join: a7r_ (~a7r@206.72.82.135) joined #forth 00:22:54 --- join: onetom (~root@cab.bio.u-szeged.hu) joined #forth 00:22:54 --- join: Robert (~snofs@h126n2fls31o965.telia.com) joined #forth 00:22:54 --- join: ianni (ian@inpuj.net) joined #forth 00:24:35 --- join: CrowKilr (CrowKilr@Ottawa-HSE-ppp3652913.sympatico.ca) joined #forth 00:25:46 * CrowKilr advice of the week: listen to Shpongle - The Sixth Revelation while on Salvia Divinorum 00:26:49 my bincopy tokens simply becomes a different color of comment, with a slight twist: the count is stored in memory shifted 00:26:54 aka decoded 00:27:08 to be able to use it as a sign-change counted string 00:28:36 * kc5tja votes that we rename freenode.net to netsplit.net 00:28:48 [03:27] -lilo- [Global Notice] Hi all. Some quick rehubbing, which we hope will resolve our current problems. It's worth reminding you that freenode needs more hubbing, http://freenode.net/sponsoring_servers.shtml .... thanks 00:28:57 lilo is a jackass 00:29:23 --- quit: onetom (leguin.freenode.net irc.freenode.net) 00:29:25 --- quit: Robert (leguin.freenode.net irc.freenode.net) 00:29:30 * kc5tja doesn't have any beef with lilo. 00:29:39 --- join: Robert (~snofs@h126n2fls31o965.telia.com) joined #forth 00:29:39 --- join: onetom (~root@cab.bio.u-szeged.hu) joined #forth 00:30:02 --- quit: a7r_ (leguin.freenode.net irc.freenode.net) 00:30:03 --- quit: ianni (leguin.freenode.net irc.freenode.net) 00:30:14 --- join: a7r_ (~a7r@206.72.82.135) joined #forth 00:30:14 --- join: ianni (ian@inpuj.net) joined #forth 00:30:40 i got now the almighty coma word that solves all my troubles! 00:31:30 by using movs to AH and keeping the bytecount in al, i get tight code, cleaner design, no unnecessary move in memory and self-confidence that might future code will be almost optimal 00:31:41 i knew there was something I could do! 00:31:51 :) 00:32:20 yay! viva Sally! SHe appears to me most of the time as a dancing female being 00:32:21 --- quit: a7r_ (leguin.freenode.net irc.freenode.net) 00:32:21 --- quit: ianni (leguin.freenode.net irc.freenode.net) 00:32:21 --- quit: onetom (leguin.freenode.net irc.freenode.net) 00:32:21 --- quit: Robert (leguin.freenode.net irc.freenode.net) 00:32:27 mostly distotionned because of teh pystrance 00:32:35 distortionned 00:33:09 --- join: onetom (~root@cab.bio.u-szeged.hu) joined #forth 00:33:09 --- join: Robert (~snofs@h126n2fls31o965.telia.com) joined #forth 00:33:09 --- quit: onetom (leguin.freenode.net irc.freenode.net) 00:33:09 --- quit: Robert (leguin.freenode.net irc.freenode.net) 00:35:38 --- join: Robert (~snofs@h126n2fls31o965.telia.com) joined #forth 00:35:38 --- join: onetom (~root@cab.bio.u-szeged.hu) joined #forth 00:35:48 --- join: a7r_ (~a7r@206.72.82.135) joined #forth 00:35:48 --- join: ianni (ian@inpuj.net) joined #forth 00:35:59 --- quit: onetom (leguin.freenode.net irc.freenode.net) 00:35:59 --- quit: Robert (leguin.freenode.net irc.freenode.net) 00:36:34 --- join: onetom (~root@cab.bio.u-szeged.hu) joined #forth 00:36:34 --- join: Robert (~snofs@h126n2fls31o965.telia.com) joined #forth 00:36:34 --- quit: onetom (leguin.freenode.net irc.freenode.net) 00:36:34 --- quit: Robert (leguin.freenode.net irc.freenode.net) 00:36:48 --- join: onetom (~root@cab.bio.u-szeged.hu) joined #forth 00:36:48 --- join: Robert (~snofs@h126n2fls31o965.telia.com) joined #forth 00:36:49 --- quit: onetom (leguin.freenode.net irc.freenode.net) 00:36:49 --- quit: Robert (leguin.freenode.net irc.freenode.net) 00:37:11 * CrowKilr give my vote to the netsplit.net renaming endeavour 00:37:23 lets hack some DNSes ;o) 00:38:07 --- quit: a7r_ (leguin.freenode.net irc.freenode.net) 00:38:07 --- quit: ianni (leguin.freenode.net irc.freenode.net) 00:38:22 --- join: onetom (~root@cab.bio.u-szeged.hu) joined #forth 00:38:22 --- join: Robert (~snofs@h126n2fls31o965.telia.com) joined #forth 00:38:22 Heh 00:38:31 my countedstring word is now 00:38:32 Now, see, if we had a server network written in Forth, we wouldn't have this problem. 00:38:44 mov al, [ESI-1] 00:38:49 jmp SkipComment 00:38:54 as easy as that 00:39:01 eh 00:39:30 servers are trivials to program in forth 00:39:45 since there's no filesystem they're faster 00:39:56 Servers aren't bound by filesystem speed. 00:40:14 first arg that came to mind 00:40:22 --- join: a7r_ (~a7r@206.72.82.135) joined #forth 00:40:22 --- join: ianni (ian@inpuj.net) joined #forth 00:40:40 They are bound primarily by upstream network connectivity, largely due to the end-to-end nature of TCP. :( 00:40:49 i cant believe how that small change change everything lol 00:40:52 This means, the more hops in between two nodes, the longer it takes to exchange data. 00:41:00 Yet another argument for using ATM instead of IP-based technologies. 00:41:35 asynchronous trame m? ?? 00:41:44 transfer mode? 00:41:57 Note: I'm not talking about using telco-provided ATM technology; I'm talking about using the ATM cell relay structure as defined by open, industry standards. (In case anyone was questioning my rationale) 00:42:05 Yes -- asynchronous transfer mode. 00:43:01 Using a dedicated peer-to-peer reliable transport protocol over ATM would improve data throughputs immensely. 00:43:16 my system is complete!!! cant believe it!!! finaly the ugly bincopy is gone lol 00:43:29 it was so simple! 00:43:43 yeah adsl get a facelift when prioritizing acks 00:44:11 * kc5tja nods 00:44:33 You know, I'm seriously thinking about not using a target compiler for the Linux version of FS/Forth, and just writing it raw in assembly from the get-go. 00:44:45 =) 00:44:55 now i can provide a nice encoding scheme 00:45:17 little limited but very efficient, extend to 16 bits to get all the range you need 00:49:57 * CrowKilr still thinking if he couldnt think something better without the use of an hallucinogen ;p 00:50:35 Hmm 00:50:49 Maintaining and building the vocabulary arrays by hand is not my idea of a good time. 00:51:07 * kc5tja will continue with the target compiler. 00:51:22 ha i cant do that, it breaks everything 00:51:57 definition then countedstring token 00:52:11 if i do a jump token on that def ill land straight in the count.... 00:52:26 idem for call 00:53:18 im talking nonsense 00:53:24 wait a second ;p 00:53:47 OK, I am going to bed. It is 1:00AM here. 00:53:55 here its 4 lol 00:54:07 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 00:54:30 --- quit: CrowKilr ("gonna think how this thing's gonna work, cause now it doesnt") 01:25:36 hi 01:44:22 --- join: Serg_Penguin (Serg_Pengu@212.34.52.140) joined #forth 02:02:24 --- quit: Serg_Penguin () 05:00:37 --- join: mur (jukka@baana-62-165-186-178.phnet.fi) joined #forth 05:17:57 --- quit: a7r_ (Read error: 110 (Connection timed out)) 08:03:58 --- join: flyfly (~marekb@ip164.ktvprerov.cz) joined #forth 08:08:47 --- quit: flyfly (Client Quit) 08:08:53 --- quit: onetom (leguin.freenode.net irc.freenode.net) 08:08:54 --- quit: Robert (leguin.freenode.net irc.freenode.net) 08:09:33 --- join: Robert (~snofs@h126n2fls31o965.telia.com) joined #forth 08:09:33 --- join: onetom (~root@cab.bio.u-szeged.hu) joined #forth 08:49:19 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 08:57:49 --- quit: mur (leguin.freenode.net irc.freenode.net) 08:58:10 --- join: mur (jukka@baana-62-165-186-178.phnet.fi) joined #forth 08:58:55 --- quit: Fractal (leguin.freenode.net irc.freenode.net) 08:59:03 --- quit: XeF4 (leguin.freenode.net irc.freenode.net) 08:59:19 --- join: XeF4 (xef4@lowfidelity.org) joined #forth 08:59:19 --- join: Fractal (bron@i.either.got.mad.cow.from.alberta.beef.or.strongLSD.com) joined #forth 08:59:54 --- quit: TreyB (leguin.freenode.net irc.freenode.net) 08:59:56 --- quit: skylan (leguin.freenode.net irc.freenode.net) 09:00:21 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 09:00:21 --- join: skylan (sjh@vickesh01-4504.tbaytel.net) joined #forth 09:01:50 --- quit: onetom (leguin.freenode.net irc.freenode.net) 09:01:53 --- quit: Robert (leguin.freenode.net irc.freenode.net) 09:01:56 --- quit: ianni (leguin.freenode.net irc.freenode.net) 09:01:59 --- quit: TreyB (leguin.freenode.net irc.freenode.net) 09:02:04 --- quit: skylan (leguin.freenode.net irc.freenode.net) 09:02:05 --- quit: Fractal (leguin.freenode.net irc.freenode.net) 09:02:09 --- quit: XeF4 (leguin.freenode.net irc.freenode.net) 09:02:12 --- quit: mur (leguin.freenode.net irc.freenode.net) 09:02:14 --- quit: ChanServ (leguin.freenode.net irc.freenode.net) 09:02:38 --- join: ChanServ (ChanServ@services.) joined #forth 09:02:38 --- join: skylan (sjh@vickesh01-4504.tbaytel.net) joined #forth 09:02:38 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 09:02:38 --- join: Fractal (bron@i.either.got.mad.cow.from.alberta.beef.or.strongLSD.com) joined #forth 09:02:38 --- join: XeF4 (xef4@lowfidelity.org) joined #forth 09:02:38 --- join: mur (jukka@baana-62-165-186-178.phnet.fi) joined #forth 09:02:38 --- join: onetom (~root@cab.bio.u-szeged.hu) joined #forth 09:02:38 --- join: Robert (~snofs@h126n2fls31o965.telia.com) joined #forth 09:02:38 --- join: ianni (ian@inpuj.net) joined #forth 09:02:38 --- mode: leguin.freenode.net set +o ChanServ 10:22:29 --- nick: mur -> mur_masterchef 11:01:02 --- join: a7r_ (~a7r@206.72.82.135) joined #forth 11:03:50 hi 11:04:07 szerusz onetum :) 11:04:30 * onetom is almost done w his color editor 11:04:33 hi mur 11:04:38 :) 11:04:41 so 2 say, terve 11:06:35 my father is experimenting w SOL 4 x86 :) 11:06:55 http://t3x.dyndns.org/odds_ends/SOL/index.html 11:07:54 he was searching 4 a standalone 4th running on a 386 laptop 11:27:22 --- nick: mur_masterchef -> mur 12:41:47 --- join: CrowKilr (CrowKilr@HSE-Windsor-ppp251557.sympatico.ca) joined #forth 12:42:16 hi everyone 12:43:07 hi 12:43:26 hey 13:04:40 * CrowKilr tries to change his binary string (formely bincopy) handler 13:06:14 the age old literal problem.... 13:10:02 --- join: ASau (~asau@158.250.48.196) joined #forth 13:10:18 Dobryj noczer! 13:10:52 privet aleksej! 13:11:31 Any news? 13:11:52 tram accident in helsinki 13:11:56 at least one dead 13:12:16 :))) 13:13:44 You remind me of our beloved movie "Moscow doesn't trust tears". 13:15:04 ahaa 13:15:05 :) 13:15:09 is it good or bad? :) 13:15:47 You should answer: "There is no stability in the world... It was raining in the morning. Terrorists have taken airplane..." etc 13:15:59 ;) 13:16:03 That's not bad. 13:16:16 at the time there were about 1000 people at the area 13:16:19 it was 5 pm 13:16:40 the market it collapsed has a bit status 13:16:54 it coudl be called a bit like "harrods" 13:17:09 you can buy anything, but the price is at the same quality too :) 13:18:31 I'm not interested in such accidents. 13:18:40 :) 13:18:54 It's like "stone has fallen here not there". 13:19:06 okay 13:19:07 :) 13:19:24 While stones fall everywhere. 13:19:30 WIth constant density. 13:19:42 ;) 13:19:56 when i was in army one dude shot himself 13:20:06 and downstairs (i wasn't in th ebuilding then :) 13:20:10 at 13:20:12 not and 13:21:28 Since january 7 guys have gone into windows of our hostile. 7 deathes, of course, 6th floor and upper. 13:21:47 I knew one of them. 13:21:54 :P 13:21:55 that's bad 13:22:45 LAN's phorum had long discussions on such incidents. 13:23:08 well every dead people saves earth little 13:23:15 (if no new ones born) 13:23:38 there are too many people on earth anyways 13:24:37 After 4th or 5th one such opinion has been told, of course. 13:25:05 It had become usual by that time. 13:25:51 News were told as: "O, yet another one..." 13:26:20 I'm mistaken, since Jan. 9 guys. 13:26:45 And 5th-6th. 13:27:09 Well, let's close topic. It is not interesting. 13:28:20 :) 13:28:25 what other? 13:29:19 Just to close to Forth. 13:29:38 What are you doing in it now? 13:30:07 ASau: my editor is almost done 13:30:07 Or, for it. 13:30:33 Dobryj veczer, onetom! 13:31:28 I've not yet looked at it, but I'll definatly look. 13:31:29 terve 13:31:49 jo ejt (not sleeping yet thogh:) onetom :) 13:31:55 its already much more sophisticated 13:32:04 mur: oh :) 13:32:40 i ddin't remember evening :) 13:32:47 word for "evening" :) 13:33:01 este 13:33:08 jó estét 13:33:44 May I ask to write umlauts as "ae", "oe"? 13:34:05 I can't understand as I have another encoding. 13:34:06 it's 'o and 'e :) 13:34:16 not ae and oe 13:34:20 Aha. 13:34:27 yup 13:34:31 and if you can't show ulauts in finnish, they are ignored and you use a and o etc 13:34:32 Accented one also. 13:34:55 but i dont use accented chars usually 13:35:23 onetom, you write jo8 instead? ;) 13:35:44 sure :) 13:36:09 but only 4 ppl who r good @ code switching 13:36:21 eg experienced chatters 13:36:40 ? 13:36:47 I don't like to see j-"e-backwards" staying together. 13:36:48 code switching? 13:37:08 code switch = switching between languages 13:37:20 :) 13:37:22 its a linguistic term 13:37:28 ahaa :) 13:37:46 ASau, perhaps because j and e-backwards make normal e in russian :) 13:38:05 I don't like switching at all. And here I don't know codepage you use. 13:38:16 No, that's 13:38:47 "e-oborotnoje" (Ukr/Bel) not "e" (Rus/...) 13:39:34 And neither Ukr. nor Bel. has letter "j" 13:40:39 --- join: gilbertdeb (tvmn@fl-nken-u2-c3b-152.miamfl.adelphia.net) joined #forth 13:40:46 Good evening! 13:40:47 terve gilbertdeb :) 13:40:49 hello 4th smiths. 13:40:53 terve mur :) 13:41:11 whats new in 4th? 13:41:26 We're looking for it too. 13:42:00 hahaha. 13:42:21 Maybe you have news? ;) 13:42:31 not really. 13:42:40 I just started using plan9, if thats news enough. 13:43:13 And what's you impression? 13:44:02 I have to finally learn C to read through its sources etc to understand it. 13:44:28 it is a minimalistic environment compared to linux or freebsd. 13:44:47 I sitll haven't done anything interesting enough in it, but it has my attention. 13:47:24 Hm. I thought of minimal Forth/Linux instead of GNU/Linux. 13:47:41 Linux is really big. 13:48:21 what would your Forth/linux do though? 13:48:22 Here I call "Linux" the kernel only. As it is in real. 13:48:29 oh okay. 13:49:26 have you ever looked at plan9? 13:50:21 I think that these tools can be replaced by Forth: bash, awk, sed, perl, dc/bc, cat, cut, cc and others. 13:50:35 I have no machine to run it. 13:50:57 you can run the demo. just burn the iso, it'll give you the option of either installing or running its demo. 13:51:00 I only read papers (pages). 13:51:15 ah good. the papers have some 'stuff' in there as well :) 13:52:36 Their idea of FS view is good one. 13:52:50 --- join: kc5tja (~kc5tja@ip68-8-206-137.sd.sd.cox.net) joined #forth 13:52:50 --- mode: ChanServ set +o kc5tja 13:52:58 Linux and BSD are inconsistent in it. 13:53:06 Good evening! 13:53:12 hi kc 13:53:24 re 13:53:40 how's your project coming along? 13:53:52 Which? 13:53:59 dolphin 13:54:17 ASau, I think plan9 has a potentially sane environment to play in. 13:54:21 i *think*. 13:54:38 I haven't worked on it in years. Forth has superceded it. 13:55:34 kc whats new in 4th then? 13:55:46 as in, what have you been up to regarding 4th. 13:55:59 Nothing I've made public recently, because no code has been written yet. 13:56:15 hi 13:56:16 But I've completed the initial designs of FS/Forth's new vocabulary structure. 13:56:25 kc,gil 13:56:46 cool. 13:56:49 hi onetom. 13:57:26 It should offer roughly the same compile-speeds as ColorForth, but without pre-encoding or pre-tokenizing source text. 13:58:39 Will you share ideas or code? 13:58:40 what is the "FS" part? 13:58:58 ASau: I've been sharing them since day one. The question is, are people willing to accept them? 13:59:17 :) 13:59:22 Where can I read? 13:59:26 gilbertdeb: Initials for an older company I created, called Falvo Software Solutions, which later became just Falvo software. 13:59:38 ok. 13:59:58 ive written some code in my own 5 colors bytesized colorforth, but im now rethinking the whole thing, since ambiguities arose 14:00:03 we really gotta do something about them 4th titles. 4thsmith or 4thrite ;) 14:00:17 ASau: Well, I haven't written anything up on a website yet, but I described the system several times in this channel already 14:00:21 CrowKilr: wow. what were the 5 colors? 14:00:31 Basically, each vocabulary consists of three arrays. 14:00:48 The arrays are the length array, the name array, and the CFA array. 14:01:20 red to define, green to compile call, yellow to execute, magenta for "binary citation" and white for comments 14:01:41 Each element of the length array stores the length of the word's name, plus the first three characters of the name. As you might expect, each element is 32-bits wide. 14:02:10 The length array is used to scan for potential matches. But, three significant characters in a word name isn't enough. So the name array elements contain 16 additional characters. 14:02:45 Thus, there are 19 significant characters to a word's name. 14:03:03 onetom: its quite easy to code in it, but it might be made better, since the source is loaded in ram and the bin citation duplicate information already present, thats my main grief 14:03:13 Each element of the CFA array is just a pointer to the word's definition. 14:04:31 aha 14:04:49 Hm. 14:05:15 It can be one array of records LEN-NAME-CFA 14:05:30 It can, but that is inefficient. 14:05:48 It's slower, because less significant data is packed into a cache line taht way. 14:06:27 Ah, I thought you'd rely upon this. 14:06:43 Scanning the vocabulary database would cause a lot of cache line refills. 14:06:50 * kc5tja nods -- why not? ;) 14:07:13 So, SCASD? 14:07:16 I even considered inserting PREFETCH instructions in the scan code, to let the CPU prefetch the next cache line while it was busy searching the current one. 14:07:35 Nope -- too slow (CISC instructions are very slow on x86 architectures now) 14:08:07 prefetch makes a huge difference 14:08:22 look at amd optimization guide, even intel have some data 14:08:22 kc now? 14:08:24 how is that? 14:08:27 CrowKilr: Yeah, but not all CPUs support those instructions. :( 14:08:36 I mean, in fact it's old SCASD, but coded maybe differently. 14:09:54 gilbertdeb: SCASD requires read and write access to a whole multitude of registers. But the register file is optimized for two reads, one write, per cycle. Hence, in order for SCASD to complete, it must consume multiple cycles to affect all the register reads and writes. PLUS it's dependent on memory access to boot. 14:10:46 You can achieve the same functionality as SCASD by hand-coding it in regular, simpler x86 instructions. 14:11:06 ack. 14:11:09 These instructions have the benefit of conforming to traditional RISC behaviors, which makes them much, much more adaptable for optimizing. 14:12:02 Many of the instructions used to implement SCASD are, in fact, pairable with each other, thus making more effective use of the CPU's time by completing the scan twice or three times as fast as a normal SCASD would, even assuming a SCASD could compare one memory per clock cycle. 14:12:02 :) 14:12:22 kc, How do you want to manage memory for voc.? 14:12:39 ASau: I just pre-allocate a chunk of RAM to hold the arrays. 14:13:04 I allocated the Forth dictionary space to hold 1024 entries (comes to 24KB of memory), and the Compiler vocabulary to hold 256 entries (6KB of memory). 14:14:39 Is there possibility to extend, to truncate, to set pre-allocation size manually? 14:15:09 Once the image is compiled, it is fixed. 14:17:43 You should diminish pre-alloc. size for Forth voc., 1024 is too many. There should not be so many of words. Let programmers break in word sets. 14:18:14 VLists of 1000 words! 14:18:32 I don't understand it. 14:18:53 Word sets are broken by design -- they encourage large, monolithic, everything-including-the-kitchen-sink style of programming. 14:19:16 No, you're wrong. 14:19:33 Don't believe me? Look at gforth. 14:19:40 Look at most any ANSI-compliant Forth. 14:19:55 If you switch vocabularies often, you can write everything like in natural. 14:19:58 kc isn't that the sort of thing onyx (?) tries to solve? 14:20:07 I know Gforth. They are wrong. 14:20:39 ASau: The fact is, no matter how you skin the cat, you still need the cat to skin in the first place. 14:20:49 I use tree-style vocabularies. 14:20:55 And I don't. 14:20:57 Deal with it. :) 14:21:23 When I need a tool, it is compiled right when I need it. 14:21:47 When I don't need a tool anymore, or if I switch to another tool, it is removed from the dictionary. 14:21:59 I have zero need for hierarchial, infinite vocabularies. 14:23:57 If I have one word, consider "open", for different operations, like file or window opening, I want to call it "open" and compiler should guess what I want. 14:24:04 Having implemented several Forths with hierarchial vocabularies, I can say with utter impunity that they suck. They're hard to implement, they make recycling the dictionary significantly harder to support than is necessary, and they don't offer any help in organizing code. At least, none that I've found. 14:24:20 I don' want to invent new words like "file-open" and "window-open". 14:24:22 Hence, I'm abandoning them in favor of the fixed, two-vocabulary structure (FORTH and COMPILER). 14:24:28 ASau: Then don't. 14:25:16 In fact, what you should be doing is taking extreme pride in the fact that you can redefine words at will, to mean precisely what you want them to mean, at any time. 14:25:32 kc, That's why I have nested in FORTH vocs FILE and WINDOW ;) 14:25:34 There's no reason why open can mean "open file" at one point in the program, and "open window" in another. 14:25:55 ASau: But to use those words, you still have to switch vocabularies. 14:25:58 There is CONTEXT :) 14:26:01 ASau: But to use those words, you still have to switch vocabularies. 14:26:13 At some point, some how, you're telling Forth which open to use. 14:26:21 So what difference is there? 14:26:45 Vocabularies are a red herring. 14:26:46 Yes, but I set context once and stay in it till I need another context. 14:27:01 And I don't need "context" (the variable) at all. 14:27:07 kc5tja: what is that COMPILER voc? immediate words/macros? 14:27:27 At one point in the program, open will open files. At a later point, open will open windows. At a still later point, open will open treasure chests in a game. 14:27:32 Context is implicit. 14:28:10 onetom: Yes. FORTH words are interpreted/called, and COMPILER words are executed immediately by the compiler. COMPILER words are NOT visible to the interpreter. 14:28:29 Do you provide opening files, windows and chests in mix? 14:28:40 ASau: i dont know wheather is kc right, but come on, give us a real life example where vocs r useful & unavoidable 14:28:42 ASau: No, but neither do you. 14:28:57 I do really. 14:28:58 let this example b simple 14:29:27 Show me where vocabularies are absolutely necessary, and I'll show you a way in which to do the exact same thing without them. 14:29:55 ASau: yeah! show us. im also very interested 14:30:08 kc, you can write everything in asm or hex, it is sufficient, hence forth is not needed too. 14:30:23 ASau: Stop changing the argument. 14:30:55 Last I checked, writing things in asm or hex had nothing to do with what we're currently discussing. 14:31:01 That's why I use vocabularies, I don't want complex words. 14:31:08 * kc5tja sighs 14:31:11 You're impossible to deal with. 14:31:52 I just say "FILE" and since then everything I say is said about files. 14:32:08 If I "open", "close", "do-this 14:32:13 Yeah . . . so? 14:32:16 Your point? 14:32:21 "do-that", all deals with files. 14:32:21 : open ...something about files... ; 14:32:26 : foo ... open .... close ; 14:32:32 : open ....something about windows .... ; 14:32:36 : close ....ditto.... ; 14:32:41 : bar ....open.....close.... ; 14:32:46 I mean, c'mon!!! 14:32:57 What is so frigging hard, OR COMPLEX, about that? 14:33:26 its not the problem 14:33:38 But that's what ASau is claiming the problem to be. 14:33:39 ASau would ask: 14:33:58 how would u use the 1st open & the 2nd open in 1 definition 14:34:04 U would ask: 14:34:09 He didn't ask that. 14:34:18 why should i use in 1 definition 14:34:56 asau should show a nice real life example where u should do that 14:35:02 "Do you provide opening files, windows and chests in mix?" 14:35:14 He didn't ask that, because he knows that the result would be far worse than not having file-open and window-open. 14:35:25 Here's why: 14:35:33 using wordlist is a very object oriented ... whatever.. view? 14:35:46 : foo [ FILES ] ...open... [ WINDOW ] ...open... [ CHESTS ] ...open... ; 14:35:53 So where is the advantage to vocabularies here? 14:35:55 kc: : ed ... ; ? 14:36:56 ASau: Please, if you're going to ask a question, ask it. That means nothing to me. 14:37:12 kc, You have no need to write: [ FILE ] open 14:37:22 each time you want to open file. 14:37:30 I didn't say you did. 14:40:07 That's one definition where you have to open (given) file and window. (Assuming window environment, either graphics or text). 14:40:17 No it's not. 14:40:33 Any sane programmer will factor his code into many different modules. 14:40:40 One module will be dedicated to the user interface. 14:40:43 One, to file. 14:40:55 The top-level of an editor will invoke the services of subsidiary modules. 14:41:45 So, since we know full-well that the UI-related module will know that 'open' will open a window, WHY have any need for vocabularies at all? *ALL* the UI-code will be grouped into one place in the system, and *ALL* will depend on one definition of open. 14:42:10 When it is time to start the files module, we redefine open to work with files instead. 14:42:26 Now all the file-related code is fully aware that open opens a file, not a window. 14:43:08 You get the same benefits of vocabularies without the implementation overhead of them. 14:43:25 And until you write your own Forth, you just won't appreciate the sheer volume of code that goes into making vocabularies work. 14:43:56 You just substitute: : A V1 B V2 B ; with : B B1 ; : B B2 ; : A B1 B2 ; 14:44:06 Nothing else. 14:44:36 I think your example is a little skewed. 14:44:43 I replace: : A v1 B v2 B ; 14:44:44 with: 14:45:17 Yes I did mistake. 14:45:19 : B ... ; : w1 .. B .. ; : B ... ; : w2 .. B .. ; : A w1 w2 ; 14:45:25 But you caught idea. 14:45:42 Basically correct. 14:46:19 kc5tja write an article!!! 14:46:31 Now, if you want to use vocabularies in your Forth environment, by all means, please do. I'm not arguing against using the features of your host environment. 14:46:43 ASau: roughly, but the view of the problem is totally different this way 14:46:43 If you have same level of abstraction, then you have to mix words dealing with objects different classes. 14:47:27 I've been programming for more than 18 years. I have NEVER done anything close to what you described above. 14:47:30 ASau: it relies on flux -- the constantly changing of modules in memory 14:48:05 onetom: If you have abstractions of the same level, that becomes simple formal renaming. 14:48:09 Literally: 14:48:10 ASau: and it assumes a fast compiler, 2 make it possible 2 compile modules before using them 14:48:16 : B1 B ; 14:48:21 I HIGHLY encourage you to research software engineering practices. They will *ALL* agree on this: KEEP LIKE FUNCTIONALITY LOCAL. 14:48:50 onetom: Even without a fast compiler. PygmyForth is NOT a fast compiler. It's horrifically slow. 14:49:08 But the key is to NOT pre-compile the modules you Think You'll Need(tm) into the Forth kernel. 14:49:31 For example, consider the case of a typical Forth for Windows. 14:49:48 It will quite often have the entire damn Win32 API in place as a vocabulary inside its image. 14:49:55 kc, matrices, integers, long integers, float point numbers of various precision make a production. 14:50:12 It's the same functionality. 14:50:36 ASau: What is the same functionality of what? 14:50:58 * CrowKilr is trying to understand Asau and now feel a glimpse of all the suffering kc5tja endured on this chan; he's so sorry ;p 14:51:20 ASau: they r only said 2 b the same 14:51:22 * CrowKilr using the me command at the thired person refering to himslef 14:51:28 The only operation is "*". But it applies different objects. 14:51:56 yeah, objects 14:52:18 * CrowKilr 's typing is ugly and silly, he'll return to what he's been doing 14:52:22 ASau: Wonderful. But what happens when you want to multiply two matrices together? A matrix and a vector? A matrix and a scalar? Do you have *THREE* distinct vocabularies to handle these situations? 14:52:25 but if u need OO concepts, then use a real oo env 14:52:36 And in all the equations I've ever worked with, I'm CONSTANTLY changing data types. 14:52:53 Which means all my code would be literally peppered with words to change vocabularies. 14:53:00 not fake it w such a weak hack as wordlists 14:53:13 kc, No, I will write three different words: 14:53:24 MUTIPLY-TWO-MATRICES 14:53:35 MULTIPLY-MATRIX-BY-VECTOR 14:53:41 and so on. 14:53:47 ooff!!!! I'm a fan of long, descriptive names, but those are a bit overkill for me. :) 14:54:49 If I switch temprorarily to quaternions, I want that "*" be production in q. algebra. 14:55:02 I'd just define Q* or something. 14:55:04 Not "Q*" or like. 14:55:09 But "*". 14:55:22 But the higher the dimensionality of numbers, the less sense * makes. 14:55:34 Because, I can use practically the same code for it. 14:55:55 Joy. 14:56:03 But that doesn't affect me. 14:56:04 eg.. 14:56:33 If I switch to another model, "*" should be linear operators composition. 14:56:38 And so on. 14:57:02 OK, I'll agree with this. 14:57:03 It is the same operation, with the same axioms. 14:57:04 This is not in contention. 14:57:07 Has never been in contention. 14:58:27 That easily explains why I need "open" dealing files and windows under the same name. 14:58:46 I find abstractions of the same level. 14:58:55 ASau: if u would like 2 think in a global namespace, then, yes, u need some subsetting mechanism what allows the recycling of names 14:58:58 Jesus Christ -- I fucking give up. 14:59:05 thats what java does, eg 14:59:08 lol 14:59:21 ASau: Have you read and understood anything I've written so far? 14:59:26 And sometimes I have to mix them together. 14:59:28 Besides the swear words? 14:59:37 ASau: Give me ONE EXAMPLE of where you mix them up. 14:59:38 kc, I've read. 14:59:40 Give me ONE EXAMPLE. 14:59:57 I mean, actual source. 15:00:03 ASau: a real life example 15:00:14 Because I can guarantee you, there is a 100% better way of doing things. 15:00:27 If you're opening windows AND files in the SAME WORD, it is NOT well factored at all. 15:00:40 ASau: its nice that u CAN do things like mixing various multiplications, 15:00:53 I'll bet that the definition is a lot more than 8 words long too. 15:01:00 ASau: but u WONT need it in real life 15:01:17 onetom: He's a chemist -- he DOES need the ability to mix multiplication types and such. That's the nature of his math. 15:01:51 ASau: if somehow some name clash arise, then rename one of them for that special case 15:02:22 And if I have such clashes interchanging? 15:03:06 Should I mix in one source abstractions of different levels? 15:03:22 probably yes 15:03:34 in such a case something is not factored well 15:03:44 but show us examples 15:03:47 imean, 15:03:48 That's like writing asm primitive between explanation of how to make a decision in chechmates. 15:03:57 lets try 2 make up some examples 15:04:01 take this 1 15:04:04 asm primitives rulezzzzzzzz 15:04:05 ;p 15:04:12 ASau: Nothing at all of the sort. 15:04:17 some days b4, i saw this: 15:04:22 How can you make that claim, when all you're doing is just *renaming* a word? 15:04:25 img = new image; 15:04:38 : . DOT-PRODUCT ; 15:04:43 : * CROSS-PRODUCT ; 15:04:43 etc 15:04:55 i = img.open("fingerprint.raw","w") 15:05:20 h = new fpreader 15:05:28 oops 15:05:34 r = new fpreader 15:05:40 r.open() 15:05:58 h = r.open() 15:06:15 i.write(h.sample()) 15:06:26 r.close 15:06:27 i.close 15:06:50 how would i define such a routine in 4th 15:06:58 kc5tja: your turn 15:08:07 The above code is good code for something like Java or Python, because that's how the language is intended to be used (quasi-functional). 15:08:09 (it was a python-like example. i dont know how would it look like correctly) 15:08:27 What is the name of the program? 15:08:39 kc5tja: sure, but how would u map this problem 2 4th domain? 15:08:42 --- quit: gilbertdeb (Read error: 110 (Connection timed out)) 15:08:49 onetom: What is the name of the program? 15:08:59 I'll pick a name. 15:09:00 Consider, "A" 15:09:03 kc5tja: it was a simple hack over a fingerprintreaders api 15:09:12 its not a public stuff 15:09:31 : acquire sample fingerprint output ; ( top level word ) 15:10:03 : sample S" fingerprint.raw" open ; 15:10:13 : open w/o file-open throw ; 15:10:24 oops. 15:10:32 Just a sec. I can't do this in IRC -- need text editor. 15:11:00 hahh! whats wrong w a line editor?! ;) 15:12:09 A line editor with no history. 15:12:53 oh, comeon, xchat has no history?! 15:13:12 irssi has ;p 15:13:39 anyway, write that sample code! ;) 15:13:40 : done? detect-when-done ; 15:13:40 : write datum ! dup datum 4 file-write throw drop ; 15:13:40 : read somehow-read-from-sample-device ; 15:13:40 : output begin over read write done? until ; 15:13:40 : open w/o file-open throw ; ( assumes ANSI Forth ) 15:13:40 : fingerprint S" fingerprint.raw" open ; 15:13:43 : sample fpreader-somehow-open ; 15:13:44 : acquire sample fingerprint output ; 15:14:11 onetom: Once you hit ENTER, the the line is broadcasted to the IRC server. I can't go back and re-edit what I'd already transmitted to hundreds of thousands of people. 15:15:16 sure sure, but repeating the last line corrected make them ignore the pervious one 15:15:26 I can't provide a more complete code example because I do not know the details of how your specific device works. 15:15:38 well... 15:15:51 1, u renamed the words 15:16:00 2, u changed the order of the operations 15:16:08 let me repeat the problem 15:16:13 1, open a file 15:16:21 2, open a fingerprint reader 15:16:38 2, aquire an image into the memory from the reader 15:16:48 ^3, 15:16:59 4, save the image 15:17:07 You asked how I would code it in Forth. I gave you the answer. If it's not to your liking, I do apologize, but I stand by my example. 15:17:16 5, close the reader communication channel 15:17:22 6, close the file 15:17:36 Oops, I did forget to close the files and devices. That'd go in a word like "close" or something. 15:17:54 Even so, I stand by my example. 15:18:00 sure, but u also misinterpretted the orig example, 15:18:04 No I didn't. 15:18:13 Read the code -- it does *exactly* what your example does. 15:18:23 The only difference: 15:18:23 beside that u havend considered already written modules 15:18:35 is that it reads the data one word at a time, not the whole image at a time. 15:18:36 defining the words open & close 15:18:55 onetom: And I suppose YOU don't rely on pre-existing functionality of whatever language you wrote it in? 15:19:08 its a fucking huge difference, but anyway, its not the main problem 15:19:20 No, it's not a huge difference. 15:19:35 "it is" -- monty python ;) 15:19:40 Whatever. 15:19:48 let me rephrase your task 15:19:57 u have module FILE 15:20:17 u have module FP (finger print 4 short) 15:20:38 both have words open & close defined in them 15:21:16 how would u define the routine above in 1 word? 15:21:26 Not possible. 15:21:44 but the need is real, isnt it? 15:21:49 So you _have_ to write 3 words. 15:21:56 I argue that it isn't. 15:21:59 ASau: Yes. 15:22:01 But this is one-word task. 15:22:06 That's what I've been arguing all along. 15:22:12 no, it isn't. 15:22:16 It's doing many different things. 15:22:20 First, it's filling a buffer. 15:22:22 ??? 15:22:24 Second, it's writing a buffer. 15:22:33 These are two distinct tasks. 15:22:43 : acquire input output ; 15:22:48 Consider one word, "close" 15:22:49 Now define input and output as you see fit. 15:23:09 You have to close two devices: file and f-p 15:23:10 OK whatever. 15:23:14 You are right, I'm wrong. 15:24:21 I'll just go through and re-engineer everything in FS/Forth to support hierarchial vocabularies, a feature I expect to use very, very, very, very, very, very rarely, all because of **ONE** **ONE** **ONE** fucking specific example of a programmer's continued INSISTANCE that there is *ONE* only way to write this **ONE** function. 15:24:27 Bull SHIT. 15:24:37 This is what I'm talking about when I talk about people not having open minds. 15:25:01 THis is what I'm talking about when I talk about people NOT knowing what the hell "well factored code" means. 15:25:04 I'm through. 15:25:07 Goodbye. 15:25:12 hey 15:25:12 --- part: kc5tja left #forth 15:25:16 dont escape! 15:26:20 hahaha this was so childish and useless discussion 15:26:28 vocs sucks hard, like libraries 15:26:55 Sure? 15:27:03 absolutely sure 15:27:31 reusing code? copy from existing block YOU wrote and that YOU understand 15:27:37 You possibly don't work with different objects. 15:27:54 --- quit: a7r_ (Read error: 110 (Connection timed out)) 15:27:58 Bug found! 15:28:10 FIX IT IN ALL YOUR COPIES!!! 15:28:30 So you say this is good way to live? 15:28:46 ?! and im the guy saying non sense lol 15:29:12 I better write "114 LOAD" everywhere I use it. 15:29:42 Or even better: "This-word-set LOAD" 15:29:51 im not talking about load im talking about rewriting the whole thing from scratch 15:30:10 the difference is subtle 15:30:14 but its there 15:30:44 Than what do you means under "vocs sucks hard, like libraries"? 15:31:43 anyway I'll cut the crap: every ansi-inspired forth sucks. For my work, I looked at chuck's colorforth, wich is the future that you people are afraid to use and to experiment with 15:31:58 if you do, well i want to hear from you 15:32:17 even jc5tja started a while ago to play with it on x, only superficially 15:32:28 kc5tja* 15:32:51 OK, I don't distinguish colors at all. 15:33:00 LOL 15:33:00 How should I go? 15:33:13 UNDERLINE BOLD VERTICAL OFFSET FOR CHIRST SAKE 15:33:16 I can read books easily. 15:33:24 --- join: kc5tja (~kc5tja@ip68-8-206-137.sd.sd.cox.net) joined #forth 15:33:24 --- mode: ChanServ set +o kc5tja 15:33:34 [18:31] anyway I'll cut the crap: every ansi-inspired forth sucks. For my work, I looked at chuck's colorforth, wich is the future that you people are afraid to use and to experiment with 15:33:34 [18:31] if you do, well i want to hear from you 15:33:34 [18:31] even jc5tja started a while ago to play with it on x, only superficially 15:33:34 [18:32] kc5tja* 15:33:34 [18:32] OK, I don't distinguish colors at all. 15:33:36 [18:32] LOL 15:33:38 [18:32] How should I go? 15:33:40 [18:32] UNDERLINE BOLD VERTICAL OFFSET FOR CHIRST SAKE 15:33:43 im starting to lose my nerves too lol ;p 15:33:48 --- join: rO| (~rO|@pD9EE1073.dip.t-dialin.net) joined #forth 15:33:56 look at the computing fat removed from using tokens 15:34:22 How nervous you all are! 15:34:48 hello ASau 15:35:01 Good morning! 15:35:24 Hi 15:35:39 howdy Robert 15:35:46 forth should be learned from the ground up in a tokenized environment 15:36:08 just to show how parsing ascii files was NEVER necessary to implement forth 15:36:17 and how everyone is off the track 15:36:17 Forth can be learned from the ground up in a non-tokenized environment too. 15:36:33 yeah the abstract concepts, but i never played with ansi forth 15:36:43 Just don't think of parser. 15:36:53 CrowKilr: Don't go so far off-kilter; there's an important historical reason for pure-ASCII Forth source, and that is, it actually *is* a simpler Forth than a tokenized system. 15:37:06 I don't use ANS too. 15:37:11 When you're dealing with a mainframe with a whopping 16K of RAM, maybe, that's important. 15:37:52 But, for your tokenized env. you need editor. 15:37:58 I need no editor. 15:38:03 It's simpler. 15:38:07 search time was used for nothing on all those high end 70s mainframe when tehy could just do it a edit time 15:38:26 asau: finally sensible statement 15:38:26 ;p 15:39:08 im writing my source in a paper workbook, and i use nasm to generate listing output of my primitives 15:39:20 i could use color pencils, but they dont erase 15:39:44 so i use squares for defs, " "for binary strings, trinagles for jumps and nothing for call 15:40:32 i dont want to program an editor so soon, but i need to generate source to see if my system's working 15:41:33 i can do the token encoding by hand, and by the process enhance my bin-hex conversions abilities, only need to learn binary equivalents from 0 to f 15:41:51 just a small table one can write in the corner of the sheet 15:42:08 C-K: Take a postForth, compile ITC as 15:42:19 ITC? 15:42:21 ' + , 15:42:25 postForth? 15:42:55 anyway, dont need an editor, one need an assembler and good docs 15:43:08 3-ins. Forth? 15:43:50 you need only !+ and execute instructions actually, jeff talked about it when he came a while then 15:44:01 You're real die-hard coder. 15:44:14 nope 15:44:16 I need only S and K combinators for all. 15:44:24 im just a fucking beginner 15:44:25 That doesn't say anything. 15:44:46 and that urges me so much everyone start playing with the same things I do 15:44:48 So you're just playing. 15:45:36 hmmm yes and no, its actually a school project 15:45:36 I want to solve real problems. So I need things you can leave aside. 15:46:08 its like IPv6 15:46:18 "i'll use it when its everywhereÈ 15:46:21 E.g. I don't want to load and forget code. 15:46:30 nobody use it, so its nowhere so it stays stuck 15:46:44 Or rename words in order not to interfere another ones. 15:46:55 you need to believe in something to invest yourself in it 15:47:00 your talking about non problems 15:47:06 --- quit: mur ("MURRR!") 15:47:15 you create those problems after having a working system 15:47:27 Read Jeff more critically. 15:47:57 its been a long time since i went to ultratechnology or even colorforth website 15:48:07 all my research has been done 15:48:18 in fact im pretty sure not much have moved there 15:48:38 You're not critical enough. 15:48:47 LOL 15:49:18 I crictize ALL of the people here for not having something novel to show others, something interesting 15:49:24 Well. You think you're critical, aren't you? 15:49:33 im critical of ANSI, im critical of all the crap out there 15:49:46 if all the trees cut to write some stupid books about computers 15:49:53 talking about all that computer fat 15:49:59 --- join: mur (murr@baana-62-165-189-64.phnet.fi) joined #forth 15:50:04 Are you critical of ColorForth? 15:50:08 asau: stop your damn personal attack 15:50:18 it got limitations, its not perfect 15:50:22 but its the future 15:50:35 clearly and simply its where your energies should lie 15:50:50 If it's born later it doesn't mean it's future. 15:50:58 do you know about ?dup? 15:51:02 "?dup? 15:51:06 " 15:51:19 qdup is implemented in colorforth, tahts the future 15:51:30 and its understandable, just look at the colorful code 15:51:38 Describe ?dup? 15:51:52 ASau: your problem is really a - roughly - nonproblem, but dont ask me why 15:52:06 OK im gonna tell you abou the future, or what should have been made standrad EONS ago 15:52:13 ASau: just try 2 use your vocabularies 15:52:28 when you compile primitives in a forth system 15:52:36 let say push and pop 15:52:36 ASau: write a lot of code & u should understand it by your own 15:53:04 CrowKilr: writing an editor is also a nonproblem? 15:53:04 : push DUP "push opcode" ; 15:53:20 onetom: nope its essential 15:53:29 its the main problem having a confortable environement 15:53:37 anyway Asau 15:53:43 look at the colorforth website 15:53:53 it explains ?dup 15:54:03 CrowKilr: u have already written an editor, dont u? 15:54:06 its simple: 15:54:11 Ha! Having no editor is not a real problem! You've mistaken, CrowKilr. 15:54:17 you use it in your macro definition when you need dup 15:54:43 it detects if the previous definition ends with a drop, if so it cancel each others 15:54:58 asau: ??!!! 15:55:19 You can easily live without an editor. 15:55:27 in a tokenized environement its MANDATORY to have the suitable editor, you cant use overthecounter ASCII editing piece of bloat 15:55:32 C.M. has shown it. 15:55:49 i told you that you CAN program without it too 15:56:09 youre the one syaing : hmmmm i cant program using tokens I need an editor!" 15:57:04 onetom: I've not understood your point. 15:57:26 i never written an actual usefull program for your information 15:57:38 ASau: hehe, my point is 2 involve crow in2 my coloreditor project ;) 15:57:47 Youre gonna tell me im a whimp, a non-programmer etc 15:58:00 hmmm 15:58:01 You think it's hard to write my style? 15:58:09 ASau: regarding your vocabulary nonproblem, nevemind, ignore it 15:58:15 your coloreditor for what?? 15:58:37 onetom: What's your point anyway? 15:58:40 CrowKilr: flux 15:59:11 ASau: it doesnt count at the moment, im 2 tired 2 explain. 15:59:18 asau: I DONT CARE ABOUT YOUR STYLE is that a good enough answer? ;p 15:59:30 onetom: Do you advise me not to use vocs? 15:59:33 flux by S. Pringle? 15:59:49 ASau: but take my advice: code - rethink - code - rethink 15:59:49 C-K: that was to onetom. 15:59:52 asau: JUST TRY SOMETHING youll see 16:00:01 ASau: try avoiding them 16:00:11 ASau: 1st solve the problem using them 16:00:36 onetom: I really want to participate in a collective project 16:00:50 ASau: than later - after using them in real problems - rewrite those real problem solvers 16:01:08 ASau: w/o defining the nonused words of your vocs 16:01:21 CrowKilr: yes, that flu 16:01:58 CrowKilr: the point was: create a color editor usable through a terminal connection 16:02:18 terminal like in networked? 16:02:28 CrowKilr: so 1 can write color TEXT - not only 4th source - even in "screen" 16:02:41 screen is a tty multiplexer 4 linux 16:02:52 yes, eg through ssh 16:02:56 onetom: I'm afraid after I write problem solver the problem will go away and become not mine. 16:03:01 even on linux console 16:03:22 * CrowKilr was thinking a moment ago to write a javascrit function to display in color his code 16:03:27 but not the network transparency was the main need, but the 16:03:37 large disk behind ;) 16:03:49 onetom: That's like scripting, you've written script in cmd.line, run it and forgotten it. 16:04:13 CrowKilr: wanna see the current state? 16:04:23 ok 16:04:28 send it 16:04:32 do u have linux? 16:04:41 ...... 16:04:58 * onetom fires up his laptop 2 fetch the latest working version 16:05:14 i know nothing about linux programming 16:05:38 and i dont want to program software for linux-only 16:05:54 i want to program for a pc 16:05:56 Consider you have only EMIT KEY and ?KEY 16:06:22 Load ANSY.SYS 16:06:30 It's VT52 16:07:15 ANSI.SYS 16:07:40 ;) 16:07:45 CrowKilr: if u use terminal escapes u program for any platform, not only 4 linux 16:08:00 but its not the point @ the moment 16:09:05 As usual, you have problems with strings, lines, windows etc. ;) 16:10:18 Fetures I want in an editor: colorful text, word-sized editor, support for arrows, del, enter (jump), shift is optional 16:10:24 features*: 16:13:18 word-sized editor? u mean u can edit only 1 word at a time? 16:13:27 flux is not tokenized... :/ 16:13:34 the cursor is word sized 16:13:54 dont care about the actual letters since they only exist in definitions 16:14:25 in my system, editing the def change in real time the name of every word referencing it 16:14:44 each call or jump is one byte, an offset nto the Index 16:14:48 the display routine 16:14:56 nah 16:15:03 have a look @ it! 16:15:08 just scan through tokens but instead of compiling it displays: i already written it 16:22:28 --- join: embiopterae (~embiopter@vdsl-130-13-90-50.phnx.uswest.net) joined #forth 16:22:57 So what are you guys using forth in linux for? 16:23:39 At present, I'm still writing my Forth environment. 16:23:57 But it will eventually be used to auto-generate content for my company's website, auto-upload it to the server, etc. 16:24:10 Im writing a native environement 16:24:15 It'll also be used for AX.25 networking (ham radio) as well as controlling my ham radio. 16:24:16 http://cab.bio.u-szeged.hu/ced/ced-0.2.tar.gz 16:24:39 onetom: im d/l it. 16:24:51 I also intend on using it to author an e-mail client that suits my needs. 16:24:58 CrowKilr: plz get putty too! 16:25:05 And some miscellanious business management tools. 16:25:20 aaaaaaaaa gforth i cant read that sorry 16:25:22 ;p 16:25:27 onetom: did you make that? 16:25:55 CrowKilr: btw, 0.2.tar.gz also hase some previous versions of the code, so u can also inspect the evolution of the code ;) 16:26:01 embiopterae: yes 16:26:06 why? 16:27:26 onetom: just curios. Uhh, what is it? 16:28:02 im looking at javascript to render my tokenized format in color for the whole world to see ;p 16:28:09 embiopterae: a colortext editor 16:28:25 hence the name ColorEDitor 16:28:59 CrowKilr: that would b fun 16:29:17 CrowKilr: do u have any code yet? 16:30:10 Does forth in linux have all the benefits it is known to have when supported natively, like for example speed and efficiency comparable to an assembler program? Is it still good for hardware hacking? 16:31:43 embiopterae: Not quite, Yes, and No, in that order. 16:32:06 embiopterae: no, it doesnt really have all those benefits, speed is comparable 2 C, & well.. 16:32:27 Speed: C is faster on modern CPU architectures, because compilers and CPUs are co-designed to support each other. Forth is a fundamentally different computing platform that generally doesn't take advantage of the CPU's modern superscalar architecture, so Forth apps can be up to 2x slower than C, depending on the software. 16:32:42 embiopterae: hw hacking... linux is not really 4 hw hacking, but as root u can do that 16:32:50 Efficiency: Yes, definitely. Forth is still just as adept at handling small, compact programs as it has always been. 16:33:47 Hardware: No -- Linux forbids direct hardware hacking, UNLESS, (1) you're root, and (2) you call io_perm() to get exclusive rights to hack on I/O ports. No Linux Forth I'm aware of goes through this kind of beauracracy, especially since it'd be catastrophic for the well-behaved multitasking environment. 16:33:48 embiopterae: but u have 2 hack the sources, tho its very easy 16:34:31 embiopterae: just as kc says, just hack ioperm & inb()/outb() into it 16:34:37 * CrowKilr is writing javascript 1.0 compatible editor from now on 16:35:12 kc5tja: oops, u were a lilbit inaccurate 16:35:16 embiopterae: But, this doesn't make Forth any less useful as a development language. It's still monsterously fast compared to Python and Perl. :-) 16:35:35 kc5tja: the problem is mainly not w the multitasking nature, but the multiuserness 16:35:41 --- join: gilbertdeb (~gilbertde@fl-nken-u2-c3b-152.miamfl.adelphia.net) joined #forth 16:36:06 onetom: Not true -- it's multitasking. AmigaOS, for example, is a single-user, but multitasking, operating system. You were expressly asked to NOT fiddle with the hardware. 16:36:18 kc5tja: anyway, i have pathces 4 gforth under linux 2 have ioperm, pc@ & pc! 16:36:29 Imagine if one task is touching the floppy controller's registers while another task is doing the same. Even though both tasks might belong to the same user, the result is total chaos. 16:36:50 beside, ive written pc@/pc! in forth-asm for cygwin-gforth 16:37:09 * kc5tja has given up on gforth for any DOS/Windows-based environment. It has never, ever worked for me. 16:37:18 Forth was the first language I learned, though I didn't ever use it fully. I was impressed with what it was capable of accomplishing on the apple2e I had at the time-real-time three-d wireframe graphics for example. (i didnt write that 16:37:18 Not fully, at least. 16:37:39 kc5tja: i had no problem w it ever. i dont know what r u talkin about 16:37:43 embiopterae: *nod* 16:37:51 embiopterae what led you to learn it first? 16:38:18 onetom: It'd run, but it would choke occasionally. And, Serg_Penguin has difficulty getting it to display ANSI codes properly. It actually *crashes* on him when he tries to use any program with AT-XY in it. 16:39:04 onetom: For example, the SYSTEM word to execute shell commands would not work under the NT version of gforth I had. 16:39:06 kc5tja: hm.. interesting. i use at-xy in my color editor & ive experienced no problems w it 16:39:18 I don't really know what this stuff about ioperm was, though I'm about to look it up. I was just repeating what I had read were the benefits, and I thought its eficiency had something to do with that(in the apple2e). 16:39:20 kc5tja: tho ive tested it on debian linuces 16:39:36 gilbertdeb: seeing those graphics 16:39:46 embiopterae: Much of Forth's efficiency comes from exposing the computer to the programmer. 16:39:48 kc5tja: but i dont even expect it 2 b able 2 run in other environments 16:40:03 ack. 16:40:06 embiopterae: By doing so, the computer's full capabilities can be unleashed. 16:40:06 gilbertdeb: on an apple 2e with 64k, no hard drive, etc 16:40:34 embiopterae: Modern operating systems work hard to hide capabilities from the user, thinking that the user is either not good enough or not able to think for himself. 16:40:37 kc5tja: aaaha! theres the problem, NT. of course it doesnt allow port massage 16:41:05 * embiopterae *drool wha? 16:41:08 kc but most users really don't care whats going on beneath the hood. 16:41:10 onetom: ???? What does AT-XY have to do with I/O ports? 16:41:35 (cuz I'm a usr, you know. Its a joke) 16:41:35 kc5tja: nothing. who said it? 16:41:43 onetom: You did. 16:41:51 which is why the commoditizatoin efforts are so succsesful. 16:42:05 "no, im not" -- argument sketch again ;) 16:42:10 onetom: I said that the NT version of gforth choked for me because SYSTEM didn't work, and it chokes for Serg because AT-XY crashes his system. 16:42:40 at-xy under windows? 16:42:42 onetom: Then you come back with, "aaaha! theres the problem, NT. of course it doesnt allow port massage." 16:42:46 Have you guys seen that forth chip stuff? How do you see linux relating to that?(if you havent I'll go get the url real quick have to lookitup tho) 16:42:57 onetom: at-xy ( x y -- ) Move cursor to column x, row y. 16:43:07 embiopterae: It doesn't. 16:43:10 kc5tja: aham.. im a lil bit tired 16:43:21 kc5tja: hey, not dumb, just tired 16:43:31 forth chips are light years ahead of the bloat you call linux ;o) 16:43:56 I don't see a viable market for Forth chips, and here's why -- they're commodity parts before they're ever released. 16:44:12 ya, seems like one could use these kinds of things to make cool peripherals and don nifty robotics and stuff. How are they on prices? 16:44:13 The reason is simple: the architectures of the CPU are *so* simple, that anyone with any clue in digital electronics can actually build their own. 16:44:32 embiopterae: yeah, not expect a linux like OS (=bloat) over a 4th chip... 16:45:03 embiopterae: Expensive. They're very low volume devices. The last time I checked, the F21 (in quantities of ONE), cost $250 from Jeff. 16:45:25 awe 16:45:48 Still, $250 for ONE in a single chip fab run is pretty cheap. But still, that's $245 I could spend elsewhere. :D 16:45:56 Otherwise, I'm all for them. 16:46:06 I love the concept, and I continue to insist that Intel and Motorola just got it all wrong. 16:46:20 Ya, someday when I am more technicaly advanced I will experiment with those things 16:46:54 The closest chip I know to a real Forth chip is the 6502 and 65816 microprocessors. They're not Forth chips, but they're nice to work with, they're hacker friendly, and don't have any language-specific optimizations, which means Forth is as fast as C on those chips (faster, actually). 16:47:18 kc whats the z80 affiliated with again? 16:47:19 And they're dirt cheap. 16:47:23 the 8086? 16:47:30 Affiliated?? 16:47:40 akin 16:47:42 related to. 16:47:43 etc. 16:47:52 Z-80s are cheap and easy to use, but harder to program for. And clock for clock, they're slower than the 6502/65816. 16:47:59 Z-80 is an enhanced Intel 8080. 16:48:05 The 8086 is, well, the 8086. 16:48:27 so the instruction sets are similar right? 16:48:29 It's the first processor in the x86 series of CPUs. 16:48:37 Similar but not precisely the same. 16:48:46 The 8086 really is a much better processor than the 8080 or the Z-80. 16:48:57 But it's still not as fast as a 6502. :) 16:49:20 A 4MHz 6502 (8-bit CPU!) defeated a 5MHz 8086 (16-bit CPU!) at the Sieve. 16:49:53 Not only did it have a narrower bus width, it was running with a 20% slower clock speed to boot. 16:50:03 (and had 1/16th the addressible memory space) 16:50:05 hmmm. but 6502's are to be found in apple ]['s right? 16:50:13 gilbertdeb: Among other computers, yes. 16:50:22 The IIgs had the 65816 chip in it. 16:50:26 I saw an apple ][ gs for sale. 16:50:27 * kc5tja *loves* the 65816. 16:50:29 10 bucks. 16:50:33 maybe I should have bought it. 16:50:42 it looked clean and things. 16:50:52 but I wondered how I was gonna get to the asm. 16:50:58 * kc5tja nods 16:51:11 Apple's ROMs all have debuggers with assemblers built into them. 16:51:21 hmmm. 16:51:38 what chips did those old ataris run on? 16:51:40 But programming with those debuggers would be like coding the original OK -- you use the debugger to write a simple GUI-like environment, then use that to boot-strap a larger environment. 16:51:44 6502s as well. 16:51:47 As did the Commodores. 16:51:58 6502 literally *dominated* the 8-bit computer market. 16:52:00 also rom based debuggers and asm? 16:52:09 I don't know -- never used the Atari computers. 16:52:09 Heh. Don't you love when you spend hours debugging something - just to find that there is no error, and then when you try again (hoping for a miracle), it works! 16:52:14 Just happend here. :) 16:52:29 hi robert. 16:52:30 Robert: No, I don't, and it usually means an elusive bug somewhere else in the system. 16:53:41 embiopterae: I prefer to use Forth under Linux because it offers a superior user experience than any other language I've used. 16:53:47 gilbertdeb: Hi :) 16:54:06 kc5tja: Really? I thought it was God who helped me :( 16:54:07 embiopterae: That is my overriding concern at the moment. Speed and efficiency of the generated code just fall out of the software's design. 16:54:27 tsk tsk tsk robert. don't you know we invented god in order to claim he invented us? 16:54:45 he is as imaginary as Hobbes for calvin :) 16:55:13 Robert: If it's one thing I've learned in church school: God Hates You. He will actively go out of his way to screw you over. It's all part of the "test" you need to pass to get into Heaven. When growing up, I was *constantly* sick. At least three times a week, I'd spend my late evenings vomiting. Where was God then? 16:56:31 in the toilet ;) 16:56:36 Heh 16:56:40 kc5tja prolly reading onion.com or laughing his butt off. 16:56:40 Something like that. 16:57:00 he was the smell what made u vomit, 16:57:04 kc5tja: Feeling better now? 16:57:19 thus curing u from your disease ;) 16:57:21 I think he was laughing his butt off, personally. I still have that damn affliction, although today they finally gave it a name: "Irritable Bowel Syndrome," and they still can't determine what type of IBS it is. 16:57:36 its just a matter of viewpoint 16:57:50 Robert: Let's just say that I don't vomit nearly as often as I used to. I managed to reduce it to about three times a year instead of three times a week. 16:58:40 btw, my gf invented a saying 2 express 'vomiting in2 the toilet' politically correct: 16:58:48 kc5tja: Great :) 16:58:52 prayin 2 the porcelan-god 16:59:00 Heh 16:59:06 Anyway, this is wildly off-topic. 16:59:13 abs 16:59:26 thats why its refreshing 16:59:45 beside its fun 2 say stupid things sometimes : 16:59:45 ) 16:59:58 kc5tja: what 4th do u use under linux? 17:04:32 --- join: root (~root@cab.bio.u-szeged.hu) joined #forth 17:04:55 --- part: onetom left #forth 17:04:58 :) 17:05:32 --- nick: root -> onetom_ 17:07:10 --- nick: onetom_ -> onetom 17:07:17 :) 17:07:20 root :) 17:07:57 pssst! ;p 17:08:06 im undercover 17:08:59 anyway, good night 17:09:08 and plz evaluate my coloreditor 17:09:19 id b happy 2 hear critics 17:09:55 id b happy 2 see cleanups, naming suggestions, further features, like delete&backspace ;) 17:10:13 id b happy 2 receive bugfix patches 17:10:14 etc 17:15:59 onetom: I currently use gforth. 17:17:04 Night onetom 17:21:23 gn Robert! 17:25:47 * kc5tja just downloaded ced -- it doesn't seem to work well under xterm. 17:25:53 * kc5tja tests on a text-mode console. 17:27:58 Nope. Doesn't work there either. 17:28:08 I'll have to play with it a bit later. Right now, I have to get to aikido. 17:28:53 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 17:40:43 i was thinking of using the clipboard to get data to my javascript, but its only supported in higher versions of netscape/ie 17:41:04 ill try to come up with a form interface 17:48:27 --- quit: mur ("esiere!") 17:49:46 bah form sucks why use buttons when simple links will do the trick 18:04:55 hmmm in netscape javascript can write files on the hd if the user agree 18:09:05 --- quit: ChanServ (leguin.freenode.net irc.freenode.net) 18:11:49 --- quit: CrowKilr ("see ya") 18:12:10 --- join: ChanServ (ChanServ@services.) joined #forth 18:12:10 --- mode: leguin.freenode.net set +o ChanServ 18:38:00 --- join: TheBlueWizard (TheBlueWiz@pc26dn08.ppp.fcc.net) joined #forth 18:38:00 --- mode: ChanServ set +o TheBlueWizard 18:38:14 hiya all...will be brief 18:42:06 gotta go...bye all 18:42:09 --- part: TheBlueWizard left #forth 18:50:03 wow, bluewizard was really a little too brief 18:56:02 hehe 19:00:38 --- quit: gilbertdeb ("ChatZilla 0.8.31 [Mozilla rv:1.4/20030624]") 19:01:14 --- join: CrowKilr (CrowKilr@HSE-Windsor-ppp251557.sympatico.ca) joined #forth 19:01:25 hi i got some javascript running 19:02:24 http://64.230.132.148 19:02:28 look at the source 19:03:03 its made from various components, like mark slicker's css style sheet 19:03:24 and keyboard code 19:03:31 made fro ie/netscape 19:03:35 for* 19:05:05 i miss a favicon.ico and some token code 19:06:22 CrowKilr: what is it supposed to do? 19:09:04 re 19:09:06 display my tokenized source code 19:10:20 Well, nothing pops up in the galeon web browser. I know you meant it for netscape though. 19:10:32 sorry i just edited the site 19:10:35 its back up 19:11:25 CrowKilr: hey, what scr can i display w it? 19:12:11 now nothing 19:12:25 sad :) 19:12:26 but all the framework is there to build an editor with javascript 19:12:57 & how will u handle keyboard input? 19:13:03 look in the source 19:13:13 i can handle on click color change for call/jump 19:13:30 ah, there it is 19:13:31 will be great and user customizable =) 19:14:43 its funny 2 see a hardcore colorforther developing a java!script!! editor :))) 19:15:59 everyone can write code for it: popup a tab for the hexdump of code etc lot of features available 19:16:59 java.io doc for file r/w is available 19:17:32 hmmm wonder if raw disk sectors could be edited?!!!! 19:18:11 hmm easy, given dd, i even have it on winxp 19:18:26 build a shell/.bat file and thats it 19:18:44 maybe netscape is more powerful than that: direct execution of compiled code 19:18:58 with the correct privileges of course ;p 19:19:33 to try kb handling 19:19:59 just give focus to the page by clicking anywhere and then press keys; watch your status bar for pleasant surprise 19:21:48 its so exciting =) 19:22:45 soon you guys will abandon your editor projects to edit source in my tokenizing scheme ;o) 19:23:04 I'll write a clear tutorial for it 19:23:28 and a needed module would be a dissassembler for macros 19:24:25 or maybe just a quick reference for most commonly used instructions 19:24:37 like lea and mov 19:24:53 those are the most used, along with jcc and cmp 19:28:21 :) sure sure of coz 19:29:12 its a fully skinnable editor also 19:29:14 ;p 19:29:17 :) 19:32:56 aside from file i/o, should work also in opera since it uses javascript, xhtml and css 19:34:45 http://developer.netscape.com/viewsource/husted_mailto/mailto.html 19:34:57 it could be used instead, maybe with a base64 encoder 19:39:25 good luck & night 19:39:28 c u 2morrow 19:40:06 bye! 19:40:30 --- quit: CrowKilr ("I Hope this client-side javascript editor project will work!") 20:55:31 javascript code editing? huh? :P 21:11:07 --- join: a7r (~a7r@ip68-6-70-95.sb.sd.cox.net) joined #forth 21:14:17 oi 21:24:06 --- quit: ASau ("Toffee IRC client for DOS v1.0/b535") 22:09:53 --- join: Serg_Penguin (Serg_Pengu@212.34.52.140) joined #forth 22:14:40 hi, if anyone online ;) 22:16:29 hey bud 22:18:53 new here ? 22:38:48 --- quit: Serg_Penguin () 22:40:33 oops. bye all. 22:40:35 --- part: embiopterae left #forth 22:59:10 BONjour! 22:59:26 howdy serg 22:59:40 how's life? 23:05:19 --- join: Serg_Penguin (Serg_Pengu@212.34.52.140) joined #forth 23:09:41 --- quit: Serg_Penguin (Client Quit) 23:59:59 --- log: ended forth/03.07.21