00:00:00 --- log: started forth/02.05.28 00:06:59 i mostly mean editing existing words 00:08:02 instead of only DECOMP 00:08:50 Well, I have to get to work tomorrow, so I'm going to head home. 00:09:21 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 01:26:12 --- join: Serg_pingvin (~snaga_NOI@nat-ch0.nat.comex.ru) joined #forth 01:29:13 hey op, pse kick my 1st nick 01:29:30 pse kill it from server.. 01:29:47 not ban ! 01:35:59 Uhm. 01:36:11 Only you can do that. 01:36:14 Use ghost. 01:36:28 /msg nickserv ghost yournick yourpassword 01:37:32 i have no regged nick 01:37:41 Then register it. 01:37:49 how, damn ! 01:37:53 ? 01:37:57 Pingvin is the swedish word, btw :) 01:38:03 Uhm 01:38:08 i hate passwd's... 01:38:10 /msg nickserv help 01:38:12 Hehe 01:38:19 Then you'll have to accept things like this. 01:38:32 i remember too damn many of them... 01:39:18 Write it down :) 01:39:54 * rob_ert leaves. 01:40:09 make an alias in your irc client's config 01:41:10 i use one trash passwd for all no 01:41:20 never mind 01:45:05 --- quit: Serg_penguin (Read error: 110 (Connection timed out)) 01:45:21 --- quit: Serg_pingvin () 01:45:31 --- join: Serg_penguin (~snaga_NOI@nat-ch0.nat.comex.ru) joined #forth 02:37:28 --- quit: Stepan ("Client Exiting") 02:56:09 --- quit: Serg_penguin (Read error: 110 (Connection timed out)) 03:56:49 --- quit: davidw (Read error: 104 (Connection reset by peer)) 04:07:54 * Oscarian is away: gone out 04:31:14 --- join: mur (ammu@baana-62-165-189-112.phnet.fi) joined #forth 05:13:57 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 05:13:57 Type sif: (or /msg sif to play in private) 05:26:41 hee, play ground 05:44:00 --- join: Serg_penguin (~snaga_NOI@nat-ch0.nat.comex.ru) joined #forth 06:19:33 --- quit: Serg_penguin () 06:34:36 --- nick: mur -> MurBBL 06:37:51 --- join: davidw (~davidw@adsl-125-109.38-151.net24.it) joined #forth 06:54:22 --- join: Serg_penguin (~snaga_NOI@nat-ch0.nat.comex.ru) joined #forth 06:54:43 --- quit: Serg_penguin (Client Quit) 07:19:53 --- join: Fare (fare@samaris.tunes.org) joined #forth 07:20:58 Hey Fare. 07:21:08 Feeling better now? :) 07:25:05 I suppose so 07:25:07 thanks 07:28:54 --- join: tathi (~josh@wsip68-15-54-54.ri.ri.cox.net) joined #forth 07:35:52 --- nick: MurBBL -> mur 08:47:11 --- quit: tathi ("leaving") 09:11:51 --- quit: mur ("MURR! end of file reached. continuing filling logs some other time.") 09:56:59 --- join: cleverdra (julianf@1Cust49.tnt3.florence.sc.da.uu.net) joined #forth 10:12:58 --- join: ayrnieu (julianf@1Cust73.tnt3.florence.sc.da.uu.net) joined #forth 10:19:11 Hey both of you ;( 10:19:17 s/;(/;)/ 10:20:24 one of me =) Waiting for ghost to die. 10:21:22 * rob_ert brings a witch doctor. 10:23:46 --- join: kc5tja (~kc5tja@stampede.org) joined #forth 10:24:02 Hey. 10:24:05 Howdy 10:25:00 rob_ert: I'm relatively pleased to see where FS/Forth's target compiler is going. 10:25:22 The code it produces is pretty big though; a lot of useless stack manipulations interjected into the code. 10:25:31 But at least the code works as described by the program. 10:25:48 That's nice :) 10:26:10 * kc5tja can very readily see why Chuck created MachineForth to address the problem of efficient code generation though. Unfortunately, his machine forth is optimal only for his P21-series of microprocessors. :) 10:27:01 My current MachineForth dialect maps one MF instruction to one x86 instruction, so that words like DUP and DROP are not primitives. 10:27:13 For example: 10:27:16 COMPILER 10:27:26 : DUP D-, !S, ; 10:27:37 : DROP @S, D+, ; 10:27:45 : SWAP S<>T, ; 10:28:33 : OVER S->W, !S, W->T, ; 10:28:33 Hmm.. but they don't have to be the same size. do they? 10:28:48 Is it subfunction threaded then? 10:28:53 ??? 10:28:54 No. 10:29:02 D-, expands to SUB BP,2 10:29:13 !S, expands to MOV [BP],BX 10:29:14 etc. 10:29:30 It's definately native code. 10:29:58 Forth primitives are inlined into the native code stream; non-primitives are CALLed. 10:30:09 So subroutine threading with inlined primitives is the technique I'm using. 10:30:21 BTW, my definition of OVER is wrong above. 10:30:45 : OVER S->W, D-, !S, W->T, ; 10:31:00 Without that D-, it's just a slower version of SWAP. :) 10:31:26 * ayrnieu spends a moment being glad that he does this stuff in m68k assembler. 10:31:46 ayrnieu: 68k isn't immune from this problem either. 10:32:46 kc - what problem do you mean? 10:34:00 ayrnieu: Though the 68000 is nice for implementing Forth primitives, you can't really use a MachineForth dialect to efficiently generate 68K code -- so many Forth primitives map to just one 68K opcode that you'd need a HUGE array of MachineForth "instructions." 10:34:40 ayrnieu: Using something like MachineForth, however, you restrict your instruct use to specific opcodes, and that can unnecessarily slow code down (since multiple instructions replace the job of just one). 10:35:13 So both x86 AND 68K have problems mapping to a stack-oriented MachineForth. 10:35:29 I think I see what you're doing, now. 10:36:00 * kc5tja is working up a register-optimized MachineForth dialect (sacrilige!). It still presents a stack interface to the programmer, but internally, it does not use a "data stack" per se; it treats the registers as the stack. 10:36:03 --- quit: cleverdra (No route to host) 10:36:35 --- nick: ayrnieu -> cleverdra 10:37:04 Doing some experiments with it now; with x86, I can get a 6-deep data stack, which really means that 4 items can safely be held on it. 10:37:59 68K I can get a full 8 items (since no data register doubles with a stack pointer :) ), and the additional six address registers can be used to hold various variables. 10:39:42 I'm especially interested in the register-centric MF because one of my goals here at work is to implement a cross-platform Forth implementation that runs on both x86 and MIPS RISC processors without extensive source code changes. 11:02:55 --- join: kors (~kors@dialup-086.wildpark.net) joined #forth 11:03:02 Hi people. 11:04:06 Privet. 11:04:36 rob_ert: :) 11:05:49 * rob_ert installs FreeDOS on his new computer. 11:06:09 rob_ert: good luck :) 11:06:32 * kors never seen freedos - moved to *nix before it came to be. 11:06:33 * rob_ert has. 11:06:53 Well... it's a good way to train portability. 11:07:15 I must run about... 5 to 10 different systems. 11:07:24 (On 9 computers ;D) 11:07:32 * kors uses OS/2 to run dos apps. 11:07:50 * rob_ert does not use OS/2 at all. 11:08:59 * kors uses OS/2 ad a tribute to good ol` days when 8 megs of ram was too much and nobody went ga-ga about internet :) 11:09:41 --- join: ayrnieu (julianf@1Cust111.tnt3.florence.sc.da.uu.net) joined #forth 11:09:54 wb 11:10:09 kors: I only have 4MB :( 11:11:32 rob_ert: You mean video memory? Or RAM? Then, what do you multi-boot with FreeDOS on this box? Minix-VMD or some older *nix? 11:11:46 AFAIR win9x is unusable with 4 megs. 11:16:00 BBIAM - need to tune the modem a bit. 11:18:15 Hehe 11:18:26 That computer has 4 MB of RAM. 11:18:35 This one has 64 :) 11:18:51 The Minix computer (I use 2.0.2, don't like VMD), has 8 MB RAM. 11:18:59 It's also connected to the Internet. 11:19:04 --- part: kors left #forth 11:19:19 --- join: kors (~kors@dialup-086.wildpark.net) joined #forth 11:19:27 re 11:19:28 wb :) 11:19:32 That computer has 4 MB of RAM. 11:19:32 This one has 64 :) 11:19:32 The Minix computer (I use 2.0.2, don't like VMD), has 8 MB RAM. 11:19:32 It's also connected to the Internet. 11:22:04 rob_ert: I see. 11:22:31 rob_ert: BTW, you may try Desqview-X for the one with 4 megs. It could turn it into a decent X-server (terminal), able to run dos apps simultaneously. 11:22:57 Sounds nice. 11:23:11 But I'll mostly be using it for DOS apps anyway. 11:23:21 And I don't have any mouse there. 11:26:09 rob_ert: hmm, will be hard to use X-apps w/o mouse. 11:27:45 :) 11:27:51 That's why I don't use X 11:30:39 --- quit: cleverdra (No route to host) 11:30:47 #@$@# ! 11:30:51 --- nick: ayrnieu -> cleverdra 11:31:06 not using X is uncommon? I don't use X all the time. 11:31:34 I don't use X in DOS ;) 11:31:34 the guys at S3 suck - If someone purchases something, you can be sure you'll have no support for the products of purchased company. 11:31:40 I do use it on my main computer. 11:31:46 Heh 11:33:31 cleverdra: that $%@ was about Support for my "new" modem. The damn thing does not want to connect at 57600 when I'm using FreeBSD's ppp, though ecerything is OK on the windows box at work. Seems like some initialisation is required, and Diamond is dead. 11:34:02 and for sure no damn manual on the site. 11:34:19 ah 11:39:16 bbiam - upgrading firmware in the damn device. 12:00:40 --- quit: cleverdra ("Leaving") 12:08:44 kors: I wonder if it would be possible to swap the modem for another computer, and view the data coming across the serial line. Basically, reverse engineering the initialization strings. 12:17:03 --- nick: kc5tja -> kc-food 12:21:09 --- quit: kors (Read error: 113 (No route to host)) 12:21:52 --- join: kors (~kors@dialup-003.wildpark.net) joined #forth 12:22:03 re. 12:22:24 At last the damn thing works. Even with localised status messages. 12:47:03 --- join: futhin (thin@h24-64-175-61.cg.shawcable.net) joined #forth 12:47:06 sup yo! 12:47:25 --- part: futhin left #forth 12:52:41 --- join: futhin (thin@h24-64-175-61.cg.shawcable.net) joined #forth 12:52:46 s u p y o ! 12:52:55 --- part: futhin left #forth 13:01:31 --- nick: kc-food -> kc5tja 13:01:51 Back 13:01:51 --- quit: tmcm (Read error: 110 (Connection timed out)) 13:06:10 --- join: thefox (fox@adsl-209-182-168-45.value.net) joined #forth 13:06:10 --- mode: ChanServ set +o thefox 13:06:22 re thefox 13:06:40 thefox: Hi. 13:06:46 Hello. 13:07:23 hello all, anything new? 13:07:34 thefox: I got my FS/Forth target compiler almost finished. 29 screens of code, and it handles code and colon definitions (since it's native code with inlined primitives, there's no difference between the two), conditionals, numeric literals, string literals, and indefinite loops. 13:08:24 what does FS stand for? 13:08:31 Oh, that's an ancient relic. 13:08:32 :) 13:08:54 Back when I was a teenager, before I joined the military, I tried running my own software development business, since I couldn't find a job anywhere else. 13:09:04 I called it Falvosoft. 13:09:25 * kors is trying to make Chuck Moore's colorforth work on bochs (x86 emulator) w/o much luck now, though :(. 13:09:30 I wrote my first dialect of Forth, based on Forth-79 during those years, so I could bang out prototypes quickly, and then when the customer was happy, I'd transliterate into C for them. 13:09:56 Needless to say, the business didn't work out. All of my FS-product line disappeared ... except FS/Forth. 13:10:43 Back then, FS/Forth was written in TASM. Since then, three generations of FS/Forth appeared, and then disappeared when I suffered a pretty nasty harddrive crash. 13:10:51 Nice... I wish I was skilled enough to set up some buissnies like that :) 13:11:29 My latest incarnation of FS/Forth could be pretty accurately described as Phoenix, since it's an idea which has risen from the ashes. All new code-base, and this time, written in Forth from the get-go (using Pygmy Forth as its bootstrapping target compiler). 13:11:39 My software went from Fox Consulting to Foxware and UltraTechnology when I started working with Chuck on a chip. 13:12:10 * kc5tja nods 13:12:37 Interesting, is there a focus for the intendend target(s)? 13:12:48 * kc5tja doesn't think he'll re-enter the software development consulting industry again, unless hard times hit of course. But still, FS/Forth is the only surviving product from that era, and it will continue to use the FS logo. 13:13:18 At the time, I was targeting medical, dental, and clerical customers. 13:15:09 rob_ert: I was programming since i was 4 years old. 13:15:38 I wish I had been taught programming before long division. 13:16:04 Well, my programs were admittedly very, very simple. :) 13:16:09 (back then) 13:16:15 I grew up on the Z-80 and 6502 CPUs. 13:16:26 * kors is programming for >10 years now but never thaught about starting a software company. :) 13:16:44 kc5tja: Saw my first computer at 10 :-/ 13:17:06 As my dad is an amateur astronomer, he has books that has Forth source code for telescope control on TRS-80s. That was my first exposure to Forth, but back then, I had *no clue* what the heck any of it meant. To me, BASIC was best it ever got. :) 13:17:06 Guess you already wrote forth systems at that age ;) 13:17:24 I think those are very educational environments. You can understand everything pretty easily. 13:17:29 rob_ert: No; I wrote FS/Forth 1.0 when I was 15. 13:17:38 I see. 13:17:50 I'm 16 now, and I wrote a simple forth a few days ago ;) 13:18:28 I wrote my last version of FS/Forth the day Falvosoft closed shop. Version 1.2. 13:18:32 All 16-bit DOS stuff. 13:18:49 rob_ert: lucky one. I've heard about forth after becoming C programmer and forgetting assembly :) 13:18:55 All pretty much a rip-off of PygmyForth with some minor additions of my own (like hierarchial vocabularies before I knew what vocabularies were. :) ) 13:19:12 kors: I haven't forgot asm, but I have used C for a while. 13:19:15 kors: I already wrote software in C at that time. 13:19:31 I was 25 when I got my first 8080 pc. By the time the 6502 was in wide use we always joked that we needed to find a 12 year old expert to explain what they had reverse engineered. 13:19:38 kc5tja: My forth was kind of a rip off of IsForth ;) 13:19:46 But since I'm quite at home programming assembly language software, learning Forth was a no-brainer for me. 13:19:57 rob_ert: Everyone needs to start somewhere. 13:20:08 kc5tja: Sure? :) 13:20:30 kc5tja: I'm coding C/ administering *nix for living, so, not much of choice. 13:20:30 Well, I'm not sad for my "late" start (not compared to the oldies though). 13:20:54 FS/Forth now has a new version numbering system, to reflect my more ambitious goals with it. It's also a grass-roots implementation -- although it's Pygmy heritage is still discernable, the Forth as a whole is now much more original. 13:21:57 The version I'm writing is called System 1 Release 3. System 1 means it's still a descendent of the first overall architecture of FS/Forth, but it's the 3rd major release of FS/Forth. 13:22:21 Although, System 1 isn't quite accurate, as the original FS/Forths were direct-threaded, and System 1 is subroutine threaded with inlined primitives. 13:22:48 Pygmy comes from cmForth which is 18 years old or something like that. There has been time for many new ideas to come up and ask to get tried out since then. 13:22:54 System 2 will target 32-bit IA-32 environments. 13:24:19 I happen to like cmForth/PygmyForth just the way it is. 13:24:31 However, I'll be moving into some other innovative things myself. 13:24:40 For example, I find 64x16 blocks quite limiting. 13:24:56 I'd rather have 80x12 blocks, with a 64-character title field. 13:25:08 I haven't been an assembler programmer on Intent in 8086, I have tried to follow the hardware changes but don't know all the details that an IA-32 programmer needs to know today. 13:26:03 Also, I like the idea of storing source code in a database, instead of something relatively unstructured like blocks or text files. I'll be toying with that concept in future generations of FS/Forth as well. 13:26:07 Well... the current PC architecture contains crap collected over the last quarter of a century :) 13:26:13 But for now, 64x16 "plain vanilla" blocks are it. 13:26:15 No wonder you can't keep it all in your head. 13:26:19 * kors haven't been even asked about x86 assembly since leaving army. 13:27:24 Also, I have absolutely zero need for instantaneous compilation. The software that I am writing compiles before my finger leaves the ENTER key, even with existing, "dumb" linked-list dictionary search techniques. 13:27:49 In Pygmy, compilation time is actually bounded by I/O latencies. 13:28:16 I watched your video regarding the history of AHA (I couldn't watch the whole thing though; RealPlayer notes a corruption in the file smack in the middle, RIGHT where you start going into details!! :( ). 13:28:21 I could keep all that in there, well not all the details at all the levels that I can with simpler chips, but I am the type that likes that kind of detail. I have my zip side. 13:29:27 Yes, the Pygmy/cmForth style is nice, lean/simple/fast . 13:29:43 In it you mentioned that iTVc had a dictionary with some 200,000 words or so. I think that is too big. ANSI-style vocabularies are somewhat complicated to implement, but they are a much simpler solution (to me) to the problem of rapid dictionary searches. No dictionary should ever exceed about 500 words. 13:30:19 s/No dictionary/No vocabulary/ 13:30:31 200,000 words? That sounds...big. 13:31:04 kc5tja: no one ever reported that before. I will try playing it from the website myself. Unless you have at least fast dsl you may need to download it completely before playing. But I'll check that out... 13:31:06 200,000 instruction words, not vocabulary words. But still, that's *at least* 20,000 vocabulary words. 13:31:25 thefox: I did download it completely. :) I can't stream it because I'm behind a firewall. 13:32:14 thefox: I'm using RealPlayer 8 Basic, Build 6.0.9.584 13:32:23 The 'size' of the combined code and name dictionaries was about 200k cells. We had some large modules and some small modules. We had flash files etc. too. 13:33:46 I am still using realplayer 8 basic ... something too. I have been afraid to upgrade because despite the warnings it works pretty well. It seems to choke on mp3 files in some repeatable way in certain files. 13:35:02 We had more 'Forth' words in our dictionairies than I think were appropriate but it all worked and proved portable enough to be ported to several systems. 13:35:08 I can seek through the video either. Just clicking on the FF or rewind button, let along the jog control, will cause it to hang forever. 13:35:33 s/can/can't/ 13:35:38 * kc5tja nods to thefox 13:36:20 I'm not saying that a combined total of thousands of words isn't good; frankly, I think that's just fine. I just don't like any single vocabulary having more than 500 words. 13:36:56 FS/Forth takes a middle-of-the-road approach to vocabulary management. 13:37:42 It has two pre-designated wordlists: Interpretter and Compiler. 13:37:53 In a typical weekly programmer's staff meeting at iTV a couple machineForth programmers would report that they had fixed any problems they found and made their module 5-30% faster and some percent smaller in the one to two K range, and several ANS Forth programmers would report that they only had to add 25K this week. Then they would go into the new problems. As it was we were still the smallest for what we did. 13:38:51 However, I don't limit the user to just those two vocabularies; as VIBE and my target compiler both make use of their own "private vocabularies" (simulated in Pygmy by necessity), I support ANSI's WORDLIST and DEFINITIONS. Thus, I define : FORTH Interpretter DEFINITIONS ; and : MACRO Compiler DEFINITIONS ; 13:39:27 Have you ever considered using a postpone wordlist to make 3? Just currious what thoughts you have on this implementation issue. 13:40:28 thefox: BTW, Did Mr. Moore tell anything more about FML? I was VERY interested reading that part of the irc interview. 13:40:31 thefox: An interesting concept. I'm not sure I have your entire idea though. This would eliminate the need for an INLINE bit in the word headers, where : FOO BAR BAZ BOO ; would, upon executing FOO, cause a straight inline BAR BAZ BOO to be compiled? 13:42:13 thefox: How would that be used? 13:42:19 rob_ert: hmm, what is the homepage for freedos? Seems like I'll have to boot dos under emulator to use masm. :( OS/2 is way too slow under bochs, and I do not feel like repartitioning. 13:42:26 www.freedos.org 13:42:34 rob_ert: ok, thanks. 13:42:50 He clearly has considered FML from the days when we worked at iTV and were having weekly programming meetings discussing the email and browser implemenation issues. We had a Forth script onboard and if you had the full dicitionaries you could do anything. But we didn't get to XML in FML in colorForth. Chuck was thinking about this stuff since colorForth started. 13:43:58 He has mentioned some of the ideas in various talks and essays. 13:45:05 * kors is trying to make C/Java/Perl/php programmers at least to review forth as an option for web programming. With little luck, though. They are deep in the java vs. C holy war. 13:45:32 * rob_ert wants C. 13:46:00 I've seen some implementations of forth as scripting languages for C programs, what do you think about that, kors? 13:46:11 * kors wants C+forth as the scripting language (like atlast) 13:46:36 kc5tj: I think it could be implemented many ways. I guess it should just do the same thing on any word based on which wordlist it is in. But I once designed a systems where the code dictionary was structured to have executable code and pointers to code sections that could be inlined or executed in a different mode. So it was just properties of the headers, or tokens, or type records or whatever. 13:47:17 though I'm not sure i'll not get heavy problems with manager if I'll use forth as the srcipting language for daemon I'm workin on now. 13:48:02 kors: I think you should start with all the stuff and examples at taygeta, then create some front pages with the kind of spin you want to not freak out the audience with reactions to negative connotations of buzzwords from their code wars. 13:48:44 People are much more complex than computers. 13:48:47 thefox: Well, I mean the purpose of the postpone wordlist. As I'm currently envisioning it, when interpretting, words in the postpone wordlist get executed like a normal word. When compiling, however, the compiler just inlines the definition into the current definition. This is how I'm envisioning it. It would solve the "two definitions per definition" problem that I currently have to deal with... 13:48:54 sure... 13:50:02 Gakuk! 13:50:37 Farkuk! 13:50:42 Hey Fare :) 13:51:09 At any rate, I can't implement that in FS/Forth's target compiler right now anyway, because Pygmy's ABI is completely different from FS/Forth's ABI. 13:51:24 The fact that I got the two to communicate as well as I did is, to me at least, a feat in and of itself. :) 13:51:57 thefox: what about portability issues? 13:52:11 kc5: I wanted to simply the code required to be able to execute it (or part of it) compile it (or part of it) and keep the total amount of code used to a minimum. Sometimes I didn't want to compile exactly the same code that got executed for a word so I looked at just including pointers in the dictioary header for optional inlining. 13:52:12 aren't machineforth programs to be thrown away when the new generation of machine is out? 13:52:45 It comes down to start-postpone this that the other thing end-postpone being trivial like [ ] 13:53:49 thefox: I think we're talking about two different things with the same name. :) 13:54:04 far: sometimes, some were designed to be portable to two or more machines. The machineForth portions had to be replaced with assembler or system calls on other implementations. Most was ANS Forth. 13:55:28 * kc5tja just isn't understanding. 13:55:46 what proportion of code is machineforth, what proportion is (yuck) ANS ? 13:56:01 don't you have a portable forth dialect that isn't ANS ? 13:58:07 At iTV about 50/50 by module count and 5/95 by volume written or compiled. With Chuck it is 100/0, at UT about 13:58:30 well mostly machineForth 14:00:26 Chuck and I had originally recommended doing it all in machineForth. We both felt that it would be much more portable than ANS. Managament wanted the valued added of a standard implementation for the investors, they liked the fallback value of the software being standard, whatever that meant. 14:00:58 money tends to be conservative 14:02:39 kc5: I was answering fare questions when you said you didn't understand. You many have lost the context. 14:02:50 hmm, people, I need an implementation of forth usable as the embedded language for C programs, and portable at least between FreeBSD/i386, FreeBSD/Alpha, Solaris/Sparc and OpenBSD/i386. And a relatively fast one. "Atlast" which I've allready tried is way too slow (constantly being beaten by java). Any ideas? 14:03:52 thefox: No, I was referring to the thread you and I were having. 14:04:07 kors: FICL 14:04:10 Atlast is a C++ teaching example, not suitable for what you want. You have a number of options. 14:04:38 thefox: ANS doesn't mean portable 14:04:54 building an abstraction layer over Machine Forth could have sufficed. 14:04:58 In my experience so far, Forth is in and of itself very portable. 14:05:01 kc5tja: the one you've mentioned? (freebsd boot). Ok, will try. 14:05:02 Without any standard. 14:05:43 kors: Yup. I was looking at that for my own uses here at work, but when I realized it required libc to compile (which wasn't too surprising, but...), I chose not to use it since the environment I was going to apply it towards didn't have a libc equivalent. 14:05:56 kc5: ok, the last thing I said was that [ ] inside of definitions just switches in and out of interpret/compile modes and if there was a postpone mode { } could do something like it in a simple way. One implemenation might be with 3 instead of 2 wordlists required by the systems, just an idea. 14:06:38 kc5tja: libc is ok. Anyway the C part of the project natrurally makes heavy use of it. 14:06:51 thefox: Oooohh, I see now. I believe Anton had an example using [[ and ]]. [[ was a special type of compiler that compiled POSTPONE blah instead of just 'blah'., for any number of words between [[ and ]]. 14:07:17 ANS does not mean portable, but making possible to write portable code was one of the goals of the design. It is harder than people think to achieve a modest level of portability and the supposidy portable ANS code that our experts wrote often wasn't. 14:08:44 My editor was originally written for GForth. When I ported it to Pygmy, I had to define a single screen with compatibility adaptor words. For example, I had to define FIND, 2SWAP, and a couple of other useful words. 14:08:53 kc5: yes, I was wondering if you had ever considered that. I tend to think postpone should be de-emphaisized rahter than moving closer to the heart of the kernel. 14:08:53 And >R and R>. :) 14:09:56 thefox: I was thinking about how similar my target compiler is to ColorForth actually. Target "immediate" words are defined on the host side with a T$ prefix. I often use these words without using postpone. For example: 14:10:11 I think Chuck's idea of publication standard rather than an execution standard was about making users understand what porting would require. 14:10:11 : #, T$DUP $BB TC, T, ; 14:11:03 thefox: Using words like [[ and ]] or { } would certainly approach the ideal. You relatively rarely use POSTPONE with a single word alone (though I clearly would have in the case of DUP above). 14:11:09 That's a good idea. I'll definately think about it. 14:13:16 You probably just made the logical next steps from cmForth that Chuck did after he got off the sourceless programming phase. It is nice to the similarities to machineForth and colorForth in both the code style and implementation design. 14:13:45 Ideas are kind of like that they sort of appear in many places at the same time. 14:14:02 * kc5tja nods 14:15:06 Well, I've already made a pretty nice simplification in my FS/Forth image; there are no VARIABLEs or CONSTANTs -- these are just pre-specified definitions. 14:15:19 7 CONSTANT WHITE is exactly the same as : WHITE 7 ; 14:15:30 People said that should : NEWWORD THIS THAT THE OTHER THING ; then POSTPONE NEWWORD but that isn't the way postpone really works, at least in many implemenations, the : ; might complicate what you are trying to do. 14:16:00 hmm, good, at least I managed to ficl with a single minor modification on both FreeBSD and Solaris (the trivial prob with linux-specific includes) 14:16:20 --- quit: rob_ert (Read error: 110 (Connection timed out)) 14:16:24 s/to ficle/to compile ficle/ 14:16:39 nice... 14:17:05 kc5: I like that. I would love to see an ANS test suite with extra credit! Extra credit for lots of nice handy behaviors that if you can count on in an implementation it makes it soo much more powerful. ANS is so intentionally vaugue about all sorts of things that you would like to count on, like that. 14:19:00 Well I have some non-computer work to do. I'll be back sometime. 14:19:08 --- quit: thefox () 14:25:00 --- quit: kors (Remote closed the connection) 14:26:51 --- join: skipC (skip@mira.taygeta.com) joined #forth 14:26:51 --- mode: ChanServ set +o skipC 14:26:59 whoops -- I get called off for a few minutes, and I miss thefox's response. Oh well. 14:27:02 re skipC. 14:35:31 thefox changed into skipC! 14:36:43 --- join: Herkamire (~jason@wsip68-15-54-54.ri.ri.cox.net) joined #forth 14:39:53 --- quit: Herkamire (Client Quit) 14:45:31 --- join: CrowKiller (Vapo_Rulez@cnq5-233.cablevision.qc.ca) joined #forth 14:45:37 hi 14:47:02 re CrowKiller 14:47:09 Hehe :) 14:56:36 ill laod my webserver 14:57:35 http://24.212.5.233/ 14:57:44 the project im working on 14:58:12 ill go see the Spider man movie in about 15 minutes and will be back 2 hours later 14:58:34 so it leves all of you plenty of time to review it ;p 15:08:05 --- join: Etaoin (~david@ljk2-25.sat.net) joined #forth 15:08:54 --- quit: CrowKiller ("brb after Spiderman") 15:11:39 hello 15:23:10 Viewing... 15:23:12 re Etaoin 15:49:20 --- join: tcn (tcn@tc2-login26.megatrondata.com) joined #forth 15:49:20 --- mode: ChanServ set +o tcn 15:50:00 t c n ! 15:51:35 hello fare 15:55:38 got my new laptop :) 15:56:13 nice 16:04:07 * skipC thinks that someday he will get a new laptop 16:04:51 * Fare thinks that he should port Linux to his jornada 820 16:07:24 re tcn 16:09:23 though porting retro would be just as good :) 16:11:10 --- join: futhin (thin@h24-64-175-61.cg.shawcable.net) joined #forth 16:11:20 hello 16:11:30 hi 16:11:56 fare, you haven't heard I was gonna rewrite linux? 16:12:06 uh? 16:12:10 no I haven't 16:12:15 rewrite it in forth? 16:14:30 the kernel 16:15:14 no, a more conventional language 16:15:43 hum. what language? 16:15:54 what about making it lisp? 16:16:15 and how is it still "linux" if you rewrite it? 16:16:41 nah. Something like C or Pascal.. not difficult to convert to, but better than C 16:16:51 how about ada? 16:16:56 never used it 16:19:24 programming in ada is like a straightjacket 16:19:56 but I'd rather work in ada than in C if i had to work with a team of mediocure programmers 16:20:56 Pascal is also kinda restrictive, but pretty intuitive. 16:21:53 ugh.. I was gonna leave win98 on this laptop but it's so retarded I'm having second thoughts :) 16:23:47 tcn: note that ocaml is like pascal without the straightjacket 16:23:48 tcn: why not forth? 16:23:50 any reasons.. 16:24:33 although if you want real-time behaviour, you'd better try the ml-kit instead 16:25:29 (ocaml's GC can take some time once in a while, though it's ordinarily quite fast; the ml-kit does region analysis to avoid GC altogether in most cases) 16:27:05 futhin: i don't like it for large programs 16:27:27 surely you could invent a paradigm to help make forth more suitable for large programs :P 16:27:38 tcn: what's wrong with forth for large programs? 16:27:49 (I have a few ideas, but you know better than I) 16:30:26 more stuff to keep track of in forth, maybe? because of the explicit stack or lack of types? 16:31:04 it works great for engineering problems, but big programs? I dunno. 16:31:46 tcn: Forth works just as well for big programs as it does for engineering problems. 16:32:00 You just have to think differently about how you write your programs, that's all. 16:32:18 Fare: If it maintains binary compatibility with Linux applications, then it can be considered Linux. 16:32:19 that's the trouble.. it's easier to think the same old way :) 16:32:56 kc5: linux 1.0 isn't binary compatible w/ 2.4 but it's still linux 16:33:14 tcn: I changed my mind about Dolphin; after working with the MIPS processor here at work, without an OS, programming it in C leaves a most disgusting aftertaste to say the least. I wont' even begin to get into productivity losses. 16:33:37 tcn: Actually, you're not quite correct. Simple 1.0 applications will still run on 2.4. 16:33:59 ok, linux-x86 vs. linux-ppc :) 16:34:17 don't get me wrong: C sucks 16:34:21 That is a non-issue because we're talking about wildly different processor architectures. 16:34:58 At any rate, to finish my thought, I've decided to implement Dolphin in Forth. 16:35:04 heh.. i guess it wouldn't be a big deal to be binary compatible 16:35:17 I feel it is not only technologically feasible, but even advantageous. 16:35:58 I never thought about writing an OS until I learned about Forth 16:36:42 For me, it was just the opposite. :) I wanted to write my own OS first, and then learned about Forth. 16:37:20 I wanted to write my own language :) 16:37:31 In fact, tcn, you were one of the first people to even direct my attention towards Forth while I was writing Dolphin 0.2! (perhaps you recall the e-mail address falvosa@borg.com?) 16:38:09 --- join: TheBlueWizard (TheBlueWiz@ip-216-25-202-187.vienna.va.fcc.net) joined #forth 16:38:09 --- mode: ChanServ set +o TheBlueWizard 16:38:10 tcn: consider using the ml-kit 16:38:11 hehe 16:38:13 hiya all 16:38:27 TheBlueWizard: re 16:38:34 hiya kc5tja 16:38:40 fare: sounds too complicated, but where is it? 16:38:46 hey tbw 16:38:54 hiya tcn 16:39:10 it's just the sml programming language, but with an implementation suitable for real-time applications. 16:39:34 Fare: What was the technique used to avoid garbage collection all-together? Regional analysis? 16:39:42 http://www.it-c.dk/research/mlkit/ 16:39:54 kc5tja: yeah, region analysis 16:41:15 * kc5tja researches... 16:41:21 Thanks...looking it up now. 16:41:27 * kc5tja has never heard of region analysis 16:41:34 (google just found the new address for me) 16:41:36 me neither 16:41:54 5 megs? it's a pig, fare :) 16:42:40 a pig? It's got a large and extensive library and an elaborate compiler 16:42:57 what matters is the size of the executable kernel it can produce 16:43:06 GCC is mucho more than 5 meg. 16:43:19 + glibc, etc. 16:43:28 hehe 16:44:03 well.. we'll see how big 'hello world' is 16:45:07 there are lots of papers on the ml-kit site about region analysis 16:45:39 it's really just the thing you do yourself when assessing that you can free() an object -- except that the compiler does it for you, automatically, and correctly. 16:46:02 and with lots of optimizations. 16:46:10 and all throughout the program. 16:46:22 and in a way compatible with higher-order functions, modules, etc. 16:47:53 it could be a good thing 16:48:13 it's really pascal without the straightjacket. 16:48:22 no need to declare types everywhere anymore 16:48:31 no need to free objects explicitly anymore 16:48:50 no silly limitations preventing ascending funargs 16:49:04 no silly limitations about calling conventions 16:49:19 ascending funargs? 16:49:24 This region-based memory management system is incredibly applicable to a Forth environment, especially since a stack is at the very heart of it. This is really quite interesting. 16:49:28 yeah, like, returning a closure 16:49:29 * kc5tja continues reading. 16:49:50 kc5tja: of course, region-based memory management could be done for ANY language. 16:50:04 I don't do closures 16:50:15 it's just that it fits well a language that also enforces structural typing. 16:50:16 speak forth here :) 16:50:39 tcn: closures are like dynamic :NONAME things 16:50:48 Fare: Certainly. But if it provides a more rational method of managing dynamic memory than ALLOCATE and FREE in ANSI Forth, I'm deeply interested in it. 16:51:24 oh ok 16:51:27 forth as a language has no limitations for large programs. you just gotta modularize your code & stuff.. granted, nobody has developed a standardized way of creating large programs in forth afaik 16:51:40 kc5tja: for region analysis to work, you need either a static implementation (like Stalin), or a language that dynamically enforces static type constraints. 16:52:03 futhin: modularizing things without a module system can be a PITA 16:52:21 SML and OCAML have module systems much more powerful than anything else 16:52:37 code a module system on the fly in forth, no biggie 16:52:37 (save maybe some scheme dialects like MzScheme or Bigloo) 16:52:56 futhin: not a module system like those I mentionned 16:52:56 ppl keep forgetting that you can do _anything_ in forth ;) 16:53:09 futhin: you can do anything with a turing machine too 16:53:39 ok, actually, in a sense, you can do more in forth -- but's it's no trivial job. 16:53:55 lies, the world is trivial 16:54:14 The method of modularization is critical. 16:54:48 * kc5tja has successfully modularized a program in Forth using extreme programming concepts and structure types. It works well. 16:55:22 Fare: Perhaps, but that shouldn't stop me from learning about the technique. 16:56:10 Fare: I've seen a somewhat similar solution where objects allocated with ALLOCATE are placed on a queue (that can also be used as a stack), so that objects which are either popped off or that fall off the other end get automatically deallocated. For some types of programs, it seems to work quite well. 16:56:49 well, region analysis does this automatically, with as many queues as needed for the program at hand. 16:59:53 time to install linux.. see ya 16:59:57 --- quit: tcn ("Leaving") 17:00:06 --- quit: futhin ("bye") 17:14:24 Very interesting material, indeed. 17:14:46 Thanks for the mention. I'll have to let it brew for awhile... 17:15:35 note that you could easily embed a forth syntax within sml 17:15:53 by defining a few CPS,SPS combinators 17:16:12 ML is very, very foreign to me. 17:16:49 I reviewed it in the past, and tried to learn more, but I got headaches trying to figure it all out. Lisp I can handle. ML I just can't. 17:16:53 * TheBlueWizard has dabbled a tiny bit in ML...interesting...a bit math like :) 17:17:18 funny - many people can handle ML but not Lisp :) 17:17:19 Well, I can do math too, but it's still wildly foreign to me. 17:17:54 I think I can handle ML...and Lisp....does that make me....weird? 17:18:08 And I'm not talking about things like factorial(0) = 1 | factorial(n) = n * factorial(n-1) -- that's obvious. I'm talking the more advanced stuff. 17:18:24 * TheBlueWizard nods 17:18:44 like, functors? 17:18:51 Anything beyond that factorial() thing above, especially when inferencing gets involved, I'm just clueless, and seemingly incapable of learning it. 17:19:10 kc5tja: ever played with Prolog? 17:19:17 TheBlueWizard: Never. 17:19:29 But I've seen Prolog in the past, and it too is just nonsensical to me. 17:20:42 yeah, it took me quite some time and some reformulations to make full sense of prolog 17:20:50 I find Prolog sensible for some areas 17:20:51 actually, it makes a lot of sense, but the original prolog is also cluttered with hacks 17:21:11 Try Mercury or Oz 17:21:31 * TheBlueWizard never have heard much of Mercury or Oz 17:22:06 one of my friends use Prolog to solve some tough math problems for his PhD dissertation 17:22:40 he told me it literally saved him weeks, possibly months of mental/pencil-n-paper labor 17:23:42 TheBlueWizard: IN what way? I know prolog is supposed to support "logical programming," but I've never heard anyone who actually programmed in it to call it "logical." :) 17:24:01 if he's using constraint logic programming, that can be easily the case 17:24:45 kc5tja: think of logic programming as goal-directed searching of a solution to a problem. 17:25:17 or walking through a search space looking for solutions to some specification. 17:25:37 Hmmm 17:25:56 something like that, yeah...I forgot exactly what problem he attacked with Prolog...I'll ask him about that if I ever get to talk with him 17:25:57 Like iterating through a table of, say, integers, and returning only those that are divisable by six. 17:26:41 no...much more advanced than that 17:27:21 TheBlueWizard: I need simple examples. I can't handle anything too complicated right now. Even a "Hello world" class program in Prolog looks utterly undecipherable to me. 17:29:34 * Oscarian is back (gone 13:21:40) 17:35:23 sorry...I've been out of practice with Prolog...but I think I have a Prolog book buried in one of my boxes.... 17:35:38 --- join: Herkamire (~jason@ip68-9-58-81.ri.ri.cox.net) joined #forth 17:35:41 if I find it I might cook up some little examples 17:37:59 * kc5tja found a tutorial website. They start with simple programs. :) 17:38:05 * kc5tja is reading it now. 17:39:50 OK, I'm starting to see how this works. I think.... 17:40:36 --- quit: davidw (Read error: 113 (No route to host)) 17:40:48 cool...hope this website you're looking at is good 17:40:54 If I have a predicate, like Sum(S1,S2,R) :- S1+S2 is R , then this can be used to test the validity of something OR to compute a value. 17:41:17 Sum(1,2,3) would return yes, while Sum(1,2,R) would set R to 3 (at this level of computation in the expression tree, tha tis). 17:42:11 the basic idea is that Prolog is a declarative language; you use it to declare a bunch of various relationships and logic assertions, and let Prolog inference engine find the solution 17:42:41 Yes, I know this from the start; what I didn't know was the language itself. :) 17:42:46 I didn't know how it worked. 17:42:58 (still don't actually, but at least I sort of understand the syntax a bit better now) 17:43:07 * TheBlueWizard realizes he might have a bit of Prolog materials on his Winblows machine, and starts looking for it 17:48:09 In Mercury, they distinguish between the various "modes" of calling a predicate 17:48:16 --- part: skipC left #forth 17:48:41 i.e. depending on which variables are instantiated in which way on input, and on output. 17:49:25 I found some...and some of that I got from the MSDOS archive at Simtel (it includes a nice, if big, diffsolv engine which can even do a limited form of reverse differentiation!) 17:50:59 here's an excerpt from the source code for differentiation engine: 17:51:09 /* definition of operators */ 17:51:21 ?-op(11, yfx, '^'). /* exponentiation */ 17:51:22 ?-op( 9, fx, '~'). /* minus sign */ 17:51:22 ?-op(11, fx, 'ln'). /* natural logarithm */ 17:51:37 d(X,X,1). 17:51:37 d(C,X,0) :- atomic(C), C \= X. 17:51:49 d(~U,X,~D) :- d(U,X,D). 17:51:50 d(C+U,X,D) :- atomic(C), C \= X, d(U,X,D), ! . 17:51:50 d(U+C,X,D) :- atomic(C), C \= X, d(U,X,D), ! . 17:52:00 d(U+V,X,D1+D2) :- d(U,X,D1), d(V,X,D2). 17:52:00 d(C-U,X,~D) :- atomic(C), C \= X, d(U,X,D), ! . 17:52:00 d(U-C,X, D) :- atomic(C), C \= X, d(U,X,D), ! . 17:52:03 OK, you're losing me. 17:52:07 stuff like that 17:52:32 Example of how to use the program: 17:52:33 to find the derivative, DY, of the function 17:52:33 y = x^2 17:52:33 with respect to x, one can 17:52:48 a) simply enter 17:52:48 d( x^2, x, DY). 17:52:48 after the Prolog prompt, 17:52:48 or 17:52:57 b) enter 17:52:58 Y = x^2 , 17:52:58 d( Y, x, DY). 17:52:58 after the prompt, 17:52:58 or 17:53:06 c) enter the complete sequence including 17:53:07 simplification, that is 17:53:07 Y = x^2 , 17:53:07 d( Y, x, Z), 17:53:07 s( Z, DY). 17:53:13 hope that helps 17:53:48 * TheBlueWizard stops typing for now :) 17:54:55 bed time 17:56:31 No, because I would need to see the Prolog (and understand it!) to figure that stuff out. A public interface like that really doesn't mean all that much to me at this level. 17:56:36 * kc5tja is still learning. :) 17:57:07 best to get a Prolog interpreter and play with it...you learn better this way 17:57:32 I might do that at some point; for now, I've bigger fish to fry. 17:58:03 bigger fish being your little Forth compiler, eh? 17:58:28 Yes. 17:58:45 heh...ok... 17:58:59 (BTW: My Forth environment does support backtracking -- I use it to implement iterators. I recognized such iterators right away when I saw MEMBER(H,[0,1,2]) constructs .... :) 17:59:20 cool! 17:59:31 Only in my Forth, it'd be written as: : [0,1,2] [BACKTRACKING] 0 YIELD 1 YIELD 2 YIELD ; 17:59:45 Or you can do stuff like this: 18:00:09 : 1-20: [BACKTRACKING] 0 BEGIN DUP 20 <= WHILE DUP YIELD 1+ REPEAT DROP ; 18:00:36 : OnlyEven: [BACKTRACKING] DUP 1 AND 0= IF YIELD ELSE DROP THEN ; 18:00:47 : .evens 1-20: OnlyEven: . ; 18:00:58 .evens will print 2 4 6 ... 18 20 to the screen. 18:03:10 --- quit: Fare ("3053") 18:03:13 looks like your sttuff may have capture much of Prolog-ish flavor.... 18:03:25 Well, I can't ask it arbitrary questions, of course. 18:03:28 Forth is way too static for that. 18:04:13 I see...yeah... 18:04:16 For example, in one of my virtual machine assemblers, I make use of backtracking to search through symbol tables, sometimes specifically looking only for unresolved symbols. 18:04:49 So I have an iterator (ForEachSymbol:) and a filter (OnlyUnresolvedSymbols:), which I can use to manipulate unresolved symbols. 18:05:07 It does make the program logic much cleaner. It's a *perfect* fit to the Forth environment. 18:05:16 I think so, anyway. 18:05:34 * TheBlueWizard smiles 18:06:06 ingenious...I usually would build a linked list of unresolved labels...but that is nice! 18:06:45 In my assembler, the symbol table is kept in a statically sized array. Maintaining links was more complication than seemed necessary for me. 18:07:46 But it worked well. Perhaps the linked list solution is "simpler" from an implementation stand-point. 18:08:57 The reason I went this route though, is I had a *lot* of places where I used code equivalent to ForEachSymbol:, but with *very* slightly different applications and requirements. I needed a way to abstract it out. I tried passing a "callback" word on the stack for it, but that just got really messy. I recalled mlg's backtracking work, and decided to try it. 18:09:13 hmm...your solution allows for a more dynamic "querying" approach 18:09:16 Now, all of my FS/Forth implementations will contain support for backtracking. Even if I never use it. :) It's just too doggone handy to have. 18:11:11 I see re: your solution...I've seen countless cases of "similar codes but different enough to have to copy them and modify..." 18:11:30 hehe 18:12:31 Yes, and the support for backtracking is designed specifically to eliminate that problem. 18:19:37 oh...re: your Dolphin OS project, here's one thought that I'm kicking around in my head: you know how "wonderful" the piping is supposed to be in *NIX system...yet it doesn't get used as much...I eventually realize it is basically due to lack of structured info in the data being passed...hence the constant "fudging" to extract pieces of data 18:20:34 So I thought: what if we give it a compact XML like structure? then one would simply collect what is needed according to tags...thoughts? 18:21:03 --- join: futhin (thin@h24-64-175-61.cg.shawcable.net) joined #forth 18:22:23 --- quit: Oscarian ("rebooting, then setting up my printer...back soonish") 18:29:15 TheBlueWizard: Not very practical because none of the older software would use it. :) Text is still text, and there's nothing preventing that from happening now. 18:30:32 TheBlueWizard: Actually, can you imagine a stack-based solution? When you think about it, a | b | c describes a program that accepts input from stdin, and places the result into a pipe. The pipe is equivalent to a one-deep data stack, where that stack item is the text output from 'a'. Imagine how nice it'd be if you could generalize it so include multiple streams. 18:33:47 the answer is simple. extend your paradigms in order to take forth to the next level. 18:35:14 it is simple! :D 18:35:54 In the abstract it is, but in practical application, it's not so simple. 18:36:13 We'll see what R&D provides with Dolphin. 18:36:20 lies, acquiring the paradigm is 90% of the problem 18:36:21 text is a special case of structured data...I'm thinking of the classic example of collecting file size using "ls | col 4 (or whatever)", and having to deal with spaces which can be interpreted differently 18:36:25 s/problem/work 18:37:28 futhin: You need to demonstrate practicality in order for the paradigm to be accepted. Practicality is expressed in terms of APIs and supporting software (for if you have no software to demonstrate the concept, then how can you say it's been accepted?). 18:38:11 --- join: CrowKiller (Vapo_Rulez@cnq5-233.cablevision.qc.ca) joined #forth 18:38:12 no don't worry, we are at stage 1 18:38:18 it'd be nice to do something like this: "ls | tag size | sum"...tada! I agree that practicality is important 18:38:24 re everyone 18:38:35 stage 1: recognize that coming up with a good paradigm is important for extending the powers of forth 18:38:37 CrowKiller: re 18:38:40 stage 2: brainstorm 18:39:08 * kc5tja isn't interested in extending the powers of Forth. Forth is already powerful enough to express anything and everything I can adequately think of. 18:39:22 It's the shell of a "traditional" operating system that I'm concerned about here. 18:39:30 i repeat. go to http://24.212.5.233 for a "brainstorming" of my forth system 18:39:40 CrowKiller: Been there already. 18:39:44 kc5tja: precisely :) 18:39:47 you but not the others ;p 18:40:15 kc5tja: you misunderstand my intent of meaning then 18:40:43 futhin: Yes, I apparently do. Can you clarify the context of your position? 18:40:55 futhin: I know what you mean and what I came up with is at the url specified above 18:41:55 kc5tja: paradigms have to be figured out in order to use forth for things beyond its previous intent by chuck.. string handling, object oriented crap, garbage collection, a forth os with lots of large forth programs peacefully coexisting, etc.. 18:42:06 large forth programs 18:42:06 etc 18:42:11 these are all examples 18:42:18 i'm not endorsing object oriented crap 18:42:30 forth need quick compilation, forth need to restrict accelerate dictionary search to the greatest extent possible, forth need to simplify all its inner constructs to a usable minimum and to the simpelst possible presentation before trying to establish a standard IMHO 18:42:45 forth has quick compilation :P 18:42:46 remove restrict from the previous sentence ;p 18:43:18 my project can actually spawn compilers, much like a program can uncompress itself 18:45:08 hm, the idea paragraph at your page sounds interesting 18:45:26 you could've expanded more on it.. written more about it :P 18:46:24 its the job of your imagination, and mine is quite constrained right now to focus on doing something, if for that time only lol 18:47:41 I think we can't do much than this to empower forth 18:48:28 so ill try to come up with something, I"ll try to learn machineforth and decipher jeff's code 18:48:56 because huffman compressed tokens like in my system can be evenb easier to implement and more compact 18:49:22 but im sure his system reflects his years of programming experience 18:49:40 so ill try to take his indirect coding style suggestion into account ;p 18:50:24 the count mechanism discussed in my page is it understandable like this? 18:51:06 didn't read that part :P 18:51:09 maybe not using the next byte, but using the following cell (32/16/8bits) could be more suitable for a standard 18:51:23 i skip the technical details and go straight to the idea part :P 18:52:08 because let say you got a string pointer token wich is one bit, 0; theres 7 bits after iun the byte so you can index 128 different words 18:52:35 because in my forth system the dictionary is only a table of cfa, nothing else, "no strings attached" ;p 18:53:07 but to extent that mechanism of only 128 accessible words 18:53:19 if the count is zero, then you look at the other cell 18:53:30 if its zero, then you effectively want to point to zero 18:54:28 but if its not zero, then you use that value+ the base adress + 2^bits - 1 + the count that is in the token 18:54:32 oups 18:54:37 but if its not zero, then you use that value+ the base adress + 2^bits - 1 18:55:16 so let say you want to compile the machineforth opcode 2* 18:55:44 you build the token 10 (index of 2* into the table of functions) 18:56:08 so it maylook like let say 10000010 18:56:22 when the compiler see this byte 18:56:29 he look at the leftmost byte 18:56:38 its a one so its not a string pointer 18:57:05 after he looks at the second lefmost bit, its a 0 so its a function token 18:57:28 after he logical and this token with 00111111 18:57:44 to only keep the count 18:57:44 * kc5tja doesn't see the need for tokenized source except as a compact representation. I don't see compilation performance as a limiting factor in existing Forths. 18:58:06 and sicne its not zero actually do a call to the function 2* by referencing the table 18:58:21 imagine jit compilation so fast 18:58:34 that your gba can be used to compile code for your pc 18:58:34 Forht already does JIT compilation faster than anything else I have. 18:58:50 imagine artificial intelligence system 18:58:59 they could modify themselves on the fly 18:59:06 dont need an expensive fpga 18:59:13 or FPGAs 18:59:21 and you can achieve higher performance 18:59:33 imagien teh open source movement with that technology, imagine a gui 18:59:41 that loads a program on the fly 18:59:42 In reviewing the video that thefox put on his website about AHA, I realized right away the source of his source-related problems: 20,000+ Forth words sitting in one dictionary. Of course it's going to be slow. The solution is not a more complicated editor, but rather, a larger set of smaller dictionaries. 18:59:57 a whole operating system could fit on a 1.44mb floppy 19:00:11 its too much complicated 19:00:26 We already have OSes that fit entirely on a single floppy. 19:00:54 i mena a full feature OS with nothing found on other 1.44 MB floppy 19:00:56 Supporting multiple wordlists is not complicated. 19:01:12 At most, you're looking at 5 to 8 new Forth words to manage them. 19:01:12 its not complicated if you compile your apps on demand 19:01:26 and use relative dictionary addresses 19:01:29 and maybe a compiler 19:01:31 modified 19:01:35 CrowKiller: You're obviously not familiar with QNX then. :) 19:01:38 not a compiler 19:01:46 in fact it would be a new kind oif program 19:01:50 that read source 19:01:58 and from anywhere in the dictionary 19:02:03 can generate new programs 19:02:09 no i know what it is 19:02:12 genetic programming 19:02:14 ;pp 19:02:19 That's not genetic programming. 19:02:21 That's overlays. 19:02:36 genetic programming would be a lot easier with that system 19:02:37 That technology existed way back since before Forth, even. 19:02:49 Well, no argument. 19:02:53 doing the breedings and mutations and all would be much more simplified 19:03:03 and efficient 19:03:10 But that doesn't change the fact that the system addresses a problem that really isn't a problem (in my opinion) 19:03:12 anyway im not too familiar 19:03:22 gotta go...bye all 19:03:26 with those matters but to me it shows to the world the rela power of forth ;p 19:03:40 73 TheBlueWizard 19:03:43 see ya thebluewizard 19:03:49 73? 19:04:12 TheBlueWizard: Ham radio prosign meaning "Talk to you later." 19:04:40 ah...I know nada about ham stuff :) 19:04:58 tokenized communication, your familiar with that ;o) 19:05:01 anyway, I hope I don't bore you 19:05:09 TheBlueWizard: Nope. 19:05:13 bye for now 19:05:20 --- part: TheBlueWizard left #forth 19:05:44 CrowKiller: Yes, but I see applications for tokenized source only in a compression standpoint (what you're describing is essentially how OpenFirmware implements their Fcodes, by the way, so again, it's not anything new). 19:06:20 they use huffman compression for their tokens? 19:06:22 I believe that thefox mentions on one of his webpages about AHA that his system is influenced by OpenFirmware's representation of Forth sourcecode. 19:06:36 Not Huffman per se, but it is a tokenized source form. 19:06:53 ill try to read about fcode more then 19:07:00 ive read an article in circuit cellar about that 19:07:05 or is it in it? 19:07:08 The only problem with these tokens is that the mapping between token values on one system may not match another. 19:07:18 they talekd about firmware and how to make it evolutive 19:07:21 I've never read any Circuit Celler OpenFirmware articles. 19:07:28 mayeb elsewhere 19:07:30 hmm 19:07:39 they talked about forth im sure 19:07:55 Perhaps; but I'm not aware of it. 19:08:47 for the function table, thats why we need a standard 19:08:52 like system calls on unix 19:09:03 we need a standard for forth 19:09:08 and it would be a start 19:09:38 by working on that standard function table we could remove things we dont need and try to implement new methods 19:09:44 My philosophies on this are fundamentally different from yours, it seems. 19:10:11 im saying this because it may be the only way a standard could be achievable between forth systems 19:10:22 at least for the same hardware 19:10:47 OpenFirmware certainly successfully achieves this using tokenized source, there's no doubt about that. 19:11:02 because a function for a 8 bit implementation is different from 16/32 bits one 19:11:05 ill read it then 19:11:31 However, in my work with both GForth and Pygmy Forth, the amount of compression (if you will) one gets by compiling Forth source to whatever representation that Forth envrionment uses is only around 2.5:1 to 1.8:1 or so. 19:11:48 A straight-up text compressor will usually get between 2:1 and 3:1 compression ratio. 19:11:51 but speed, how about speed? 19:11:54 --- join: qless (~cerberus@mani.kobayashimaru.org) joined #forth 19:12:06 what about total size of code? 19:12:08 howdy folks 19:12:13 hi 19:12:20 heya crowkiller 19:12:21 Thus, personally, I personally see tokens as a red herring. 19:12:27 What about speed? 19:12:37 Compilation is a one-time thing. It occurs relatively infrequently. 19:12:43 re qless 19:12:50 And what about the total size of the code? 19:12:54 I don't see how this affects anything. 19:13:24 On my 33MHz 486 laptop, Pygmy can compile itself (about 100 screens) in about 12 to 15 seconds from the harddrive. 19:13:33 From a ram disk, it's about 0.5 seconds. 19:13:46 That's 200KB of source text per second processing rate. 19:14:20 Hence, I/O latency is, bar none, the biggest block to rapid compilation for large Forth software systems. 19:15:04 Forth's dictionary searches can be optimized to utilize word-sized string compares instead of byte-sized string compares quite easily, thus giving another 2x to 4x speed improvement still. 19:15:20 (assuming text comparisons are the limiting factor after I/O) 19:15:50 ahh the low-level life. refreshing :-) 19:16:03 aha eliminates the need for dictrionary search 19:16:08 The problem Chuck was having was, while working at iTVc, the forth dictionary grew to 200,000 cells. That's **a lot** of Forth words in the dictionary!! 19:16:09 i thinks its great 19:17:01 So instead of re-organizing the dictionary structure, which contrary to popular belief is *NOT* complicated, and is demonstrably a lot easier than writing customized editors and whatnot, Chuck decided it'd be better to let the editor do most of the compile-time work. 19:17:13 In principle this is a good thing, and I'm sure that for Chuck it works great. 19:17:38 But it's an awfully complicated solution for someone who is so hellbent on exploiting simplicity. 19:18:14 Chuck really wasn't banking on fast compile-times when he wrote ColorForth. 19:18:21 That is a side-effect of the design. 19:18:28 What Chuck was after was program correctness. 19:19:31 The fact that the editor did most of the compiler's work at edit time meant that the editor could flag undefined words *right now*, as the user hit the space bar. Since the editor needs to do a dictionary search for that to happen, it already has an XT for the word (or not, in the case it wasn't found). Hence, it was a simple jump to go towards compilation without dictionary searches. 19:19:52 by moving dictionary search to edit time you simply things because if dictionary search only exist at edit time, they cant be happening in the compile or execute phase 19:20:12 i meant the errors cant happen in the two last phases 19:20:20 Actually, you're wrong. I can make it happen during compile-time. :) 19:20:29 It's just not the default mechanism now. 19:20:32 And it's not really simpler. 19:20:48 The compiler's main loop is now sitting in the editor, instead of inside the Forth kernel. But the code still exists. 19:21:14 but it get executed once 19:21:20 not every time the program has to run 19:21:23 It does in a normal compiler too. 19:21:24 ;o) 19:21:42 When I type "EDIT" in my Forth environment, it doesn't recompile the program every time... :) 19:22:05 yeah I know what you mean, i was talking about interpretive forths 19:22:14 It just goes. Only when I type "VIBE LOAD" (where VIBE is a pre-defined constant for the root block of my editor) does it actually compile. 19:23:13 The fact of the matter is, for me, even Pygmy's relatively inefficient dictionary format supports a compiler so fast that I can't tell the difference. VIBE is fully compiled before my finger leaves the ENTER key. 19:23:36 It takes about a second to compile FS/Forth's target compiler from disk (about 32 screens currently). 19:23:46 Again, most of that time is spent waiting for I/O. 19:24:25 Don't take my comments as "gospel," that I'm somehow against tokenization. 19:24:27 I'm not. :) 19:24:52 I get your point ;p 19:25:00 it doesnt do any difference to me neither 19:25:20 mainly because i never used a forth system before other than colorforth 19:25:26 i just read about pigmy 19:25:42 and all thos eothers forths such as enth-flux, eforth 19:25:49 Forth is different things to different people, and I highly encourage people to think in different ways. I myself noticed shades of ColorForth-isms in my target compiler. Imagine my surprise when I noticed a pattern of T$xx versus xx alone. T$xx compiles a call to xx, while xx actually invokes it. :) 19:25:54 so i cant really compare 19:27:12 maybe this forth im developping would prove valuable on FPGA based designs or slower than 1ghz x86 that are around lol 19:27:32 it might prove useful on anything. 19:28:08 Like I said, tokenized Forth source is pretty compact sometimes. It could be quite useful on things ranging from a Commodore 64 environment all the way up to >1GHz machines. :) 19:28:28 Your tokens do have a serious advantage over Chuck's tokens, though... 19:28:34 useful when speed is the prime factor around 19:28:42 Because your tokens are variable length, you can pack more of them in a 1024-byte block. 19:28:57 easier to understand, to me at least ;p 19:29:03 With chuck's 256 character blocks, each word expands to 4 bytes, thus maintianing the 1024 byte block structure. 19:29:41 Thus, you can get higher code density, ad that does translate to faster compile times because you're reducing the number of I/O operations needed to load the file. 19:30:01 s/ad/and/ 19:31:36 The first version of FS/Forth will use byte-wise name lookups in the dictionary, but the next version after is going to use word-sized name-lookup (e.g., it compares strings two or four bytes at a time instead of 8-bits at a time) 19:32:00 this particular observation that i/o is a key factor is giving strength to my argument that this system should have been used 30-40 yers ago, when computer first started to be manufactured 19:32:35 yeah by using repne prefixes and stuff like that 19:32:44 Thus, words that are 4 bytes or less can be discovered very quickly. 19:32:46 i saw those, even in colorforth source 19:33:30 FCode is a Forth dialect compliant to ANS Forth, that is available in two different forms: source and bytecode 19:34:07 * CrowKiller is puking, because he just read ANS Forth 19:34:37 Well, I did say OpenFirmware was a dialect of ANSI Forth... :D 19:35:06 i just thought it was a personnal observation 19:35:14 but ive read a bit of the documentation 19:35:19 and i stooped already 19:35:36 maybe in another day lol 19:35:49 ANSI Forth is to Lisp as Machine Forth is to Scheme, I guess. 19:36:50 ansi forth almost discouraged me of using forth when i first started 19:37:24 luckly the www.ultratechnology.com site was up ;p 19:38:38 Oh? How so? 19:39:04 FS/Forth will have a lot of ANSI-isms in it, though it itself isn't ANSI compliant. 19:39:15 (Not, at least, without a compatibility layer compiled in.) 19:39:33 Basically, I take those parts of ANSI that I like, and I discard the remainder. 19:44:16 again, i never used an ANSI Forth 19:44:25 i cant really really tell 19:44:42 but as chuck moore said: ansi forth is the antiforth 19:45:10 If you implement your Forth to be strictly adherent to ANSI, then yes, he's correct. 19:45:21 ANSI is *not* a complete description of a Forth system. 19:45:42 It's unfortunate that leaders like Forth, Inc's SwiftForth and GForth are *strictly* adherent with the standard. 19:45:50 FS/Forth, however, takes a different approach. 19:46:02 It's a more pragmatic Forth, being designed with my frustrations with ANSI into account. 19:46:19 Certain words from the standard are already supported in the core. 19:46:44 IF, THEN, ELSE, BEGIN, AGAIN, WHILE, REPEAT, UNTIL, and AHEAD are all there, and implement the control flow mechanism the same way. 19:46:56 I added a new control flow word, CALLAHEAD, to make implementing back-tracking easier. 19:47:06 HOWEVER... 19:48:14 I absolutely do NOT share any of Forth's standard input model; hence there is no >IN, no TIB, no WORD, no PARSE, no FIND, no ... etc. 19:48:43 The FS/Forth compiler is more open to the user as well -- you can implement nearly anything you want. 19:49:07 Again, if you really need words like the above, you can define them in terms of FS/Forth's words. 19:49:17 The idea is, "Do everything that ANSI does, but do it better." 19:51:02 ill try to get a forth running before I go into an appartment 19:51:54 because tis year school is easy 19:52:23 but next year it will be the Cégep, or more commonly called college in the us 19:52:39 here in quebec we have a quie unique educational system 19:52:43 quite 19:53:02 we do 6 elementary grades strating at age 5 19:53:25 after 5 secondary grades (highs school stuff) 19:53:41 after 1 to 3 CEGEP years 19:53:55 and you can go to the university 19:54:08 Ours is almost identical. 19:54:09 maybe after all only the cegep is different 19:54:11 lol 19:54:17 yeah that what i realized 19:54:21 6/6/2-4, respectively. 19:54:35 when i tried to translate it in english ;p 19:55:08 i will go in the Ottawa-Hull region 19:55:30 I'll try to meet english people irl 19:55:39 mayeb my english could get better ;p 19:55:45 Hehe :) 19:56:41 I can't imagine, with so many English speaking Canadians in existance, that someone can be so French-influenced as to not be able to speak fluent English. 19:56:46 But I'm in a similar boat here. 19:57:05 We have so many Mexicans, that anyone who doesn't live here wouldn't be able to explain why I can't speak a word of Spanish. 19:57:47 yeah spanish is a language many of my friends will be learning next year, for that particular reason 19:57:56 And believe me, I can't. It hurts sometimes, because our hotel attendents only speak Spanish. We have to go down to the front desk to translate English for them. 19:58:03 i would personally learn german 19:58:39 My roommate speaks bastardized French. :) He claims he's fluent in it, but I don't believe him. :) 19:58:40 german has such funny word and prononciations, and the chaos computer club is great ;p 19:58:56 Chaos computer club? Is this a demo group? 19:59:15 the ccc is a famous hacking group of germany 19:59:18 maybe their best 20:00:24 they organize conventions and stuff, and their hacks are great, but before the Fish arrived, i could not read them, so i brainwashed myslef to like german to learn it afterward lol 20:00:25 do they know forth?! :P 20:00:41 dont know at all 20:02:17 i got 60 can$ for my birthday present by my aunt 20:02:46 Congrats. 20:02:52 I'll surely buy ANKOS, here at www.wolframscience.com 20:03:06 this book seems amazing, just look at the sample pages 20:03:37 ANKOS? 20:03:47 they printed it in Canada, because your printing facilities could not accomodate the fine pictures in the book 20:03:55 A New Kind Of Science 20:04:05 70$CAN 20:04:34 a littel expensive, but that guy is truly amazing, publishing a paper at 14 about cellular automation in physics... 20:05:11 i once published at 12-13 years old in a ezine in quebec about how to "hack" railroads 20:05:25 with ASCII Drawings and all 20:05:26 What do you mean by, "fine pictures?" 20:05:28 Heh 20:05:37 look at the site, since its cellular automata 20:05:44 you need a lot of dots 20:05:54 to understand what he,s saying in his book 20:06:00 Yes, I know what CAs are. 20:06:22 I don't see why it couldn't be published in America though, except price issues. 20:06:35 its published, but not actually printed 20:06:37 there 20:06:47 anyway its just a small fact 20:06:48 ;p 20:06:53 We can publish magazines with 1200dpi, I'm sure we can do a book with CAs in them. :) 20:06:57 * kc5tja nods 20:07:03 I think it has to do with expenses, personally. 20:07:18 basically he says that cellular automata is the basic building ruels of the universe 20:07:38 as only those kind of phenomenons are not predictible instantly and need time 20:07:43 to exist 20:08:23 from a zero to infinity standpoint, cellular automations are the kind of thing that can run for eternity 20:08:47 he talks a lot about stuff like that in the last chapters,as it was written in the review 20:08:56 * kc5tja nods 20:09:10 That may come in handy in making my circuit board design/simulation system. 20:09:33 does his stuff on cellular automation prove that entropy is pure nonsense!? 20:09:46 Oh, give me a break. 20:10:22 heh 20:10:27 <-- is being funny 20:11:11 im just saying that our universe need time to exist, and only the necessisty of a cellular automation example in infinite void might give something to look at 20:11:53 i have some background in Sacred Geometry and Hyperscience and this book is one of those things thta cant be ignored 20:12:22 as it might redefine science completely, or help in fields like nanotechnology 20:13:51 never heard of sacred geometry 20:13:55 or hyperscience 20:15:22 hyperscience for thsoe ho can read french, as it was discovered by a french guy 20:15:24 http://members.aol.com/hatemf/nombres.htm 20:15:33 the other fondamental thing in hyperscience 20:15:53 is that perpetual motion between two rotating magnet is possible 20:16:34 Well, that blows hyperscience right out of the water. 20:16:45 they call it antigravity and it happens when two sphere magnets deaxed, much like the earth, are rotating at the same speed and moving away from each other 20:16:59 ill give you an english link 20:17:06 some of this stuff was translated 20:17:08 It doesn't exist. 20:17:49 Two rotating magnets will emit electromagnetic radiation, thus causing them to slow down, and the surroundings to heat up. 20:17:56 the guy made an experiment, and this theory encomapss all things, from science to the I AM to the spirituality fields of knowledge 20:18:07 And anti-gravity can't possibly exist, since gravity is a function of mass. 20:18:27 Has the experiment been replicated by reputable sources? 20:18:46 http://www.hatem.com/hyperscience.htm 20:18:50 * kc5tja once was a physicist, and is planning on returning to that field, so I know a thing or two about the physical world. :) 20:18:53 No. 20:18:55 I don't want that link. 20:19:07 I want a link from, say, UCSD, or Berkeley, or MIT... 20:19:25 I want *proof*, hard proof, that what is described actually works. 20:19:36 Until then, I refuse to believe it, and will advocate against it. 20:19:52 --- join: CrowKilr (Vapo_Rulez@cnq5-233.cablevision.qc.ca) joined #forth 20:20:35 --- quit: CrowKiller (Read error: 104 (Connection reset by peer)) 20:20:36 re 20:20:42 damn internet connection 20:20:53 anuway for hyperscience here's the page 20:21:04 its my official religion ;p 20:21:17 http://www.hatem.com/hyperscience.htm 20:21:34 here,s a quote 20:21:36 HYPERSCIENCE is one sole Science, one 20:21:36 sole Law explaining all the phenomena of 20:21:36 the universe, from Physics to Psychology. 20:21:36 One more reason for Popper to say that it is 20:21:36 not scientific, but Popper's epistemology is 20:21:37 founded upon principles of observation that 20:21:39 are overtaken by observation itself. It is 20:21:41 good to see how mankind and knowledge 20:21:43 evolve thanks to all of our errors 20:23:24 they started to think about it after the oldest hatem of the two, the father, discovered antigravitation 20:24:40 But anti-gravity just doesn't exist. 20:24:49 weel kind of 20:24:53 well kind of 20:24:56 the real word 20:24:56 If it did, we'd be exploiting it already. 20:25:00 is degravitation 20:25:41 its not anti-grav like in movies and litterature about flying vehicules and all 20:27:16 anyway thats the more brilliant effort of simplification ive seen 20:27:33 Too bad it doesn't work. 20:27:58 im deforming the facts 20:28:04 its very long to read in full 20:28:14 but its only because the site is very complete 20:28:20 they cover a lot of ground 20:28:26 on all subjects 20:29:47 http://www.hatem.com/atom.htm 20:30:04 look in the file 20:30:08 until you see this picture 20:30:14 and read stuff around this 20:30:15 http://www.hatem.com/IMG00060.GIF 20:30:42 before is philosophical and only explain where degravitation is coming from 20:31:11 but the degravitation is described in the part of atom.htm where the image is, just have to scroll down 20:32:33 quote: 20:32:39 That is what NEWTON's "gravitation" explains: planets 20:32:39 and stars are complete magnets, but we think they are only 20:32:39 attractive, for we cannot see repulsive effects: their nuclei 20:32:39 spin in synchronized fashion, so that they are always in 20:32:39 attraction. That's what explains harmony and steadiness in 20:32:39 galaxies, and most of all, the fact that planets spin and 20:32:41 remain spinning. As strange as it may seem, scientists don't 20:32:43 know why planets spin around. They think this serves no 20:32:45 purpose, when in fact it provides the source of gravitation. 20:32:47 They can't explain why planets turn on their axes in about 24 20:32:49 hours, 12, 6 or 48 hours, which allows synchronism and 20:32:51 attraction (the genesis of these motions is explainable only if 20:32:53 planets are complete magnets). The nucleus of the sun spins 20:32:55 on its axis in 24 HOURS just as does the Earth's. But since it 20:32:57 is very big (1,300,000 times bigger than Earth), its surface 20:32:59 cannot turn at such a speed. 20:33:57 Thanks for posting that. 20:34:05 I no longer need to look at the site. 20:34:10 The first sentence is all I needed to see. 20:34:12 Junk science. 20:34:31 another one just for you kc5tja ;p 20:34:36 Since the nucleus is obliged to turn in synchronization with 20:34:36 all the nuclei of the galaxy ( which gives it its cohesion), a 20:34:36 rubbing together of the different layers of the sun occurs, 20:34:36 which increases the heat, and makes the matter fluid and the 20:34:36 sun bright. That's why big stars shine, whereas planets, 20:34:37 which are smaller, do not. The heat of the sun is never caused 20:34:39 by nuclear explosions: They are the consequence of heat and 20:34:41 not the cause. This clears up the fact that the Sun and the 20:34:43 other stars live long, and generally remain at almost the same 20:34:45 temperature all their lives, sometimes increasing, sometimes 20:34:47 decreasing, but not always decreasing, or increasing up to the 20:34:49 point of explosion, which would soon happen if physical 20:34:51 theories were accurate. 20:35:08 the experiments with magnets are true science 20:35:17 I love it. "The heat of the sun is never caused by nuclear explosions." How do you explain neutrino emissions then? 20:35:25 they are the proof that at least degravitation isnt made of only thin air 20:35:26 WRONG! 20:35:31 The experiments are FALSE science. 20:35:42 Magnets behave very differently from gravity. 20:35:47 They are the consequence of heat and 20:35:48 [CrowKilr] not the cause. 20:36:02 This is laughable. 20:36:06 I can't believe you believe this stuff. 20:36:07 nuclear explosion happen but arenot the cause 20:36:10 I can't wait for you to get into college. 20:36:34 neutrino emissions are the consequence of heat, then? 20:36:36 The sun is bright because of heat, yes, but it has NOTHING to do with different layers "rubbing together." 20:36:49 Etaoin: No, it's the consequence of nuclear reactions. 20:37:08 but those are there because of the heat 20:37:13 No, they're not. 20:37:19 kc5tja: I'm trying to understand what he's trying to say. 20:37:22 Absolutely, positively, 100% not. 20:37:25 why then lol 20:37:28 Etaoin: It doesn't make any sence. 20:37:37 kc5tja: I know. 20:37:47 CrowKilr: Because Neutrinos are subatomic particles that are liberated in the reaction to balance out the nuclear reaction. 20:38:03 Of course, the nucleus of the Sun spins in 24 hours (or an 20:38:03 entire multiple or submultiple). If it did not, IT COULD NOT 20:38:03 ATTRACT THE EARTH. Only synchronized spins produce 20:38:03 gravitation between stars and planets. Our apparatus shows 20:38:03 that clearly. 20:38:12 If the neutrino remains, the energy state of the reaction is too high, and therefore unstable. 20:38:28 *blink* 20:40:07 ill try to introduce hyperscience to my teachers in school next year 20:40:23 and ill introduce forth to their computer tecahers 20:40:32 CrowKilr: How do you explain the Cavendish experiment then?? 20:40:34 and introduce sacred geomtery to their math teachers 20:40:34 do neutrinos have appreciable mass compared to protons & neutrons? 20:40:45 Etaoin: Neutrinos have no mass. 20:40:59 kc5tja: and no charge? 20:41:04 Etaoin: Correct. 20:41:11 0.0000000000000000 etc etc 0000001 20:41:11 kc5tjs: ill try to learn about it on google then ill tell you ;p 20:41:14 Etaoin: They're very much like photons in that respect. 20:41:23 neutrinos = 0.0000000000000000 etc etc 0000001 grams 20:41:32 or not 20:41:36 who cares about mass 20:41:54 there's no mass anyways, it's all waves and spins and stuff 20:41:58 futhin: well it _was_ a discussion about gravity :) 20:44:40 cavendish experiment is to find the gravitationnal constant g? 20:45:06 Yes, but it also disproves hyperscience's theory of "gravitation." 20:45:26 Hatom requires spinning magnets to produce gravity. 20:45:46 hyperscience dont disapprove observations, it explain them 20:45:48 But clearly, the spheres making up the Cavendish experiment are not spinning. 20:45:54 No, it doesn't. 20:45:57 Not even close. 20:46:06 Einstein explained it. 20:46:09 its only a samll quote 20:46:12 We've *proven* his theory works. 20:46:12 drom teh site 20:46:42 At any rate, I need to get going. 20:46:49 Going out with a friend tonight. 20:46:56 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 20:46:57 see ya then 20:46:59 doh 20:48:31 hyperscience is really great, it fit well into the zen philosophy that perceptions and observations are only distractions put before our eyes and that we must look furtehr to understand what really happens 20:48:44 and forth fit well into the zen philosophy 20:49:26 so i think its should be common that forthers being familiar with zen and hypersience 20:49:54 anyway im a BIT off topic lol 20:50:02 so ill go, see ya everyone 20:50:14 its late here, 23:52 20:50:21 school tomorrow ;p 20:50:46 --- quit: CrowKilr ("Hypersience explain the I AM feeling in the first place and thats the key") 21:14:50 --- quit: Herkamire ("leaving") 21:17:37 --- quit: futhin ("bye") 21:34:52 --- quit: sif (Read error: 110 (Connection timed out)) 22:10:49 --- quit: air ("AIRC v0.2.1pre -- http://www.qzx.com/airc") 22:10:55 --- join: air (brand@12-254-199-50.client.attbi.com) joined #forth 22:25:58 --- join: rob_ert (~robert@h237n2fls31o965.telia.com) joined #forth 22:52:36 hey hey 22:54:39 Hi :) 23:01:02 hey rob, how are you 23:01:02 ? 23:01:31 I'm fine, but now I have to go to school. 23:01:34 Talk to you later. 23:02:17 hah, take care =) 23:02:37 :} 23:09:26 --- join: Serg_penguin (~snaga_NOI@nat-ch0.nat.comex.ru) joined #forth 23:09:59 hi ! 23:11:17 --- quit: Serg_penguin (Client Quit) 23:51:05 --- join: Oscarian (~oscar@dsl-202-45-106-71.QLD.netspace.net.au) joined #forth 23:59:59 --- log: ended forth/02.05.28