00:00:00 --- log: started forth/05.10.02 01:19:52 --- quit: JasonWoof ("off to bed") 01:52:18 --- quit: aum () 02:33:22 big ping 02:37:13 how much stack elements does someone needs? any experiences with that? I don't have one, really. I don't know how much one needs for complex math or high performant graphics. I would really be happy when someone could tell me that. 03:11:16 I think your brain overflows before the stack when doing complex math. 03:11:41 Can't you just modify some Forth to note that for you? 03:11:56 If you have any test program that's complex enough. 03:28:14 I meant, how deep needs a stack to be? 8 cells? 16 cells? 20 cells? 32 cells? or 64 cells? 03:28:29 I know what you meant. 03:28:35 it's a real theoretical question. 03:28:46 Yes, I know, and I've thought about it as well. 03:29:08 I was thinking that you could modify the "next" primitive of a Forth to register the maximum stack depth. 03:29:15 I never wrote really complex programs in forth so.. I don't know, but this channel should had done that. 03:29:27 Do you run Linux on x86? 03:29:41 yes I do. 03:29:58 Then maybe you could get isForth, modify it, and let it compile itself? 03:30:10 That's not EXTREMELY complex, but it should give you a hint. 03:32:02 isforth, wasn't it commercial? 03:32:25 Nope, it's free. i440r wrote (most of) it. 03:32:36 http://isforth.clss.net/ 03:32:45 gotcha 03:33:04 but which was that forth I associated with it? hmm.. 03:33:18 I think the "next" function is a macro there. 03:33:58 isforth/src/kernel/macros.1 03:34:07 In the top of that file. 03:38:46 puh, how should I redefine it? I know really nothing about isforth 03:38:55 Hmm.... 03:39:37 The data stack pointer is in esp, so you should make that maxcro do maxstack = min(maxstack, esp) 03:39:50 macro* 03:40:02 Want me to do it? I need to do some baking first, though. 03:40:40 ok, have fun. 03:44:40 The new isForth version segfaults. 03:48:57 ui.. I never used isforth, but it has a nice welcome screen. 03:49:24 The latest version works for you? 03:49:39 puh, and is pretty big compared to rf. 03:49:46 Robert, yes. 03:50:04 Yeah, that's why I thought it would be a good example for a complex program. 03:50:13 sometimes an old woody systems is fine, but most times it's not ;-) 03:52:05 but it doesn't support metacompiling 04:17:34 Robert? alive? 04:19:30 Yep. 04:23:20 ok, isforth is nice, but it can't compile itself, hmm so another forth for that test? 04:24:12 You mean because of the bug? 04:25:43 Unfortunately I don't know of any other indirect- or direct-threaded Forths for Linux. 04:26:13 Retroforth could perhaps be hacked into compiling this routine into word definitions, though. 04:27:26 yahoo.. ok, I assume that 16 cells should be more than enough for that. 04:28:59 it's pretty depressing to create a portable forthish platform. 04:30:15 Are you working on anything in particular now, or are you just curious? 04:32:09 I'm working on a concept for portable vms which can interprets bytecode streams, called xell you can, it's channel is #xell. 04:32:34 eh, s/you can// 04:33:01 it's main target are games. 05:10:20 Robert: I just tried that with IsForth/PPC and came up with 12 cells 05:10:43 seems awfully low... 05:10:59 Really? 05:11:04 I think it sounds reasonable. 05:11:20 My guess was something between 8 and 16. 05:12:12 You don't happen to know why the freshly compiled kernel.com on x86 segfaults? 05:12:56 I just thought for something that big it would go higher. 05:13:07 I guess Chuck is right when he says 16 is plenty :) 05:13:27 Yeah, I was just thinking that. 05:13:29 Don't know about the kernel segfault -- did you take a look in gdb to see where? 05:14:06 I guess isForth may be big, but not very _complex_. 05:14:10 Hm, yes. 05:14:17 We redid the whole ELF header thing recently -- it's possible we screwed it up and your program loader doesn't like it... 05:15:23 It segfaults at 0x0804abb1, and there's no code there for the disassembler it says. 05:15:49 I'm running an ordinary 2.6 kernel with no oddities. 05:16:16 that sounds like it's something else. 05:16:36 You'll probably have to ask I440r. 05:16:41 Yeah. 05:17:00 I was planning to, but his mail address isn't on the web site and he's not on IRC. 05:18:47 Just out of curiosity, try "ld --verbose | grep __executable_start" for me, would you? 05:21:07 --- join: PoppaVic (n=pete@0-1pool46-183.nas30.chicago4.il.us.da.qwest.net) joined #forth 05:21:29 Howdy 05:21:36 Hi 05:21:44 How goes it? 05:22:31 Hi 05:22:36 tathi: OK 05:23:00 PROVIDE (__executable_start = 0x08048000); . = 0x08048000 + SIZEOF_HEADERS; 05:23:32 eruh? 05:23:44 Robert: thanks, was just curious if they changed it for 2.6 05:23:47 tathi: btw, the "isforth" executable runs. 05:23:59 Just not kernel.com 05:24:07 huh. 05:24:17 Hm... 05:24:24 strace gives this on kernel.com 05:24:28 old_mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0xb7f50000 05:24:31 --- SIGSEGV (Segmentation fault) @ 0 (0) --- 05:24:41 Also... 05:24:44 (right before) 05:24:47 mprotect(0x8047fe0, 1048576, PROT_READ|PROT_WRITE|PROT_EXEC) = -1 EINVAL (Invalid argument) 05:25:10 ah. yeah, that would cause it to segfault. 05:25:45 And might indicate a problem with the ELF headers too :( 05:26:10 oh, no, wait, mprotect addresses are supposed to be page aligned. 05:26:48 Ah, yes. 05:26:52 I bet that's easy to fix. 05:27:15 I'll have a look at it, thanks for pointing that out. 05:27:55 I gotta run. But I'll take a look later if you don't get it fixed. 05:28:00 Bye 05:28:03 type at you later 05:28:59 --- quit: tathi ("foo!") 05:28:59 Ah, you're using subversion to develop isForth now? 05:29:39 * PoppaVic thinks he's confused 05:29:58 Of what? 05:30:08 Because of 05:30:39 isforth, subversion... The mapping, I can guess at 05:32:17 Do you know about/have you used either of them? 05:32:40 never used, downloaded at some point 05:32:56 not subversion - no IDEA what that is 05:33:17 It's like CVS, but with some extra features. 05:33:26 ahhhh 05:33:38 Never used cvs and variants 05:33:44 Sometimes it's called "SVN" 05:34:05 I haven't used it much either, but I've set up a subversion server over here in case I need it later. 05:34:31 Everytime I thought of using cvs-like shit, I looked at the install directions and had a much better idea - and bled less 06:40:22 hmm 06:56:01 --- join: Amanita_Virosa (n=jenni@CPE0000e812679b-CM000a7362da55.cpe.net.cable.rogers.com) joined #forth 06:57:09 Hi. 06:59:00 I keep thinking Forthish would benefit from prototypes/headers. *sigh* 06:59:52 And.. (and this will seem odd) I think I need to save strings out to their own space. 07:06:04 The idea of intermixing ascii, utf-8 and wchar_t strings almost seems to necessitate getting strings out of the code-dictionary 07:06:40 at least, so it seems if you need to convert 1+ times. 07:07:01 scary. 07:07:24 I'm tempted to stick tight to ascii, and I know that's gonna' be a mistake. 07:07:51 never had a problem with it. 07:08:07 unicode can't represent the only non-ascii language i use 07:08:14 every fornat with an axe to grind hates ascii. 07:08:28 fornat? 07:08:35 foreign-national 07:08:53 oh 07:09:15 SOmehow, I think folks expect html-interfacing to source. 07:09:18 aha.. that would be new to me 07:10:09 meh 07:10:19 Perhaps it's sufficient to just use 'handles' for string "objects" and deny them direct access. They ain't buffers, fer cripes-sakes 07:10:26 unicode doesn't touch the one non-ascii language i use... otherwise, ascii is sufficient for me. 07:11:37 hrrm 07:13:05 --- quit: Amanita_Virosa ("Errands.") 07:16:58 This seems to be true of vars and arrays or structs, too 07:17:40 Or rather... 07:18:42 We compile pcode.. literals, controls, operations... But, nothing seems to mandate we most interleave consts and vars into the 'code'. 07:18:52 most/must 07:20:06 for example... : test ." this is test" cr ; 07:20:42 Why would I embed the string into the code? And further, it isn't an array/variable. 07:28:19 using \ ," this is a test" type cr \ is even worse 09:18:39 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 09:18:50 Hi again 09:19:06 wb 09:19:23 Hi 09:20:56 --- join: PoppaVic_ (n=pete@0-1pool65-196.nas22.chicago4.il.us.da.qwest.net) joined #forth 09:21:16 --- quit: PoppaVic (Nick collision from services.) 09:21:19 --- nick: PoppaVic_ -> PoppaVic 09:23:03 Robert: how did you know we were using Subversion for IsForth? 09:23:22 Mark forgot the .svn directory in the tarball. ;) 09:23:56 oh. That would do it. :) 09:25:34 Anyway, yeah, he set up svn when I got serious about finishing the PPC port. 09:25:39 (I think) 09:27:50 Nice. :) 09:28:03 As I mentioned earlier, I haven't used it much (only for testing so far). 09:28:49 I really like it. It has a lot of dependencies, so it can be a nuisance to install by hand. 09:29:14 But it has enough improvements over CVS to make it worth it, IMO. 09:29:14 apt-get install subversion took about ten seconds. :) 09:30:22 :) apt-get seems pretty nice. Not sure I like aptitude much though. 09:30:47 I find aptitude great for cleaning up. 09:31:01 But normally I just use apt-cache search + apt-get install. 09:31:57 so did you get IsForth straightened out? 09:32:14 * Raystm2 says hey all. 09:33:01 Hi, Raystm2 09:33:36 tathi: Not really. I sent a letter to I440r about it. When simply aligning the end of heap address for those syscalls, it instead segfaulted when trying to write the isforth binary. 09:34:00 I didn't dare touching the magic ELF. (haven't worked with the format before) 09:35:13 ok. I'll at least take a quick look at it then. 09:39:51 Thanks. 09:40:03 hmm...how did you change it? I just went into src/kernel/isforth.asm and changed the define for _addr0 09:40:12 to subtract 80h instead of a0h 09:40:21 No. 09:40:34 and that works on the box I tried it on... 09:40:38 I just made it allocate a bit more (rounded the values up). 09:40:41 I'll try that. 09:41:28 Ah, there we go. 09:41:31 Thanks. :) 09:41:42 sure. 09:41:47 The comment there made me a bit hesitant to change it. 09:41:48 hehe 09:42:04 :) 09:46:13 Gotta' love this shit, guys ;-P 09:46:27 Which? 09:49:49 Yeah, the build process for IsForth is a bit iffy. 09:50:02 It still codes in some constants which should actually be provided by the linker. 09:50:29 when can it understand metacompiling? 09:51:00 I should probably figure out a better way to do it and argue with Mark until he agrees that it's a good idea :) 09:51:03 We either need to suffer a particular language, or use a language to write a Metacompiler. 09:51:09 virl: don't hold your breath. 09:51:28 It needs an assembler for that, and I440r seems to have a mental block about writing one. :) 09:52:03 tathi: I read you moved headers to a data section. Does this mean that code and data are separate now, or just that headers are pushed closer together? 09:53:18 Robert: I didn't actually "move" any of the contents - just added section headers for .data and .bss sections because BSD wants them. 09:53:55 (BSD's brk() syscall only works on .bss) 09:54:10 Ah, OK. 09:54:32 I read about that part. Just got the idea that the header "move" was separate. 09:54:38 I put the "break" between sections approximately at the boundary of code/headers, but because of alignment constraints, it's not even exactly that. 09:54:53 Any idea how much that matters in practice? 09:55:06 just means it runs on FreeBSD now :) 09:55:17 (mixing code and data in this pretty typical indirect-threaded forth) 09:55:34 --- join: burx (n=burkhard@p54A0A23A.dip0.t-ipconnect.de) joined #forth 09:55:53 hi! 09:56:06 Hi, burx 09:56:19 my first time here :) 09:56:47 Welcome. :) 09:57:03 Been into Forth a long time? 09:57:20 i am learning forth in the do-it-yourself way. this worked well with python, but it is far harder with forth. 09:57:55 Hmm.... 09:58:04 Are you running Linux on x86? 09:58:11 xell... 09:58:15 yep! 09:58:32 using mainly gforth and a little pfe 09:58:35 I wrote a mini-Forth (600 lines of assembly language code, with lots of comments) to explain the Forth internals to people. 09:58:57 So if you're reasonably fluend on the machine level, chances are it could be useful to you. 09:58:57 ooy! really small :) 09:59:05 fluent* 09:59:37 My first "aha!" experience with Forth came when a guy here wrote a similar (but incomplete) program for me. 09:59:48 Hmm, nope. The only assembler language i rather fluently can use is 6502 from my Atari times. 09:59:53 http://www.robos.org/?links#forth 10:00:07 Ah, cool. Have you checked Moving Forth? 10:00:16 It uses some 6502 examples. 10:00:44 But still, if you can do it on a 6502 you can do it on a Pentium (with a reference manual). 10:00:56 hmm... 10:01:43 As long i am with interpretation semantics, all is fine. but i still do not understand the use of "postpone" and friends 10:02:37 wah.. ans isn't a real forth. ups, that was my opinion.. 10:02:57 I'm not sure about the exact definition of "postpone" (not using ANS Forth a lot), but I assume you know the general point of postponing compilation of things to run-time (for writing macros)? 10:03:04 :) 10:03:41 Nope, that is already the time where i stumbled... 10:03:59 Do you know what an immediate word is? 10:04:07 Hmm... roughly. 10:04:12 no. 10:04:19 Do or do not 10:04:26 it's a macro... 10:04:50 an immediate word is one that is interpreted where other words are compiled? 10:04:56 Yes. 10:05:00 ok. 10:05:53 the tutorials i've read mainly deal with the basics. stack operations and numbers... 10:06:17 Yeah... the Forth internals are usually well hidden. ;) 10:06:18 ... but to learn about the interpreter, i mainly had to work with the ans draft. 10:06:41 that's sad, and typical 10:07:01 http://www.zetetics.com/bj/papers/moving3.htm 10:07:07 This tries to explain some of it. 10:07:09 hmm... why is it mostly this way, one goes learning forth? 10:07:33 because "forth" is more fucked-up than ANSI-C 10:07:42 * PoppaVic sighs 10:07:43 :) 10:07:54 I need a nap - tootles 10:08:02 burx: I learned it by implementing it. I'd recommend that way, since it was fun and worked well. 10:08:05 Bye 10:08:09 --- quit: PoppaVic ("calls it a day") 10:08:18 seams, c is for minor mages and forth for the omnimagus ;) 10:10:12 Do you know how to use DOES> ? 10:10:19 looking around the internet, i found a little about forth -- it fascinated me, but it seems to be just a small community. 10:10:21 yep. 10:10:51 DOES> makes the precedent compile semantics, the following interprete semantics? 10:11:13 We actually discussed that a few days ago - the community isn't very large, but probably larger than it seems. 10:11:22 :) 10:11:39 Hm, unless I'm getting you all wrong, no. 10:11:54 ok? 10:12:09 It makes the words after it go into the run-time part of a newly created word. 10:12:19 yep. ok. 10:12:25 : foo create does> drop ." Hello" ; 10:12:26 foo bar 10:12:29 bar Hello 10:12:39 hmm... 10:12:42 ok. 10:13:40 This is the easiest way to write your own extentions to the compiler, for example, when implementing structures or objects. 10:14:00 so, the first part is done only at compile time -- in compilation semantics. the second part starts to be the one to be compiled to be the run time code. 10:14:22 But like some poeple have pointed out: while it's very flexible, it's often not used that much. People tend to hand-code the special cases which it could have been used for. 10:14:33 hmm, yep, i already used it. 10:14:40 Ah, OK. 10:16:21 As for postpone, I'm not sure exactly what it does. But the general idea is to make the code compile something run-time. It should be roughly equivalent to: [ ' foo ] literal , (different forth standards/non-standards probably handle that code differently, though) 10:16:51 hmm. 10:17:04 what is the reason to say, ans forth isn't really forth? 10:17:32 There are many Forth environments around - most or many don't adhere to any specific standard. 10:17:44 i see. 10:17:58 So saying that ANS Forth is _the_ Forth language is not practical. 10:18:06 ok :) 10:18:50 But people have been figthing bitterly since before I was born about Forth standards, so I won't get too much into that. 10:18:53 chuck moore himself does not tend to andhere to any standard, as far as i know. 10:18:59 Exactly. 10:19:03 :) 10:19:28 is this, because forth is minimalist and so easy to implement when needed? 10:19:33 But that's pretty natural, if you consider that Forth is easy to implement, so there will be many (often special-purpose) implementations. 10:19:43 Yeah, I was just typing that. 10:19:57 ok, i see. 10:20:45 Personally I've used it for some small toy projects (for various microcontrollers), where I couldn't practically implement ANS. 10:21:28 i see. so, forth is usually implemented when space is rare... 10:22:23 does forth tend to be impractical for larger projects? 10:22:40 also forth source code is pretty compact 10:22:57 hmm. 10:23:17 So (for instance) Quartus Forth on palmtops has a sizeable following because C code doesn't tend to fit on the small screens as well. 10:23:36 :) i see. 10:24:24 --- quit: Quartus (Remote closed the connection) 10:24:25 well, that's only one of the reasons... :) 10:24:29 Depends who you ask. 10:24:37 Chuck Moore says no. 10:24:41 :) 10:24:46 I say yes (depending on the project, though). 10:25:18 * tathi hasn't done any large projects 10:25:24 i read a comment that says, there are weak forth programmers and strong programmers, but little between. 10:26:29 Consider that without (named) local variables, some things get a bit trickier. 10:27:34 i see. gforth and other ans forth implementations seem to support named locals. 10:27:42 burx: Forth seems to attract a big share of people who like to make grand sweeping statements like that. :) 10:27:51 Also, most (traditional) Forths have little dynamic memory managment. 10:28:08 Yes, but that's pretty glued onto the language. 10:28:17 --- :) --- i didn't invent that statement. 10:28:35 And it's not common among tiny/special-purpose Forths, from what I have gathered. 10:28:47 i see. 10:28:51 afk, back soon. 10:29:01 Bye for now. 10:30:06 hi all 10:30:15 back (eating basmati) 10:30:25 ok, bye robert. 10:30:27 Oooh. 10:30:36 still there? 10:30:36 And hi, crc. 10:30:42 hi, crc. 10:30:44 I was saying bye to you, burx. But welcome back. 10:30:52 :D 10:35:09 --- join: JasonWoof (n=jason@pdpc/supporter/student/Herkamire) joined #forth 10:35:09 --- mode: ChanServ set +o JasonWoof 10:35:16 Hi, JasonWoof 10:35:24 hi! 10:37:41 hi all 10:38:41 * burx seems to have understood the difference of <<' execute >> and <>) 10:39:16 --- join: madgarden_ (n=madgarde@Kitchener-HSE-ppp3577786.sympatico.ca) joined #forth 10:39:31 hi madgarden. 10:44:26 * burx seems to have understood the "immediate" word. 10:44:40 Good, good 10:44:46 :) 10:49:37 * burx seems to have understood what "postpone" does: it makes the word it procedes a macro component that is inserted where the word using it in its definition is called. 10:51:00 * burx is confused. "postpone" refuses from being understood. 10:52:15 --- quit: madgarden (Read error: 110 (Connection timed out)) 10:53:09 * burx seems to have understood "postpone" -- it only works when all parts of a "postpone" defined word are "postponed" -- using it in [ ... ] compiles the macro into its word. 10:54:16 : foo postpone bar ; 10:54:31 : foo2 [ bar ] ; 10:54:41 see foo2 10:54:47 the difference between ": foo postpone bar ;" and ": foo bar ;"... 10:54:52 : play and postpone work ; 10:54:54 -> : foo2 bar ; 10:55:17 what postpone does, is make it so that what would normally happen with bar, while foo is being compiled, will instead happen when foo is _executed_ 10:55:40 postpone.. urgh.. somehow because of such features of the ANS Forth I'm getting sick. I don't like them. 10:55:56 hmm, i see :) 10:56:56 example 1) if bar is a normal word, then the normal thing to happen when the interpreter encounters "bar" in a definition (eg foo above) is to compile a call to it. but, postpone alters this behavior, so that a call to bar is compiled every time foo is called, but not into foo itself 10:57:31 now i begin to understand. 10:58:22 example 2) if bar is an immediate, then the normal behavior when the interpreter encounters "bar" in a definition (as in foo above) is to execute it. postpone makes it so that instead, a call to bar is compiled into foo, so that every time foo is executed, bar is executed 10:58:32 what for super cool things can be done with that? 10:58:53 postpone is useful for making compiler macro sort of things 10:58:53 or why has ANS forth so a big user base? 10:59:03 for making words that make definitions, or parts of definitions 10:59:24 what happens when i call foo not beeing in a compilation? 10:59:25 perhaps for making controll constructs 11:00:00 burx: dunno, perhaps weird stuff... as with calling IF or anything else not intended for interpret mode 11:00:12 :) 11:00:37 means, i could have to restart my forth system... 11:01:30 possibly 11:01:33 depends what it does 11:01:37 :) 11:01:52 in a lot of cases you'll just compile some code on the heap that will sit there and do nothing because you have little access to execute it 11:02:07 so, maybe, i only waste some of my dictionary space. 11:02:09 (doing it in a definition makes it accessible by name :)) 11:02:15 right 11:02:19 yep, i see. 11:02:24 could crash... depending on what it does 11:02:26 most forths doesn't have the ability to reset the whole dictionary 11:02:29 eg THEN might well crash 11:02:43 or have they? if yes then how is the word called? =) 11:02:47 as it expects there to be a valid memory address on the stack 11:02:50 :) 11:11:39 hmm... "compile," takes an xt from stack and compiles it to the dictionary space... 11:12:18 burx: you trying to do something specific? or just learn funky forth words? 11:12:58 :) donno, yet. maybe i'm starting to bake a bread that is to big. 11:13:47 i tend to want to understand a language in its whole power when learning about it. 11:15:03 i have a pentium2 linux system -- the software on it is relatively new, so it tends to be to large for my small memory. 11:15:23 * burx has 192 MB ram. 11:15:40 Too large? 11:15:53 This box has 64MB. 11:16:04 But then I'm not running X (it's my server). 11:16:58 when you start mozi firefox and mozi thunderbird using x, it starts to be larger than your memory. when you start open office as well, you are swapping all the time. 11:17:22 Heh, openoffice barely runs on my laptop with 512MB :) 11:17:32 ;D 11:18:32 i thought about whether it was possible doing some more complicated parsing in forth, that's why i'm learning "funky" words. 11:18:55 It's possible, yes. 11:19:07 Most forths have some kind of way to access the raw compiler input. 11:19:13 yep, i thought it should be. 11:19:15 Not sure if there's any standard name for it. 11:19:23 I usually use "input". 11:19:42 in ans, there is an >in variable that tells where you are in your buffer. 11:20:47 so, when you know where your buffer starts, you can move >in and start parsing from there. 11:21:11 when your buffer is a string, you could emulate a turing engine on it. 11:21:35 (you can obviously do this on any buffer as well...) 11:23:23 openoffice is an absolutely rediculous memory and cpu hog 11:23:31 :) 11:23:35 firefox is pretty bad too... 11:24:07 so, one reason to look for alternatives having access to the network and to my documents... 11:24:20 50MB here, with 7 tabs open. 11:24:23 (Firefox) 11:24:28 pretty small tools would be fine. 11:24:40 I only use openoffice when I have to. 11:24:46 hmm. 11:24:50 me too. 11:25:17 yeah, every year or so 11:25:26 Hehe, exactly. 11:25:29 when someone manages to craft a word doc that doesn't open right in abiword 11:25:30 when there are tasks to be easier done with oo than with latex, i use it. 11:25:52 abiword crashed ten times in an hour for me. 11:25:54 I removed it. 11:26:07 sad. 11:26:37 * Robert fires up openoffice. ;) 11:26:56 i thought about implementing a scheme interpreter ontop ans forth. 11:27:09 and a packrat parsing tool. 11:27:09 burx: that sounds fun 11:27:10 Hm, it's exactly the same size as Firefox now. 11:27:24 :) 11:28:14 hmm... it should be possible to implement a l4 style micro kernel in forth... 11:28:37 ... having libraries for c calling conventions and so on. 11:29:17 Probably - but I don't think you want to do it in threaded Forth. 11:29:33 hmm... what would do it better? 11:29:47 Forth compiled to native code. 11:29:53 i see. 11:30:21 so there are lots of forth styles: interpreted, threaded (direct, indirect) and compiled... 11:31:01 Usually you just divide them into different threading models. 11:31:21 Because all of them generally allow both compiled (to some level, anyway) and interpreted code. 11:31:45 i see. is "compiled to native code" within the threading models? 11:31:55 "subroutine threaded code" is usually pretty close to what a normal compiler would do, except people try to keep some flexibility. 11:32:11 i see. 11:32:20 RetroForth (by crc) is a pretty good example of this, I think. 11:32:29 hmm :) 11:32:36 There are probably others, but I don't know of many current free Forths. 11:33:44 * burx is dreaming of a minimalist unix style system with x server, internet and office tools, symbolic computing and so on... 11:34:07 Hehe. Have fun coding it. ;) 11:34:13 ;D 11:34:59 'twill be a long way to the forth based TINYX system... 11:35:55 Port Linux to Forth. ;) 11:36:01 ;D 11:36:16 heh 11:36:40 er 11:36:44 I typoed Lunix as Linux. 11:36:48 * Robert sucks. 11:37:18 * JasonWoof typoes Robert in the dangly bits 11:37:20 That's actually a reasonable (but probably a bit pointless, unless you're a big 6502 fan) project. 11:37:35 i think having a forth environment as "kernel" system with the l4 features should be a good start... 11:37:49 imo it's useless writing a new OS unless you're going to make a drastically better human interface 11:38:19 i see. 11:38:41 JasonWoof: For a C64, that's not very hard. :) 11:39:13 Since the UNIX-style systems use unbuffered disk access and are SLOW, while the BASIC is... well... BASIC. 11:40:22 forth and lisp/scheme seem to allow powerfull symbolic computing -- why are they so less common? 11:40:36 because of weird syntax? 12:23:31 --- quit: virl (Remote closed the connection) 12:24:29 I think it's because it can be inconvenient to code in Forth. 12:24:40 Not a general-purpose language. 12:25:08 burx: personally, I think it's because the OS isn't written in them 12:25:40 burx: and on top of that, they work significantly different than the OSes language, that it's a pain 12:38:56 i see... that's why some forthes support importing .so and calling c routines... 12:41:01 i've read about packrat parsing short ago. it seems to bee easy-going, powerfull and fast, and, at least when optimising to the special task, even ram efficient. 12:41:53 with packrat parsing, possibly, it is easy to implement any usefull or weird language ontop forth or any other reasonable language... 12:44:43 it's not a matter of not being able to interface with stuff 12:44:44 sure you can 12:44:53 but even after you go through the trouble of getting access to external C stuff 12:45:02 the calling conventions are aweful 12:45:13 you just don't do stuff in C the same way you do in forth 12:45:24 it's a pain to deal with such a different model 12:45:44 i see... 12:46:10 --- join: Quartus (n=trailer@ansuz.pair.com) joined #forth 12:46:17 Hey all. 12:46:36 rather two different universes, and why the one doesn't comply with the other in the same place... 12:46:43 hi, Quartus. 12:46:51 Hi Quartus 12:46:55 Hi burx :) 12:48:51 --- join: madgarden (n=madgarde@Kitchener-HSE-ppp3577786.sympatico.ca) joined #forth 12:50:08 hi all there being new or greeting :) 12:51:39 * burx dreams of a gcc port compiling to reasonable forth code 12:52:45 Code it. 12:54:33 ugh. did i expect you saying this? i rather did. ;D 12:55:30 * burx has to learn more about building compilers, as he didn't study the whole stuff (physicist) 12:55:30 What would be the point of it, though? 12:56:16 ... porting linux ontop a forth system, it being transparent from bottom up... 12:56:32 * burx doesn't know wether the whole idea is sane. 12:57:31 Ah... hehe. 12:58:10 A better idea is probably to just link to the C routines from your Forth. 12:58:26 Not that making a Forth Linux is good overall idea... :P 12:59:53 yep :) 13:00:12 * burx dreams... 13:00:47 i did mention, dreaming of a tiny system having all cool stuff running, but much more efficient? 13:01:21 How tiny? 13:02:25 --- quit: madgarden_ (Read error: 110 (Connection timed out)) 13:04:45 hmm, as tiny as possible. i think, a factor of 4 will be easy, and a factor of 10 possible. 13:05:29 So, still on a PC? 13:05:33 * burx doesn't know this estimate is reasonable or even to pessimistic... 13:05:44 not necessarily. 13:05:57 maybe on some kind of forth chip. 13:11:42 maybe, it is possible starting with a minimalistic-but-universal programming system, implementing packrat parsing... 13:12:24 ... then building a easy-to-write, easy-to-read programming language ontop. 13:13:00 then, implement all the stuff you wish to do with your hardware... 13:14:00 Mmmm... ;) 13:14:08 ... when you get some graphical library, sound, networking, symbolic programming, numerics, office -- the most interesting things should be done. 13:14:53 sounds like Glypher. Now featureing ChuckBot the Glyph by yours truely :) 13:15:18 glypher? 13:18:03 isn't glypher some folder icon stuff? how is it connected to my idea? 13:46:44 --- quit: saon ("leaving") 13:47:49 --- join: saon (i=1000@c-24-129-89-116.hsd1.fl.comcast.net) joined #forth 13:53:43 --- join: virl (n=hmpf@chello062178085149.1.12.vie.surfer.at) joined #forth 14:21:04 --- quit: virl (Remote closed the connection) 14:24:33 --- join: TheBlueWizard (i=TheBlueW@ts001d0906.wdc-dc.xod.concentric.net) joined #forth 14:25:26 Hi, Wizard. 14:27:41 He's a wizard. He's blue. 14:27:55 hiya Robert 14:28:04 yeah, Quartus.... 14:34:47 gotta go for now....bye 14:35:00 --- part: TheBlueWizard left #forth 14:35:05 Wow. 14:36:53 :) 14:37:44 a short appearance... 14:38:00 Wizards have a lot to do. 14:38:08 yep. 15:13:28 bye ye all! 15:13:44 --- quit: burx ("Leaving") 15:19:35 --- join: aum (n=aum@60-234-156-82.bitstream.orcon.net.nz) joined #forth 15:19:40 Hi 15:47:07 Hi. 17:50:29 --- join: TheBlueWizard (i=TheBlueW@ts001d0906.wdc-dc.xod.concentric.net) joined #forth 17:59:36 TheBlueWizard! howdy 17:59:59 hiya Raystm2! ltns 18:00:40 ltns? 18:01:17 oh 18:01:19 hehe 18:01:22 yes indeed 18:01:34 ltng --- long time no get :) 18:01:36 :) 18:01:55 what are you up to lately? 18:02:01 projects? 18:02:12 how's that gov thing working out? 18:04:46 the gov't work is working fine (though I do have some light "restrictions"....and I really despise a certain "big" man at work...not my boss) 18:05:41 It's okay to say you have trouble with the hick pres :) 18:08:05 ha ha...not the prez....the odious one is my boss's boss 18:09:04 :) 18:11:55 I've had a string of successes lately with my colorforth work. I'll take a brake from that untill the HDD boot team is assembled this fall, sometime. 18:12:02 he tried to have me do the contractor's work (database conversion project)...he thought I could do all of it in just one year and save the agency $1.2 million 18:12:15 :) 18:12:21 and your bonus will be.... 18:12:33 you want atleast 10% 18:12:43 I looked at the project and told him "hell no way!" (it'd require at least 4 man-years to do it all) 18:12:54 I see. 18:13:12 at 10% you could subcontract a team... 18:13:37 well, mabye not. 18:15:01 no...fed gov't doesn't even give out 10% bonus size 18:15:08 5%, maybe, yeah 18:16:05 I see. 18:22:34 --- quit: TheBlueWizard (Nick collision from services.) 18:24:13 --- join: TheBlueWizard (i=TheBlueW@ts001d0597.wdc-dc.xod.concentric.net) joined #forth 19:03:21 <_ja> just hire 3 mimical men and do it in 1 real manyear and 3 mimicable man years 19:04:15 <_ja> hire 7 and do it in 6 mimicable manmonths 19:04:33 Welcome to Incredibly Delayed Nonsensible Theatre. 19:04:55 Tonight's performer: _ja. 19:05:06 <_ja> day one: set-up 19:05:14 <_ja> day 2: punchline 19:05:17 <_ja> day 3: laughter 19:05:25 No, no laughter. Trust me. 19:05:35 <_ja> laughter: day never 19:06:52 --- quit: aum () 19:09:11 --- part: TheBlueWizard left #forth 19:12:02 day 3 customer review 19:12:15 day 4 revision 57A 19:13:10 day 5 revision 57A-1398 19:14:07 day 6 scrap and rethink -- Deadline coming fast! 19:16:42 Day 7 higher more staff and requote first test-release date 19:16:49 hire even yikes 19:27:01 --- join: JasonWoo1 (n=jason@c-71-192-20-4.hsd1.ma.comcast.net) joined #forth 19:43:44 --- quit: JasonWoof (Read error: 110 (Connection timed out)) 19:52:48 --- nick: JasonWoo1 -> JasonWoof 19:52:55 --- mode: ChanServ set +o JasonWoof 20:01:58 --- join: LOOP-HOG (n=chatzill@sub22-119.member.dsl-only.net) joined #forth 20:03:34 hi 20:26:51 Hi LOOP-HOG :) 22:58:13 --- join: swalters (n=swalters@6532183hfc82.tampabay.res.rr.com) joined #forth 23:59:59 --- log: ended forth/05.10.02