00:00:00 --- log: started forth/04.05.26 00:03:52 hi thin 00:16:32 goodnight everyone! 00:16:38 --- quit: crc ("ChatZilla 0.9.61 [Mozilla rv:1.7b/20040316]") 00:31:49 --- quit: Herkamire ("past my bedtime") 01:50:17 --- join: Serg (~z@212.34.52.140) joined #forth 01:58:50 --- quit: Robert (Remote closed the connection) 02:00:26 --- join: Robert (~snofs@c-bf5a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 04:53:32 --- join: qFox (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 04:53:32 --- quit: Serg (Read error: 54 (Connection reset by peer)) 05:32:19 --- join: Serg (~z@212.34.52.140) joined #forth 05:47:59 --- quit: Serg () 05:49:56 --- quit: I440r ("Leaving") 06:09:00 --- join: madwork_ (~madgarden@derby.metrics.com) joined #forth 06:48:17 hmm, another project that uses darcs 06:57:44 --- quit: warpzero (Read error: 60 (Operation timed out)) 07:05:08 --- quit: arke (Read error: 104 (Connection reset by peer)) 07:05:17 --- join: arke_ (~Chris@wbar8.lax1-4-11-100-108.dsl-verizon.net) joined #forth 07:08:12 --- join: warpzero (~warpzero@199.104.115.142) joined #forth 07:32:55 --- quit: arke_ (Read error: 110 (Connection timed out)) 07:34:39 --- quit: warpzero (Read error: 60 (Operation timed out)) 07:43:06 --- join: arke (~Chris@wbar8.lax1-4-11-100-108.dsl-verizon.net) joined #forth 07:47:37 --- join: warpzero (~warpzero@dsl.142.mt.onewest.net) joined #forth 09:07:04 --- join: ASau (~asau@158.250.48.204) joined #forth 09:07:16 Guten Abend! 09:09:19 Privet, ASau. 09:17:38 7w 5 09:17:44 ? 09:18:28 secret talk! 09:18:37 1 09:36:49 given the channel's high number of INTPs, there's no need to greet each other at all. just launch straight into discussion 09:37:13 if you greet, if you say "hi " then that means you have nothing to say 09:37:20 and if you have nothing to say, why are you here? 09:37:53 To mark you're not absent. 09:38:07 To state... 09:38:27 assume no one is absent 09:38:39 or just start talking right away 09:39:55 IRC is not USENET. 09:41:55 If it is not real-time, than what is its use? 09:43:54 killing the time 09:49:08 And one another thing. 09:49:56 "High number" does not mean that everyone here is INTP. 09:51:58 i know, but this channel is all about personalitism! 09:52:13 lalal 09:53:05 INTP? 09:53:17 introvert somethign someething something? 09:53:30 some personality test result? 09:54:28 i recall i was INTJ but might be wrong too 09:56:14 http://209.15.29.56/myersbriggs/personhome.htm 09:56:15 whee 09:56:16 Hi futhin 09:56:24 only 1% of INTJ, INTP of all 09:57:43 http://www.humanmetrics.com/cgi-win/JTypes2.asp 09:58:11 duh 09:58:17 test. NO, no, nononononono 09:58:23 duh, easy to fill in ;) 10:08:05 still INTJ 10:46:01 --- join: proteusguy (~proteusgu@69.79.24.31) joined #forth 10:48:44 i forgot what i was 10:48:48 something like that too 10:51:13 http://herkamire.com 10:51:35 INFP: qFox 10:51:52 (From my notes.) 10:52:45 oh yeah 11:19:59 i guess INTP is like debugger 11:20:03 and INTJ is like lazy programmer 11:20:10 debugger as person 11:35:58 hi all 11:36:29 i think im ENTP but i don't recall 11:36:55 i think that means i'm geeky *and* an arsehole 11:38:23 That's too common. :) 11:48:35 --- join: wossname (wossname@Toronto-HSE-ppp3699046.sympatico.ca) joined #forth 11:48:50 ENTP: slava 11:48:58 Everything is recorded. 11:49:38 "Big Brother watches you." 11:51:40 :D 11:52:00 asau must beINTJ and build diagram on how to organise the channel work more efectively 11:52:06 Don't forget about lofs. 11:52:09 ...logs. 11:52:14 ASau, what are you? 11:52:33 INTJ: ASau, crc, tathi 11:52:48 Sorry, outdated. 11:52:49 INTJ: ASau, crc, mur, tathi, yeoh 11:53:12 add me to INTP ~ 11:53:43 OK. 11:53:44 Done. 11:53:47 oh! 11:53:49 that explains 11:53:57 what'd i say :D 11:54:20 wossname, you'll have 5 people to start asking you to check their ideas and plans ;) 11:54:56 ;( 11:55:23 --- quit: skylan (Read error: 113 (No route to host)) 11:56:37 I like http://typelogic.com/intj.html assessed profiles. 11:58:04 Jane Austen and J.F.K. for to be fan of. 12:02:11 Jefferson, Gandalf, Darcy. (I don't know that they're on that particular list.) 12:02:35 And everyone knows God is an INTJ. 12:06:04 You're not on that list, it seems. 12:06:28 You're not so critical. 12:06:34 fffffft 12:06:37 ah 12:06:44 i dind't like any of them really at all 12:07:02 but i liked the text 12:07:03 :) 12:07:15 Esp. prof. Moriarty? 12:07:47 oh i was reading this one: http://209.15.29.56/myersbriggs/intj.htm 12:08:13 but it seems tha they are more and less each others plagiars 12:09:41 Yes, common basis is obvious. 12:09:47 uh 12:09:52 it's clear plagiarism! 12:10:04 word plagiarism, mosaic plagiarism and even 12:10:09 expressions are partly plagiarised 12:10:14 i dont know where from 12:10:16 but they are 12:10:18 Can you say who was the original author? 12:10:32 probably someone else than these 2 12:10:43 May be. 12:10:51 i guess they're from the orginal author's research 12:11:04 just not mentioned. not credited 12:11:04 But it's not necessarily so. 12:11:08 well 12:11:14 they have obviously same source 12:12:05 hmm.. for some reason i trust more the 209.IP than the other one 12:12:09 even the other one has names 12:12:23 the 209.IP has more text and contents 12:12:26 more deeply 12:12:33 but they still have both same text 12:12:56 either the telelogic is plagiariesd from 209.IP or they both are from soemwhere else 12:13:32 I take a minute for reading. 12:14:55 takes 10 12:15:55 Well. Easily you can see, that the first part of typelogic.com's is stripped down 209.*'s version. 12:16:05 Lists are identical. 12:16:56 Typelogic's second part, "Func. analysis," is less expressive. 12:18:26 I don't believe Heiss, but I can't say anything about Butt. 12:49:46 --- join: crc (~Charles_C@0-1pool88-119.nas48.philadelphia1.pa.us.da.qwest.net) joined #forth 13:01:51 Dobryjj vecher, crc. 13:02:04 Hello ASau 13:02:27 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 13:03:17 I'm going to extend the load/save words to handle actual files of various sizes 13:04:02 Something like " filename" size [load or save] 13:04:03 Dobryjj vecher, tathi. 13:04:37 Can you read forward? 13:04:46 ??? 13:04:57 It's easier to write LOAD file-name then " file-name" LOAD 13:05:10 I could do that 13:05:34 This avoids string processing in general. 13:05:35 Since load/save are primitives, it's easy to do forward parsing :-) 13:06:49 Hi ASau. 13:07:09 It seems to me that string handling is not a necessary in most tasks. 13:09:16 In fact I don't have literal strings of that " STRING" kind at all. 13:10:00 I have only words that parse ahead. 13:11:10 I don't use them as much now that RetroForth has supports s" and ." within words 13:11:19 but I think they can be useful at times 13:13:31 May be. 13:13:50 Though I haven't seen a proper situation yet. 13:14:50 Ok, load/save now take the filename by reading ahead 13:16:58 Should the length of the file be specified before or after word? 13:17:23 Why do you need it? 13:17:46 There's no easy way to determine the exact length of a file 13:17:51 ??? 13:17:54 man seek 13:17:58 Hm. 13:18:01 man lseek 13:18:05 Doesn't work under Windows 13:19:52 DOS API 42H 13:20:08 Should be somehow possible under WinAPI. 13:21:16 not in win32 mode 13:22:17 The documentation from microsoft says to read in the file in small pieces (4k IIRC) and check each for an EOF or a read error 13:22:30 But that gets complex, and doesn't always work properly 13:23:00 It's very weird. 13:23:06 Yes it is 13:23:27 * crc curses Microsoft for their stupidity in developing the Win32 API 13:23:32 That doesn't seem so complex to me... 13:24:04 It is when you're at the assembly level 13:24:05 It's more complex than classic lseek way. 13:24:27 I have the words set up to do: 13:24:40 LENGTH load/save FILENAME 13:24:44 at the moment 13:25:00 Maybe this can be done in Forth for Windows? 13:25:48 Especially for stupid Windows. 13:25:49 oh, I'm probably misunderstanding. What do LOAD/SAVE do? 13:26:08 load = load the contents of a file to a memory buffer 13:26:11 Load and save file in/from RAM. 13:26:18 save = save the contents of that buffer back to hard disk 13:26:50 Well. Tathi is rght. 13:26:50 I need a way to specify the buffer address too 13:26:55 oh, ok. 13:26:57 LOAD is reserved for Forth LOAD. 13:27:23 RetroForth is *not* a standard Forth by any means 13:27:24 This confuses. 13:27:29 Yeah. LOAD often means include. 13:27:42 crc. I know, but this confuses. 13:27:51 Nah, that's fine. 13:28:02 --- quit: proteusguy ("Leaving") 13:30:00 damn. With the new syntax, load/save don't work within words anymore 13:30:40 Hm. 13:30:42 if RetroForth had a word to include files, I'd call it INCLUDE 13:30:43 Of course. 13:31:11 But what do you need this for? 13:31:28 I mean load/save inside another words. 13:32:07 I want to be able to write words to copy files, etc 13:32:33 e.g. RetroForth will eventually replace BASH and Windows explorer as my computer's user interface 13:32:39 : COPY LOAD SAVE ; ( why not?) 13:33:16 Parses two file names ahead. 13:33:23 Not in RetroForth 13:33:30 The compiler chokes on that 13:34:18 I'd have to rewrite the compiler and interpreter, which would mean breaking a lot of other words 13:36:05 If I could work out a clean way to determine the length of a file, it might work 13:38:07 Should I rename "word" to "parse"? 13:39:07 I use "word" not "parse." 13:39:24 But "parse" seems to be a more logical choice 13:39:45 The purpose is to parse a string until the next occurance of a given character 13:40:01 * crc wonders why "word" is used for this 13:40:15 * tathi too 13:40:31 I call it parse. 13:40:42 and do : word bl parse ; 13:41:14 :-) 13:41:27 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 13:41:36 It's functional style: "word" results in word parsed. 13:42:18 what do you guys think of dynamic -vs- lexical scope? 13:42:56 Yeah, but I usually think of a word as being delimited by whitespace, and WORD doesn't necessarily give you that. 13:44:08 slava: in Forth, or in general? 13:45:43 tathi, 16 bit "word" is not a word too. 13:46:04 ASau: ? 13:46:30 And algorithmists also have their own view on what is word. 13:47:02 ASau: I know, I was just saying that _I_, personally, don't like the name "word" for that functionality. 13:47:24 For me, "parse" seems more descriptive. 13:47:24 Sorry, nothing personal. 13:47:51 * crc is going to rename "word" to "parse" in RetroForth 6.31 13:50:02 parseword 13:50:12 ???? 13:50:43 well, the word parses a "x"-delimited word from the input buffer, dont it? 13:51:00 It is not just for finding words 13:51:27 oh 13:52:02 Yeah, it's kind of how you do anything with the text input stream in forth. 13:53:10 slava: actually, I don't think I have enough experience with dynamically scoped languages to have a good opinon on the issue anyway... 13:53:14 I-do-not-like-long-names-of-this-kind. 13:53:48 i'm fine with them as long as they are not intercaps case sensetive 13:54:09 just use short, lowercase word names :-) 13:54:41 well i'm fine with that, but WORD is a bit ambigious 13:54:49 parse... well i gues 13:54:50 s 13:55:07 qFox, you should try to work without word completion. 13:57:04 ASau, why? 13:57:06 word completion? 13:57:45 Just try it to feel how good it works. 13:58:23 uhm, what do you mean with word completion? :\ 13:58:55 like tabbing to finish a word while typing? 13:59:34 Yes. 13:59:48 ah right, yeah thats a great feature :) 14:00:09 It's a complex feature 14:01:00 crc, if reading file piece by piece and waiting for end is complex, word completion is not complex. 14:01:05 hmmmm, not neccesarily (euh spelling?) 14:01:35 word completetion is more complex than reading a file in piece by piece 14:01:41 A lot more complex 14:02:47 hm, read the last word of the inputbuffer, look it up alphabeticly, remember what word is last found if any, take the next word. i wouldnt say its complicated, just alot of searching (unless the dictionary has a alphabetical index...) 14:02:53 an. 14:03:41 --- quit: wossname () 14:03:47 It requires tracking words closely, and tight bindings to the editing environment 14:04:21 hmm, still dont think it has to be complicated 14:04:31 --- join: wossname (wossname@Toronto-HSE-ppp3699046.sympatico.ca) joined #forth 14:07:07 it's probably not bad in forth. 14:07:26 not so fun in asm though. 14:07:31 :) 14:10:05 I'll have word completion in my visual forth when I actually get around to writing it 14:10:35 wow - 2x speed improvement in inner interpreter 14:11:09 slava: good 14:23:24 --- join: lalalim_ (~lalalim@p508AAF1C.dip.t-dialin.net) joined #forth 14:35:39 * crc is leaving. I'll be back tomorrow... 14:35:42 --- quit: crc ("ChatZilla 0.9.61 [Mozilla rv:1.7b/20040316]") 14:46:52 --- quit: lalalim (Read error: 110 (Connection timed out)) 14:56:58 --- join: Herkamire (stjohns@h000094d30ba2.ne.client2.attbi.com) joined #forth 14:57:22 Dobryjj vecher, Herkamire! 14:58:54 hi ASau 15:05:31 --- quit: tgunr (Excess Flood) 15:07:30 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 15:31:53 --- join: SolarFire[ (SolarFire@pD9EE1C0D.dip.t-dialin.net) joined #forth 15:33:41 --- join: DrMartens (~DrMartens@81-86-121-165.dsl.pipex.com) joined #forth 15:35:01 Good morning, DrMartens! 15:41:22 hi 15:44:49 Dobryjj vecher. 15:45:44 guten tag\ 15:45:52 Guten Abend, arke. 15:46:39 Wie geht's, Robert? 15:46:41 --- quit: DrMartens ("Leaving") 15:50:16 --- quit: Solarfire (Read error: 110 (Connection timed out)) 16:07:26 Hm. 16:07:40 Link for Linuxoid Forthers: http://www.muppetlabs.com/~breadbox/software/tiny/ 16:17:44 tathi: hi 16:18:04 hi arke 16:26:23 arke: Gut, danke.. Mit dir, auch gut? 16:26:43 Robert: jaah, eigentlich schon. 16:27:07 Ich glaube ich werde spaeter ins linux booten und dann dort am OS anfangen. 16:27:22 Ist halt scheisse dass ich dann nicht online gehen kann. 16:27:45 --- join: Sonarman (~matt@adsl-64-160-165-237.dsl.snfc21.pacbell.net) joined #forth 16:28:31 Hehe... the Forth OS? 16:29:46 yeah 16:30:35 hrm 16:30:40 maybe I can convince cygwin 16:34:51 --- quit: wossname ("ideas") 16:39:29 --- quit: tgunr ("Quit") 16:41:22 Robert: Would you like to help, not including your indirect contribution with F? 16:41:44 With? 16:42:33 my OS :) 16:42:41 Oh. What will it be like? 16:42:45 * arke might actually begin with a mere reqrite of F 16:43:01 Robert: basically, ColorForth with less colors and much, much, MUCH more crack 16:43:15 and the option of punctuation 16:43:27 so that you can even use it interchangeably with color 16:44:24 crack? 16:45:44 Colombian stuff, slava. 16:45:56 I'm not sure... 16:46:05 i'll stick with beer, or gin&juice :) 16:46:40 * Robert prefers his water without cocaine, alcohol or.. well.. orange juice is OK. 16:48:22 :) 16:48:25 Robert: would you like to? 16:48:38 I'm gonna try cygwin soon, and then I'll tell you my success 16:48:47 Robert: btw, when is F due? 16:49:30 Was finished a number of months ago. 16:50:12 awesome. 16:50:18 Do you plan on continuing it? 16:50:22 Not really.. could have been better. 16:50:29 heh 16:50:37 Maybe if I get bored enough. x86 OS design feels so pointless. 16:50:41 may I continue, with your hosting and help? :P 16:50:47 But then I look at the current systems. 16:50:51 And I see the point again. 16:51:05 And then I look at the hardware of modern PCs, and the point is lost. 16:57:01 lol 16:57:09 hardware is a problem, definetely. 16:57:38 A problem? 16:57:40 Robert: how much of F can be rewritten in Forth, if any? 16:57:44 There's too much of it. :) 16:57:50 Yes. Current hardware sucks. No exceptions. 16:57:59 A simple Forth system on a computer with 1M times the resources I need. 16:58:05 Robert: EXACTLY. Either there are no standards, or the standards are too restrictive 16:58:17 You misunderstand me. :D 16:58:28 But of course, that's another problem. 16:58:32 Yes. 16:58:35 :) 16:58:54 Robert: answer my other question though -- how much of F can be rewritten in F from asm? 16:59:10 Oh, didn't see it. 16:59:38 --- join: skylan (~sjh@vickesh01-4582.tbaytel.net) joined #forth 16:59:44 Hmm... Not really sure, probably quite a bit of it. 16:59:48 --- join: skylan_ (~sjh@vickesh01-4582.tbaytel.net) joined #forth 16:59:48 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 17:00:30 --- quit: skylan_ (Client Quit) 17:02:40 --- quit: Callidus ("Abero") 17:03:01 DTC or STC? 17:03:10 oh yeah 17:03:10 DTC 17:03:11 :( 17:03:29 THATS why I wanted to rewrite F, now I remember 17:03:35 oh well 17:03:39 it doesn't need a rewrite 17:03:50 I'm sure the compiler is simple to adapt to STC 17:03:56 Hehe. 17:04:13 You'll ONLY have to rewrite a few kB of library routines and so on... 17:04:28 I'd rewrite it from scratch if I were you. 17:06:23 :( 17:06:34 Of course you can steal some parts 17:06:46 Will you help? 17:06:49 Like I did from IsForth (did I mention that in the F credits? Do I have F credits?) 17:07:08 :) 17:08:34 Hmm.. 17:08:42 You know, I feel kind of tempted to write the compiler. 17:08:49 What language will you use for it? 17:08:50 awesome. 17:09:00 asm+forth 17:09:06 no exceptions :) 17:10:02 What Forth? 17:10:12 Hmm.. 17:10:25 er 17:10:30 well 17:10:30 If I write the original compiler in asm, someone else could port it to Forth in case you want a metacompiler. 17:10:38 kinda self-made 17:10:39 :) 17:10:50 Robert: well, I actually want the least amount possible in asm 17:11:02 :) 17:11:05 but that would work. 17:11:30 what is DTC and what is STC 17:11:49 warpzero: DTC means Direct Threaded Code, STC means Subroutine Threaded Code 17:11:51 warpzero: http://www.zetetics.com/bj/papers/moving1.htm 17:12:03 warpzero: I suggest you read "Moving Forth" 17:12:11 Sonarman: agh fuck you 17:12:12 Sonarman: :P 17:12:15 oh that 17:12:16 sorry 17:12:23 i just didn't recognize the acronyms 17:12:24 arke hehe 17:12:26 oh 17:12:27 lol 17:12:30 Sonarman: hate you :) 17:15:36 arke: OK, the connection is really unstable over here. But sooner or later I might write a 32-bit x86 Forth compiler in asm. If I ever make it, I'll help to make you port it to your system.... 17:16:26 Robert: cool. I'll send you an email in a moment, ok? 17:17:00 Sure. 17:17:11 We'll see when home.se feels like delivering it. 17:17:34 ok 17:17:39 home.se? 17:17:48 i thought your email was somewhere else.. 17:19:07 oh 17:19:08 nevermind 17:19:08 lol 17:19:13 Ok, check in a few minutes 17:19:41 Heh, I got a mail, but it was just some TI spam. 17:20:15 --- quit: tathi ("leaving") 17:21:24 :) 17:23:05 Nothing yet. 17:23:22 haven't snet it yet :P 17:39:32 Oh. 17:41:29 ok, sent 17:41:40 Got it 17:42:08 Yay. 17:42:43 --- join: blockhead (default@dialin-248-tnt.nyc.bestweb.net) joined #forth 17:42:50 HERE in EBP doesn't sound like an ideal solution. 17:45:11 I was thinking that if I (we? :)) don't do a dual-register stack, then EDI will have HERE 17:45:55 which makes sense --- , will be a stosd 17:50:25 I was thinking about a multi-register stack cache. 17:50:34 would ESI be used if , were stosd? 17:50:41 Sonarman: no 17:50:51 So at least the top 3 elements or so could be cached in registers. 17:50:52 Robert: bleh, isn't that a little hard to implement in x86? 17:51:04 That way you could optimize quite a lot, I think. 17:51:05 Robert: since you constantly have to exchange? 17:51:07 Everything is. 17:51:15 Robert: lol 17:51:22 arke: oops nevermind sorry :) 17:51:26 Sonarman: man i like that new song lol 17:51:29 Well, I implemented an experimental compiler for the PIC, using that design. 17:51:36 Actually, just a piece of it. 17:51:36 arke: the Dimmu Borgir? 17:51:43 And it's not all that complicated. 17:51:43 Sonarman: rotting christ 17:52:03 Robert: well, is the top of stack always in a certain register, or does it move around? 17:52:10 arke: yeah, it's great! :) 17:52:16 Sonarman: :) 17:52:35 arke: Move around. 17:52:51 Robert: how do you know, then, where the current TOS is? 17:52:54 arke: So "swap" and "drop" would generate no machine code. 17:53:00 Robert: ooh 17:53:02 Robert: OOH 17:53:04 Robert: yeah 17:53:04 You store that in a table during compile-time. 17:53:08 Robert: I remember you telling me about this 17:53:13 Robert: nevermind :) 17:53:18 And dup would be one single mov. 17:53:23 As would over. 17:53:30 "+" would be a single add 17:53:36 Between registers. 17:53:42 And so on.. 17:53:50 Problem comes with branches and stuff. 17:54:34 yeah, because you have to restore the registers to a special position 17:55:11 Right, the function that's called can't know where your current TOS is. 17:55:23 So you'll have to move it to its TOS register. 17:55:34 and all the others too 17:55:43 thats probably the most expensive part of the whole thing 17:55:57 doesn't sound any more expensive than using a stack frame 17:56:28 Right, it will probably be a fre pushes and a few movs. 17:56:32 few* 17:56:53 I admit you lose a lot there, but you save a lot inside the words. 17:56:55 Robert: hrm, seems like it would be n amount of xchg's, where n is the number of cached items 17:57:31 and a few pushes and pops, to fill up cache 17:57:41 --- join: teehee (~Chris@wbar8.lax1-4-11-100-108.dsl-verizon.net) joined #forth 17:57:43 * teehee = arke 17:57:48 Well, I think it's better if you push it. 17:58:04 and then have the word restore as needed? 17:58:05 Because the new with will probably want some stack space ( == registers) for itself. 17:58:16 s/with/word/ 17:58:22 hrm. 17:58:23 Oh 17:58:24 cool 17:58:56 so you keep the stack on the stack (except TOS) for calls, and then the subroutine caches as many as it needs 17:59:29 Right. 17:59:39 awesome. 18:00:01 I'm not 100% sure how much more efficient that is compared to other ways, like more traditional STC. 18:00:26 :) 18:00:30 arke: a rotting christ song is playing on http://205.188.234.37:8008 18:00:40 Sonarman: cool, hold on 18:01:18 wheee 18:01:23 X over windows isn't too fast :) 18:02:58 why not have a word have two entry points, one for when stack items are cached (of course, for a word to call that entry point it has to make sure its items are cached in the same registers) and one for when all the items except TOS are on the actual stack? 18:03:02 Sonarman: like the other one better :) 18:03:08 teehee: me too :) 18:03:22 Sonarman: woah 18:03:26 Sonarman: LOTS of space :) 18:03:45 and then, which entry point is called depends on the current state of the registers 18:04:07 i don't know, probably not a good idea, but it popped into my head so i thought i'd might as well share it :) 18:04:08 Sonarman: :) 18:04:09 Sonarman: Hrm. Making sure the cached stack is located in the same registers is easier said than done. 18:05:03 Sonarman: Besides, I don't know if it would help. Because if, say, 2 items are already cached in tha calling word, the word can only use one or two registers. 18:05:28 hmm good point 18:05:29 Sonarman: So you might as well count the max. number of registers needed by a word - and inline it if it fits. 18:05:31 Robert: since I'm trying desperately to encourage factoring asmuch as possible, I'm trying to keep call overhead to a bare minumum. Although this optimization is nice for lrager words, it does incur call overhead 18:05:53 inlining is nice :) 18:06:04 Yes, I think that could be a good solution here. 18:06:17 bleh, irssi on konsole on KDE on XWin on DirectDraw on Windows XP on Windows NT 18:06:47 oh my word 18:07:03 on x86, i should add 18:07:06 very slow 18:07:06 :) 18:07:10 window redraws must be like a waterfall in slow motion 18:07:21 Robert: anyway, lets stick for simple STC for now, mmkay? :) 18:07:25 Sonarman: well, almost. 18:07:35 Sonarman: its at least doing accelerated drawing 18:07:42 Sonarman: but interaction response is terrible 18:08:02 i have inlining in my compiler 18:08:16 simple words are inlined 18:08:18 : sq dup * ; inline 18:08:32 Well, I'd like to play with more advanced concepts. 18:09:47 later ^_________________________________________________________________^ 18:10:12 Heh, bye. 18:10:36 slava: btw, F-PC's implementation of SEE displays different types of words (code, colon, value, variable, constant, does>, defer, etc.) in different colors 18:11:11 ack 18:11:13 this is bad 18:11:23 konq itself is already slow 18:11:25 And good night. 18:11:30 Sonarman, nice 18:11:31 and now on 134135 layers :( 18:11:39 Robert: good night, I will start today. 18:11:42 Sonarman, i have the opposite -- each wordlist has a color, since there's less types of words in my language 18:12:02 teehee: So will I - after sleep. :P 18:12:11 ^_^ 18:12:14 Robert: wait 18:12:17 Robert: what are you going to do? 18:12:17 If I don't forget about it and start another mad project. 18:12:30 Sure, I'm still listening to Lucy in the Sky with Diamonds. 18:12:43 Experiment with Forth compiler design. 18:12:49 Robert: I was going to start getting teh basic kernel to work. 18:12:52 there are primitive words, compound words, and stack words 18:12:55 Robert: oh, ok. Have fun. I'll send email. :) 18:13:02 i don't have immediate words and all that 18:13:13 teehee: What will the basic kernel do? 18:13:56 Robert: well, I'll start with "Hello, World!" and go on from there :) 18:14:01 any FORTHs define stack words like this? ~<< swap a b -- b a >>~ etc/ 18:14:02 ehhe 18:14:02 Robert: how is your memory protection working? 18:14:16 Robert: each process have its own place? 18:15:21 teehee: Memory protection is for the weak. 18:15:35 Robert: bleh. 18:15:38 Robert: so you have none. 18:16:00 Correct. 18:16:09 Robert, keyboards/screens are for the weak, real men toggle their OS at the front panel and watch register LEDs :) 18:16:10 Mostly out of laziness, and because I don't need one. 18:16:26 slava: I know. I built a computer that is programmed that way. 18:16:34 slava: http://robert.zizi.org/bfcomp.html 18:17:13 hehe 18:17:17 I admit LEDs, being 60s tech., is cheating. Same goes for using ICs, transistors and plastics. 18:17:39 But my supply of vaccuum tubes and 100 kW power supplies is limited. Please forgive me. 18:17:52 Robert: could you implement some memory management though? since you sem to know about it (I don't) 18:18:06 No I don't. 18:18:14 Never use it. 18:18:23 teehee: what kind of memory management are you looking for? 18:19:02 just allocating and freeing blocks of memory? 18:19:16 The one that strangles you if you read other people's memory. 18:19:29 Sonarman: jsut really basic memory protection. 18:19:35 Allocating memory is implemnted in F already. 18:19:46 Sonarman: this is RW, this is RWX, this is R, this is --- 18:19:48 But in ASM. So there's some porting work. ;) 18:19:52 Robert: but no protection. 18:19:57 I know. 18:20:05 Anyway - night. 18:20:07 Robert: do you have mmap? 18:20:19 Ehm, what? 18:20:26 how can you have mmap if you don't have files? :) 18:20:39 I have files. Kind of. 18:20:42 bleh 18:20:43 I meant 18:20:56 just some way to say "this range of memory is mine, biotch! 18:21:05 and maybe a way to map it to blocks :) 18:21:23 something like malloc kind of? 18:21:37 I have something like malloc kind of, yes. 18:21:47 Sonarman: somewhat, except that you get to choose which exact portion of memory you want. 18:22:02 Sonarman: and it'll either say "ok, you can have it" or "no, already in use" 18:22:04 But the multitasking and process handling is really "glued on". 18:22:11 arke: oh, ok 18:22:26 So the system itself doesn't care about processes. 18:22:58 Only the parts that handles them directly. Like the scheduler and associated functions. 18:23:09 handle* 18:23:36 arke: you could probably get such a thing with a linked list of memory ranges in use 18:24:02 of THE memory ranges in use 18:24:03 Sonarman: yeah, it would just be a varied version of rob's malloc 18:24:26 Argh, losing the grammar at 0323 18:24:27 btw, I just saw the cutest thing. A 13 year old girl entered a geek channel using xchat on Linux. 18:24:35 And her dad turned out to be a radio amateur, yay. 18:24:47 Robert: you're too old for her. Sorry. 18:24:51 Hah. 18:24:52 ^_^ 18:24:57 She's not cute. Her system is. 18:24:57 that is cute though 18:25:15 Robert: what channel, what nick? 18:25:17 I have a 13 y/o sister, so you don't have to tell me about how those are. 18:25:18 HAH. 18:25:22 lol 18:25:30 arke: rofl 18:25:32 Good night. 18:25:41 NOO 18:25:43 Robert: tell me 18:25:50 She's gone now anyway. 18:25:55 aww 18:25:59 Robert: tell anyway 18:26:06 No way. 18:26:10 Now go code 18:26:11 but... 18:26:12 but... 18:26:13 but... 18:26:15 I'm your friend! 18:26:16 Girls aren't for geeks 18:26:28 :( 18:26:54 Or actually, they are. Since 2 of 3 geek girls I know are homosexual. 18:27:02 Oh, well. Night. ;) 18:27:10 XD 18:27:18 Si, buenos noches 18:27:20 night 18:27:21 xD 18:27:28 no, capital X :P 18:27:29 XD 18:27:30 XD 18:27:30 :0 18:27:31 :) 18:27:41 El floodo 18:28:20 Robert: Go sleep :) 18:38:25 mov dx,0x3f2 ; uhm.. I don't remember where I 18:38:25 mov al,0x0c ; stole this from... 18:38:25 out dx,al ; wonder what it does :) 18:38:28 HAHAHA 19:03:24 --- join: SolarFire (SolarFire@pD9EE1C0D.dip.t-dialin.net) joined #forth 19:05:58 --- quit: skylan (zelazny.freenode.net irc.freenode.net) 19:05:58 --- quit: SolarFire[ (zelazny.freenode.net irc.freenode.net) 19:08:40 --- join: skylan (~sjh@vickesh01-4582.tbaytel.net) joined #forth 19:20:11 hey 19:20:19 no fair 19:20:21 :) 19:38:04 'nn all 19:38:06 --- quit: blockhead ("laugha while you can, monkey boy") 19:54:12 dammit I want kc5tja to show up RIGHT NOW 20:43:01 A leaf, yellow of age, hanging from a limb on a tree 20:43:42 Long it has lived, yet it does not know what it is to be 20:44:20 A new leaf grows, green with life, on that limb on that tree 20:45:48 But 'tis too much weight for that limb on that tree to be 20:46:58 And so the old leaf falls to depart from the limb on the tree 20:47:24 And the leaf knows now what it has lived to be. 20:47:27 -done- 20:53:52 --- quit: teehee ("leaving") 22:08:50 --- join: wmg (~weldon@bgp02689673bgs.flrdav01.dc.comcast.net) joined #forth 22:13:09 --- part: wmg left #forth 22:17:17 --- join: Serg (~z@212.34.52.140) joined #forth 22:34:52 --- quit: Sonarman ("leaving") 22:35:46 --- quit: arke (Read error: 54 (Connection reset by peer)) 22:35:55 --- join: arke_ (~Chris@wbar8.lax1-4-11-100-108.dsl-verizon.net) joined #forth 22:38:58 --- nick: arke_ -> arke 22:39:41 http://www.absurdnotions.org/an19990729.gif 22:41:58 ^_^ 23:03:03 hey guys 23:03:05 I need some help 23:03:20 I need a way to simply implement a dictionary 23:04:17 you know of any docs or tipc? 23:04:19 tips* 23:15:46 what dictionary ? Forth dictionary ? lotsa src ! 23:16:14 * Serg never wrote a Forth interpreter, however 23:16:45 yeah 23:16:46 forth dict 23:19:53 if "simple" - classic linked list 23:19:59 --- quit: warpzero ("Tried to warn you about Chino and Daddy Gee, but I can't seem to get to you through the U.S. Mail.") 23:23:48 void *prevword; byte namelen; char[] name; int flags; 23:23:55 * Serg almost forgot C ;) 23:25:22 hrm 23:25:38 guess thats what I'll have to do 23:25:44 doesn't seem _too) 23:28:00 i would make word name of constant length 6 or 8 ;) 23:28:58 naaaah 23:29:01 need more than that :) 23:32:37 Dobroe utro, Serg! 23:32:43 ASau! 23:32:51 Arke, take a look at Alan Pratt's C-Forth. 23:33:04 ASau: just waht I was about to ask 23:33:07 lemme search 23:33:22 It's small enough and mostly in Forth. 23:34:13 Or you may look at FIG Forth Installation manual. 23:34:33 It includes source for interpreter. 23:34:38 hrm. 23:34:51 Something like metacompile. 23:35:03 Forth in (almost) Forth. 23:36:05 You'll have fun refactoring those old code. 23:36:46 Or I can send mine at your wish. But not immediately now nor today. 23:37:37 well, all I need is a simple way to make a dictionary. 23:37:53 Linked list. 23:37:57 I'm thinking of a simple linked list 23:38:02 yeah 23:38:03 :) 23:38:07 name-link-code 23:39:15 privet 23:39:59 ASau, i can actually speak russian, and I do with my family. but i prefer english in IRC; transliterated in latin letters its hard to read IMO, and custom fonts are a hassle. 23:40:11 (russian that is) 23:40:17 but i like gedit 2.6's input methods 23:40:19 and gnome in general 23:40:30 cyrillic input worked out of the box in gentoo, with a right-click 23:40:48 char *name; void *code; void *next; 23:40:58 arke, *C* shudder 23:41:02 hrm. 23:41:06 I'm thinking. 23:41:10 Aaah 23:41:12 got it 23:41:32 i prefer Java, its C's criminally insane brother 23:42:03 I say that as someone who's written a lot of java :) 23:42:07 sometimes retarded brother 23:42:22 ^__^ 23:42:49 aah 23:42:52 got it figured out 23:43:21 when you redefine, you just change the code address in the header 23:43:36 actually nowadays i think C++ > C, if you ignore the freakish syntax and write in a minimalistic fashion, using a subset of the features. its type system is very useful in a number of situations 23:43:50 heh cool 23:43:59 you keep a "jmp" in the header 23:44:05 and you change the address on a redefine 23:44:11 java has its limits with things like arrays of objects 23:44:17 hrm 23:44:19 actually 23:44:20 nevermind 23:44:22 there's the >10 byte sometiems 20 overhead for each object in gc heap 23:44:23 I'll just leave it. 23:44:31 if you have an array of a million... two million... 23:44:51 you resort to using arrays of primitives, and packing/unpacking yourself. but isn't this what C structs are supposed to automate? 23:45:13 :) 23:45:23 they say value types would complicate the language, and I kind of agree... Java's not good for high performance numerical anyway 23:45:37 anyway, java rant over 23:45:44 :) 23:45:51 I got my thing figured out 23:46:02 just keep the old one 23:46:06 tonight i was going to release the first public release of factor with a web page etc 23:46:16 the only problem is that the dictionary will eventually overflow. 23:46:24 i always thought it was too crap to release 23:46:29 now i think its not quite so crude 23:46:57 so, I was thinking of just adding a "defrag" word later on which cleared the dictionary. 23:47:00 it has a lot of fancy features, but a lot of stuff is immature too, or proof-of-concept. i'm not sure what features i'll advance and what discard... 23:47:05 Arke, when you redefine you add new word to start of the list. So it is to be found first. 23:47:47 ASau, how's life in Moscow these days? I lived on Novosibirsk when I was 6, but only visited Moscow for 1 day; we went to the internatoinal aeroport there to leave the country in 1991 23:48:11 before that, in Tosmk from when I was born. 23:48:26 :) 23:48:31 Today is the first sunny day after rainy week. 23:48:39 When I was 2 or 3; I cannot recall, I lived with my grandparents in Kostroma (sp?) near Moscow; town of about 300,000 I think. 23:48:41 ASau: Ok. 23:48:45 What do you want to know? 23:48:59 my grandparents were still living there when they died, a few years ago, not long a time apart 23:49:45 arke, you don't need "defrag". You have FORGET 23:50:16 Slava, I live not in Moscow, I'm from Saratov. 23:50:20 bleh. :) 23:50:48 Ja zhivu na Lengorakh. :) 23:51:07 ASau, sorry, I thought you were in Moscow; maybe someone else in the channel mentioned it and i got mixed up 23:51:35 I'm in Moscow, but I practically do not visit town/city. 23:52:04 My life is between campus and lab now. 23:52:51 research? 23:52:53 are you a professor? 23:53:14 I'm writing diploma. :) 23:53:52 is that PhD? or something else? 23:54:06 dessertation? 23:54:23 You know, that we have no PhD. It is called "specialist" here. 23:55:26 Yes, it's PhD there. 23:56:20 i see. 23:57:17 it must be a *lot* of work... i find the workload of undergraduate barely bearable, with that and doing paid programming, it certainly cuts into my leisure time, and hobby coding. 23:59:16 Well. Actually, I've got finished job for the morning. 23:59:55 Time to sleep an hour and write-write-write... 23:59:59 --- log: ended forth/04.05.26