00:00:00 --- log: started forth/05.12.10 00:12:22 --- quit: swalters_ (Read error: 104 (Connection reset by peer)) 00:17:24 --- quit: I440r ("Leaving") 00:18:23 --- part: crispexi left #forth 00:20:03 --- quit: slava64 ("Lost terminal") 00:33:44 --- join: swalters_ (n=swalters@6532183hfc82.tampabay.res.rr.com) joined #forth 02:11:58 --- join: segher__ (n=segher@dslb-084-056-171-164.pools.arcor-ip.net) joined #forth 02:21:47 --- quit: segher_ (Read error: 110 (Connection timed out)) 04:49:51 --- quit: JokeR69 (Remote closed the connection) 05:26:17 --- join: PoppaVic (n=pete@0-1pool72-41.nas24.chicago4.il.us.da.qwest.net) joined #forth 05:38:36 --- quit: saon ("brb, switching wm's") 05:45:34 --- join: saon (i=1000@unaffiliated/saon) joined #forth 05:51:22 argh 07:01:24 OK, any signs of life? 07:03:05 * saon breathes 07:03:15 well, that's a plus 07:03:36 though i can't promise any worthwhile conversation 07:04:34 I'm just.... Mulling, at the mo. 07:04:34 I *think* I'm trying to see the diff between a translator and filter/compiler. 07:05:57 I'm looking at cpp, for now... It seems interesting that it mostly acts like immediate-words. 07:08:01 Anyway, I'm starting to see (once again) the blur between filter and language - and I generally lump "translator" into "filter" 07:18:12 --- join: SunDragon (i=ben@leb-cr1-220-16.peak.org) joined #forth 07:18:39 good morning 07:19:16 Hi, Dragon. 07:19:50 --- topic: set to 'Welcome to #forth. We discuss the Forth programming language, simplicity, and a variety of technical subjects. The rules are simple: don't spam, don't troll, and please speak English.' by SunDragon 07:20:22 howdy 07:20:22 oooh-kay.. Was the topic mulched? 07:20:24 the prior topic made it sound like it was against the rules to speak English =) 07:20:31 ahhhh 07:20:36 "don't spam, troll, or speak English, please" 07:20:42 Hehe. 07:20:42 Gotcha' 07:20:52 Who says it isn't against the rules? 07:21:01 Maybe we're all German infiltrators? 07:21:17 man, if it ain't ascii and English, they are screwed ;-) 07:22:03 i am thinking about writing my own forth, and i haven't even written a program in a forth yet 07:22:16 oh, man - you need help ;-) 07:22:29 prob is "program in forth" 07:22:41 "a program", specifically 07:23:02 i have been reading "starting forth", but many of the examples there do not work in the forth's that i have installed 07:23:20 this morning i'll install gforth and see if i have any better luck with that 07:23:24 yeah, that would be oriented to an ancient Forth, Inc. Compiler 07:23:46 i am reading an ansified version of it 07:23:49 gforth is just dead handy - I wish I knew how to make the latest work on this stupid powerbook 07:23:57 SunDragon: Writing a Forth is a good way to learn the language, I think. 07:24:14 my plan is to start by writing a cross-assembler in forth 07:24:22 Robert: better to first toy in it for awhile. Learn what it does. 07:24:27 SunDragon: If you're famiilar with your computer, it's a fairly easy task as well. Are you a Sun fan, or is that just a random nickname? 07:24:40 PoppaVic: Could be... people are different I guess. 07:24:46 random nickname, although i do have an ultra10 running netbsd and xfree86 07:24:50 I toyed around very little before trying to write one. 07:24:56 Well, learning ASM immediately is silly. 07:25:03 i learned asm over a decade ago 07:25:20 learning Forth is fun, and then SUGGESTS things to learn/change 07:25:38 i would like to get forth running on my gameboy advance 07:25:49 I still want to see a forthish/c merging... I'm thinking I may have a 'how' 07:26:04 but i am still thinking about the gba h/w 07:26:14 have a little yet to learn about the cartridge interface 07:29:05 It's either a lib or a voc 07:29:46 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 07:29:52 hi tathi 07:30:29 yay, gforth supports double-length numbers, i can proceed with this books examples 07:30:39 ugh 07:30:39 hi all 07:30:53 ugh? 07:30:57 hi tathi 07:32:31 I know of a couple people who started a gba forth...don't know if anyone finished one though. :) 07:32:41 "gba"? 07:32:53 gameboy advance 07:32:57 oh 07:33:13 What in the world DOES it support? 07:33:24 ..in fact, how does the data get there? 07:33:37 I don't know much about it. 07:34:01 yeah.. It sounds as obscure as the old Vic20/C64 carts 07:34:06 I believe it has some kind of link cable, and might have normal CompactFlash cartridges? 07:34:22 I have the impression that it's not hard to interface with. 07:34:42 there are flash carts, compactflash adapters, and smartdisk adapters 07:34:58 but these tend to have proprietary bootloader code in them 07:35:31 tathi: puzzlement time... What's the diff between interpret-only and preprocessing? Filters and interpreters? I already know a filter is not necessarily a translator. 07:35:54 there is some linux code out there to write to the flash carts 07:36:25 ah. 07:36:42 SunDragon: sounds akin to cross-compiling and 'burning' a device 07:37:06 I tend to think of a preprocessor as something that doesn't know much about the language. 07:37:12 right 07:37:14 cpp, for instance, doesn't know anything about C 07:37:22 poppavic: i just wish there was a simple bootstrap method, so the same code would run regardless of whether it was on a flash cart, cf card, or whatever 07:37:24 cpp is lame, and I see it. 07:37:53 SunDragon: oh, lord - now yer thinking forth/openbios 07:38:26 SunDragon: if I440r comes on while you're here, you might ask him what he was doing. 07:38:31 SunDragon: the idea of interp, pcode, asm - and interfacing 07:38:37 I know he was working on an ARM forth to run on the DS earlier this year. 07:38:38 poppavic: i just pine for the simplicity of pc bios.. it loads x number of bytes to y address, then jumps there 07:38:44 yeah, it can't hurt to ask him 07:38:58 tathi, thanks for the hint 07:38:59 SunDragon: that definitely sounds like #openbios 07:39:24 i am not going to port openbios to the gba =) 07:39:51 the serial port on the gba is interesting.. sends 16 data bits at once 07:40:11 same idea.. it's forth-related, which is why I mention it. Be advised, FIG-forth was usually the first "high-level" language to hit most platforms 07:40:12 i saw a page where someone hacked up a cellphone keyboard to attach to it 07:40:57 my plan was to go keyboardless and write programs that used the normal inputs 07:41:10 That's fine - and a subset 07:41:59 yer thinking "process of processes" - in a compacted "native-code" 07:42:37 Anyway.... tathi: feedback? 07:42:51 oh, right. 07:43:26 I suspect I'm hitting a wall that is solved 99% by inputing ascii and transmogrifying it. 07:44:04 I'm not sure where you're having trouble here. 07:44:10 * PoppaVic is soon to nap 07:44:26 Yeah, I know... I need to get a site up. *sigh* 07:44:36 Let's see...I'd define a filter as something that takes input, modifies it, and writes it back out. 07:44:39 I'm running into issues over issues.. 07:44:47 right 07:44:56 translators then would be a subset of filters, as you said. 07:45:02 ok 07:45:21 so... I am looking at the Right Stuff. 07:45:33 but an interpreter would read in source code, and perform the given actions, so -- not really a filter. 07:45:45 ahh, yep 07:45:49 though it could interpret a program that IS a filter... 07:45:57 if any of that helps 07:46:01 It interprets/compacts/expands 07:46:17 ok. 07:46:30 I think I'm seeing the core issues. 07:47:08 Thanks, tathi - I gotta' go off and chill awhile and let this crap mull awhile. 07:47:14 stay well, folks 07:47:19 --- quit: PoppaVic ("Pulls the pin...") 07:53:36 how do you list the definition of a word? 07:54:11 It's often implemented as "SEE". 07:54:16 SEE MYWORD 07:54:51 It may sound curious, but as you progress into learning Forth you'll find you very rarely want to do this. 07:56:19 really? 07:56:30 I use it a lot whenever I try and write something in gforth 07:57:09 i am using pforth most of the time because it has less dependencies, and compiling things is very slow on my handheld 07:57:28 tathi, as always there are exceptions to the generalization. :) 07:57:28 hmm...I suppose that's mostly because I'm used to being able to do all kinds of non-standard implementation-dependent things. 07:57:32 robert: thank you for the hint 07:57:40 pforth? On the palm? 07:57:50 on a mobilepro 780 07:57:55 A wince device. 07:58:01 it is running netbsd 07:58:07 Ah. 07:58:18 'pforth' has been used too many times for different systems. 07:58:39 i actually like the clamshell design, though it seems to be unpopular because of how large it is 07:58:55 but a full keyboard is very nice for coding 07:59:06 Strange that compilation times should be slow. 07:59:19 Yes, I use a full-size keyboard frequently with my Palm. 07:59:20 it is because i am using compactflash.. and the mobilepro accesses cf very slowly 07:59:38 I see. 07:59:40 programs that do not access disk run very fast 07:59:46 gcc accesses the disk a lot 08:00:01 Oh. I thought you meant pforth's compilation times. 08:00:26 i meant that compiling gforth would take 10x as long as pforth 08:00:33 Ok. 08:00:47 some day i'll set up a cross-compiler and forget about it 08:01:28 http://www.mactech.com/articles/mactech/Vol.01/01.02/ForthDecompiler/ 08:01:31 interesting article 08:02:26 oo, gforth disassembles some words when you use SEE 08:03:10 pfroth doesn't bother.. it just says "this word is a primitive" 08:03:10 gforth has a lot of features. :) 08:05:29 Too many, some might say. : 08:05:29 :) 08:05:58 Plus the disassembly shows that GCC makes horrific Forth words. The price of portability, I guess. 08:07:45 Well, not to say I'm knocking the range of features -- but I'd rather things like the disassembler be loadable source, as opposed to something hardwired to the kernel image. 08:17:40 --- join: Astrobe (n=Frederic@ARouen-251-1-41-6.w83-199.abo.wanadoo.fr) joined #forth 08:19:36 Hi. 08:19:39 Hi. 08:19:42 Hi Astrobe. 08:20:16 Wow! 08:20:52 good morning Astrobe 08:20:58 (or good evening) 08:21:10 Hello SunDragon 08:22:47 ... evening, the night is falling right now. 08:24:50 Would someone mind to test my 4IM download setup and tell me if it can be undestood by a human? 08:25:33 what is 4im? 08:25:52 A forth (dialect) 08:28:31 where can i see it? 08:28:46 http://4im-atspace.com 08:29:24 Alert: www.4im-atspace.com could not be found. Please check the name and try again. 08:29:57 sorry 4im.atspace.com 08:31:01 very cool! did you write this from scratch? 08:31:25 Yes, I did. 08:31:48 Except the GUI part -- I used a library. 08:34:14 too bad about the arbitrary renaming.. ie ? means . and . means ; 08:34:45 Yikes. 08:34:54 i really like how it is modular 08:35:38 renaming: I admit, I reckon. 08:36:13 that's why I said dialect in parenthesis. 08:36:57 bravo releasing it to the public domain 08:37:19 Any architectural novelties beyond the renaming of conventional words? 08:37:53 it has a metacompiler and is standalone 08:38:12 it also has tail recursion 08:38:27 you know, I picked thing here and there from PD forthes, not to mention the GraphApp lib. That's kind of a contributing "back". 08:38:46 astrobe: did you look at hforth while you worked on this? 08:39:01 * SunDragon was thinking of studying hforth 08:39:17 Quartus: Hmmm... yes, there are things like BUFFER and BLOCK with a significant different meaning wrt to ANS 08:40:00 SunDragon: no, but I know the name > 08:40:05 all the links at the top of www.ultratechnology.com are bad 08:40:39 Up to recently I had an old 8086 at home, so I could not run recent ColorForth. 08:41:15 Now I have a modern PC, but I did not yet took the time to look at the many CF variants. 08:41:43 SunDragon: you need a link? 08:43:44 SunDragon: I'm not used with IRC, what are the things you are sending me? 08:44:18 --- quit: Robert ("drop drop drop") 08:48:48 i was asking your irc client to tell me what version it was 08:49:11 I can tell you if you ask me :) 08:49:21 what irc client are you using? 08:49:42 Why? :) :) :) 08:49:52 i was curious how you got on irc using an 8086 08:50:02 :) :) :) 08:50:24 no, I don't use my 8086 no more... 08:50:49 so what irc client are you using? 08:51:27 just Xchat. 08:52:12 what o/s? 08:52:35 `` A three-letter code such as an airport terminal name, can be stored as a single-length unsigned number in base 36.'' hehe, what a hack 08:54:26 Not the one I usually use... 08:55:40 astrobe: windows? hehe 08:55:56 no choice, that's not my computer. 08:56:32 windows is a lot like the english language 08:57:22 Yes, like C... 09:06:24 interesting, pforth supports double-length numbers after all 09:10:13 ``PForth began as a JSR threaded 68000 Forth called HForth'' 09:10:20 What is a JSR Forth? 09:11:05 JSR = "call" instruction for the 68k 09:11:26 translate: a subroutine thread code forth 09:12:22 About two hours' work away from a native-code Forth. 09:13:34 impressive flow chart. http://www.taygeta.com/forth_intro/colon2.htm 09:14:01 :) or lazy-native-code Forth :) 09:14:05 Charlton's 3D ones. I find them amazingly obscure. 09:14:28 me too 09:15:05 --- join: sproingie (n=chuck@64-121-2-59.c3-0.sfrn-ubr8.sfrn.ca.cable.rcn.com) joined #forth 09:21:05 Funny. The algo spec is complex, the graph comes from wondeland, but the definition is 8 words long. 09:22:21 corrction: looks complex, not is. 09:23:19 does anyone know of a good forth faq? the comp.lang.forth faq seems more like terse meta-information 09:24:48 --- quit: saon (Read error: 110 (Connection timed out)) 09:26:18 There's lots of things at Anton Ertl's home. Wht are you looking for? 09:27:09 i am having trouble understanding the concept of threaded code as discussed at http://en.wikipedia.org/wiki/Threaded_code 09:30:06 What don't you understand? 09:30:47 ``Threading is a form of code consisting entirely of subroutine calls, written without the subroutine call instruction, and processed by an interpreter (such as the Forth virtual machine), which jumps to each successive subroutine in turn.'' 09:31:26 well yeah i can understand you not understanding that 09:31:28 so threaded code is using jmp instead of call? 09:31:47 nah 09:32:01 threaded code _is_ using call instructions 09:32:08 that is *all* it is 09:32:31 whether those are *machine* call instructions, or *interpreted* call insns 09:32:49 what is non-threaded code? 09:32:53 SunDragon: http://www.zetetics.com/bj/papers/moving1.htm might be better... 09:33:50 http://www.complang.tuwien.ac.at/forth/threaded-code.html 09:33:50 *-threaded terms are just a way of describing how a Forth system encodes its colon definitions. 09:35:00 or that page, yeah :) 09:35:00 tathi: that is closer than the wikipedia explanation, yes 09:38:09 the zetetics paper is best 09:38:10 in threaded code, you lay down a list of instructions; a piece of sw, the inner interpreter, fetch em 1 by 1 and jump to them. 09:38:27 threaded code means something like: the "inner interpreter" (which might be anything -- a piece of software, or the cpu itself) executes a "thread of code", which consists of "primitive" insns, and "non-primitive" insns. primitive insns, the inner interpreter knows how to execute completely; for non-primitive insns, the interpreter saves state of the thread (normally just the insn pointer), and recurses into a new routine 09:38:37 in STC the cip directly "runs" on the code. 09:39:29 so when that new routine is finally finished executing, you can return to the old routine and continue executing that 09:40:24 i better print this stuff and study it 09:40:45 s/cip/cpu 09:41:01 * SunDragon & 09:41:39 threaded code is an abstract model of the code more than it is an implementation of it 09:42:21 terms like "indirect threaded code", "direct threaded code", "subroutine threaded code" describe ways to implement a system, though 09:43:02 segher__: yes, this idea of a list of addresses; as opposed to bytecode for instance. 09:43:53 yep 09:44:14 although bytecode _can_ be threaded code as well -- "token threaded code", for example 09:45:38 --- join: saon (i=1000@unaffiliated/saon) joined #forth 09:45:59 segher__: hmmm no, to me the idea is precisely to remove the device that says to the "executor", "take this as a call to the definition", because everything is a call to a definition, precisely. 09:48:07 yes indeed 09:48:34 everything is a call to another definition, _or_ a primitive 09:51:40 Primitives are a special, somewhat underground case. 09:51:54 bloody important though :-) 09:52:13 they do all the work, in the end... 09:53:43 in the "classical" threading models, both calls to definitions and calls to primitives look the same in the compiled code -- just an xt :-) 09:55:22 yes, yes everything ends up to calling primitives but what i mean is > 09:55:45 that the inner interpreter is sort of not aware of primitives. > 09:56:01 sort of, yes 09:56:20 in indirect threaded code; you're quite right 09:56:31 in direct threaded code; almost 09:56:43 in stc, or whatever -- erm... 09:57:41 That's what is CFA all about. STC doesn't need it, and that's why it's... not .... "threaded".... 09:57:49 errr.... I lost myself. 09:58:07 /whoami 09:58:32 * Astrobe reboots 09:58:34 CFA is an implementation detail -- STC _does_ have XTs... 09:59:05 not that i like STC anymore than you do :-) 10:02:10 there's a variation on stc i know well, stc with code inlining. the compiler may insert some primitive as nztive code. can we say it is not "pure" threaded code? 10:02:52 what's wrong with STC? 10:03:13 tathi: nothing! 10:06:00 segher: ok; in stc the inner itp doesn't no better about what it is calling is wether a primitive or a HL definition. 10:06:21 tathi: nothing much really -- except it is supposed to be faster than dtc/itc, but it tends to be slower in reality ;-) 10:06:58 astrobe: if it is "pure"' stc, then yes. but most stc inline (at least some) primitives 10:07:08 and whatever the implementation, if you don't have XTs yu have troubles, or you don't really have forth 10:07:22 true true true 10:07:36 although you often can optimize quite a bit of it away 10:07:43 with inlining 10:08:07 just be careful about the spots where XTs _do_ matter :-) 10:08:17 segher__: can you point me to something showing that STC actually is slower? 10:08:22 all my tests have shown the opposite. 10:08:23 speed: yes. The way Pentium chips work are puzzling. The thing you think the most efficient is often the worst... Jeez... 10:08:45 And, interestingly enough, the page that Ertl points to seems to show that STC is usually faster -- 14 out of 22 machines tested. 10:08:51 oh, on x86, stc might be best. i don't care :-) 10:09:28 actually, I'd think that x86 machines would have the most trouble with STC, since it's mixing code and data. 10:09:38 tathi: Anton Ertl (gforth) haslots of stuff related to Forth optimization. 10:09:48 i am not saying stc is _inherently_ slower, mind you -- it is the actual _implementations_ that make it slower 10:10:29 oh. huh. 10:10:36 segher__: if think it's more about cache consistency issues. 10:10:45 it only gets to be faster if you do nice code inlining and peephole opts -- but then, you could do those to itc or dtc code as well 10:11:24 astrobe: if code space and data space share one memory area -- sure cache issues will matter 10:11:46 Astrobe: yeah, ertl points to http://www.complang.tuwien.ac.at/forth/threading/ with a link titled "subroutine threading is usually slower than direct threading". 10:12:10 but that table shows that STC is FASTER on 14 out of the 22 machines he has results for. 10:12:12 really? let's read that article then :-) 10:12:56 and remember that table is just for on version of one interpreter... 10:13:25 actually it's not an interpreter -- looks like it's just testing dispatch methods. 10:13:32 what is the difference between stc and call threading, in that table? 10:13:50 inner interpreter, dispatch -- what is the difference? 10:14:38 oh, and most of those tests are done with GCC-2.95 i see. that hurts ;-) 10:15:10 indirect calls, apparently. 10:15:19 whatever that means ;-) 10:15:52 bah. nevermind, it's not that important. 10:16:00 hehe 10:16:15 i'd love to see that table updated with gcc 4.0 and 4.1 results 10:16:36 I was just curious because I can't come up with any evidence supporting the "STC is slower" thing. 10:18:22 it seems you're right. Even for Pentiums. An urban legend? 10:18:29 i'm not saying it is always slower, or it _has_ to be slower -- just that it isn't necessarily faster either, all cases i've seen where it is faster, it was combined with other optimizations, that could have been applied to the other threading models, too 10:19:39 threading model is not the only factor that influences runtime speed -- but it interacts with all other optimizations in a big way 10:20:22 yeah. As I said, just curious. 10:21:11 I don't think I've seen a straight STC implementation either, other than for simple testing purposes. 10:21:48 http://www.complang.tuwien.ac.at/forth/threaded-code.html <-- that page sums up what is threading code quite well 10:21:59 --- nick: segher__ -> segher 10:24:23 ah, it explains "call threading" as well 10:24:52 hey, wait, look at the subroutine.c file at the bottom of the page. 10:25:22 This is not realistic, as he says. 10:25:42 GCC will inline all of that 10:25:44 real STC you always have to mix code and data 10:26:02 only if data space and code space are interleaved 10:26:13 and as he notes somewhere else, it is a problem because of cache. 10:26:36 interleaved: yes. 10:26:42 on some cpus, with some compilers, and some compiler options, yes 10:27:08 yes. 10:27:12 everything interacts :-( 10:30:18 btw I tried to do that: metcompiling forth to C, with native function calls to definitions, themselves transliterated from Forth code 10:30:39 I finally gave up.... 10:31:27 bytecode is much easier to do :) 10:31:52 yeah, the C compiler will do what _it_ likes, it's really hard to influence it to do exactly what you want 10:32:07 --- join: crc (i=crc@pdpc/supporter/active/crc) joined #forth 10:32:07 --- mode: ChanServ set +o crc 10:32:22 no that was not the problem; 10:32:41 the problem was with translationg things such as loops 10:33:07 i don't understand? 10:33:12 hello crc 10:34:02 for instance, translating DO ... LOOPS in ANSI C (althought in my dialect the problem was a bit different) 10:34:08 hi Astrobe 10:35:14 hey crc 10:35:36 astrobe: oh ah, _all_ the way from forth into C. yeah that's hard :-) 10:36:02 But I didn't know :) :) :) 10:36:03 crc: I was looking at the retroforth news, and...none of the links you have for Rx code seem to work... 10:36:17 My linux partition is hosed presently 10:36:55 ah, ok. 10:37:20 the Slackware 10.2 install died (won't remember the network modules, mouse, xorg config, between boots) :( 10:37:21 on purpose? 10:37:25 no 10:37:25 ouch. :( 10:37:37 I can't get it to start X or connect to the 'net :( 10:37:46 so I'm looking for another distro to try... 10:38:25 * tathi doesn't know much about Linux distros 10:38:38 I installes Mandriva and Debian. 10:38:55 s/installes/installed/ 10:39:00 currently on Debian 10:39:15 I'm looking at debian based distros 10:39:32 Ubuntu is popular... 10:39:48 I used Mandrake for a while, but never was happy with it 10:40:38 My Mandriva worked well, althought I use a laptop; 10:40:59 Debian needed more .conf twiking; 10:41:42 s/wik/weak/ 10:42:33 tathi: the 8.3 beta (based on Rx) has a static tarball at http://retroforth.org/803.tar.gz presently 10:43:52 SEDForth looks interesting. Whatr is it's current status? 10:44:29 paused 10:45:01 I plan to do a rewrite in the near future, now that I'm more experienced with SED 10:45:54 ok. 10:46:18 crc: thanks 10:47:30 crc: I'm updating Forthfreak; my 4im is written in asm and metacompiled under DOS, but written in C for Linux/Windows; where should I put it? 10:47:56 crc: nevermind. I've found 10:53:52 --- quit: Astrobe ("Parti") 12:15:00 --- quit: crc (Remote closed the connection) 13:27:07 --- join: crc (n=crc@pdpc/supporter/active/crc) joined #forth 13:27:07 --- mode: ChanServ set +o crc 13:37:28 --- quit: crc ("Lost terminal") 14:12:15 --- join: crc (n=crc@pdpc/supporter/active/crc) joined #forth 14:12:15 --- mode: ChanServ set +o crc 14:26:42 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-144-218.pools.arcor-ip.net) joined #forth 14:39:35 --- quit: Snoopy42 (Read error: 104 (Connection reset by peer)) 14:39:47 --- nick: snoopy_1711 -> Snoopy42 15:03:18 --- join: ThinkingInBinary (n=tom@pool-68-163-237-107.bos.east.verizon.net) joined #forth 15:03:20 Quartus: hey 15:03:47 Hey. 15:16:10 ThinkingInBinary: how's your forth coming? 15:16:43 Raystm2: CORE is done! 15:16:53 Yes, his system passes CORETEST. 15:17:04 Raystm2: and it's got a phone GUI on it. 15:17:22 Congrats! well done! tons of invisible confetti begin to clog your keyboard. 15:17:25 Raystm2: with a custom terminal-style character cell canvas (to emulate a regular terminal) 15:17:32 Raystm2: actually brownie crumbs, but you're close ;-) 15:17:38 :) 15:17:48 * ThinkingInBinary always eats in front of his computer. 15:17:54 * Raystm2 too :) 15:17:57 hehe 15:18:11 * Raystm2 doesn't understand character cell canvas. 15:18:29 but see's that it emulates a regular terminal so... 15:18:39 Quartus: any general idea about what a decently-fast ARM CPU would be? Would the Z22 be waaay too slow? 15:18:51 Depends on what you want it for. 15:18:55 Raystm2: a Canvas is a Screen that you can just draw random stuff on 15:18:57 Quartus: QF of course 15:19:08 Raystm2: and "character cell" = a grid of monospace characters, like a terminal 15:19:21 Raystm2: right now all it understands is carriage returns :-b 15:20:09 ThinkingInBinary, I don't know what speed the Z22 is, but it's certain to be fast enough, for suitable values of 'enough'. I was running Quartus Forth on a IIIx not so many years ago, and that was fast enough. 15:20:34 Quartus: someone should write a JVM in Forth. *that* would be suicide. 15:20:45 I don't know, strikes me as a fairly simple task. 15:20:59 JIT starts to complicate things a touch, so you could go that way. 15:21:03 Quartus: Nothing is easy in Java. 15:21:14 In it, no, but implementing the JVM, not so tough. 15:21:26 Quartus: I guess. 15:21:50 Quartus: Are you familiar with the Tungsten E2? It's what I'm tentatively looking at. 15:22:00 I saw the E2 earlier this year, looks nice. 15:22:34 Quartus: it's got BT, for only $200... that's a first i think 15:22:56 implementing the JVM != implementing the java language spec 15:23:11 Quartus: I might get the Z22 instead if it's good enough and I can get it for a bit under $100, just cuz that would be a great deal. 15:23:42 jvm's a ridiculously simple VM anyway. does it even have int immediate ops? 15:24:37 sproingie: i dunno, how can it not? 15:25:13 it might always require decoding a PUSH ... i suppose when everything you do is method calls, it doesnt matter that much tho 15:26:08 sproingie: lol method calls suck 15:26:13 since you're always having to marshall and unpack arg structures anyway. it's rather a high level language that way 15:26:25 sproingie: i'm sick of doing stuff like foo.getBar().getBaz(); instead of foo.bar.baz; 15:26:42 ThinkingInBinary: you want C# then. it has properties 15:26:45 sproingie: java is horrible in that respect 15:26:47 sproingie: yeah... 15:26:50 sproingie: but my phone runs java 15:26:52 --- part: docl left #forth 15:27:09 Quartus: did i tell you i got my phone to crash (once, isolated) by overflowing a short? 15:27:17 javabeans was a horrible horrible kludge designed because they didn't want to change anything about the language spec or vm to make java more introspective 15:27:28 we're still paying the price 15:27:39 ThinkingBinary: write a preprocessor and make the hacks you want =p 15:27:52 CLR actually has VM-level support for generics. JVM requires type erasure. 15:28:07 so when you lift the lid, java generics are really just casts 15:28:54 sproingie: yeah... but generics are a godsend when coding... besides, no one expects java to be efficient about things :-b 15:29:02 pizza was written by a couple guys more than 10 years ago... and it had better types than the current jvm 15:30:11 er maybe not more than 10 years ago, given java's age. the 1.1 days anyway. 15:39:05 sproingie: what's pizza? 15:40:20 Quartus: the TX looks like an amazing sweet spot in palm's lineup 15:41:22 Quartus: ooh, the TX has WiFi AND Bluetooth! Access point!!! 15:41:36 Fast battery drain, unfortunately. 15:41:44 Quartus: yeah, true... 15:41:55 ThinkingInBinary: it's an extended dialect of java. supported tail recursion (but required special syntax), first class functions (special syntax again) and algebraic types (like generics but better) 15:42:05 Quartus: or better yet, run IrDA to my phone and then rebroadcast it over BT and WiFi 15:42:19 sproingie: what's a first class function, and what do algebraic types do? 15:42:51 ThinkingInBinary: a first class function is a function you can assign to a variable, like in lisp or python 15:42:59 sproingie: oh cool! 15:44:13 ThinkingInBinary: algebraic types are a bit like classes that can have multiple constructors with different names 15:44:43 sproingie: hmm 15:44:49 at least i think that's what pizza's were. maybe they meant something more like generics 15:44:59 i never really dove into it that much 15:45:18 pizzac could also compile regular java. it had the distinction of being about twice as fast as javac 15:45:39 and it was still written entirely in java 15:46:03 sproingie: cool 15:46:49 it's pretty old and crusty now, i doubt it handles recent java 15:47:05 there's some pretty good other languages for the jvm. like groovy and nice 15:47:40 great language names. "my Java code is Nice and Groovy" 16:58:10 --- join: amca (n=plump@as-bri-3-87.ozonline.com.au) joined #forth 17:23:41 Quartus: hey 17:23:52 Quartus: is Quartus RsrcEdit written in Quartus Forth? 17:35:34 --- quit: tathi ("leaving") 17:39:12 --- join: ramza3 (n=ramza3@dsl027-172-066.atl1.dsl.speakeasy.net) joined #forth 17:41:49 i wonder if anyone has made 'the fantastic forth' 17:42:09 SunDragon: LOL 17:44:46 SunDragon: please define? 17:45:33 Raystm2: He is punning on the movie "Fantasic Four" I think 17:45:39 At least that was why I laughed 18:00:06 How is everyone today? 18:01:58 O 18:02:13 im frustrated with colorforth today :) how about you? 18:02:36 Im frustrated with cf all the time. ;) 18:03:17 hehe 18:03:23 What is frustrating you about it today? 18:03:47 Hmm. Is there a CF to ANSI renderer? 18:03:59 there's about 5 things that come to mind. 18:04:18 May I ask what they are? 18:04:25 one JasonWoof's log is broken and has been the entire time i've been using it for a new project. 18:05:10 two. the most recent image of cf05 can't be found at Jeff Fox's site after he posted it and announced it. 18:05:31 three, the image that Jeff posted appears to me to be currupt. 18:05:55 four. I can't seem to get the mailing-list to accept my email. 18:06:27 five, I'm frustrated with myself for being severly incompetent. 18:07:46 That after a year of concentrated effort, I can't seem to get my head around general forth concepts. 18:08:17 Ouch 18:08:28 Which concepts are you having trouble with? 18:09:17 It's a collosal waste of time. 18:09:24 Forth? 18:09:46 * Raystm2 = depressed now. 18:09:54 Don't catch it, it spreads. 18:10:12 * amca hugs Raystm2 and gives him a little of his sunshine 18:10:24 * Raystm2 takes a nap. see ya when I can be a little more okay about everything. 18:10:44 hehe 18:10:47 Sweet dreams about me 18:10:58 :) 18:13:12 --- quit: ThinkingInBinary ("leaving") 18:30:16 wow the zetetics paper on threading was an excellent read 18:30:22 i wish i had discovered forth years ago 18:31:36 SunDragon: Does it have a URL? 18:31:44 When did you discover Forth? 19:04:43 What is the function of the common "ENTER" machine code for all colon definitions? What does that code usually do/set up? 19:05:16 Sorry - dont worry - found it 19:43:50 --- quit: amca (Read error: 110 (Connection timed out)) 19:45:45 i discovered forth a long time ago.. when i became aware of postscript and openfirmware.. but i never really looked into it until about a week or so ago 19:46:53 --- join: amca (n=plump@as-bri-3-9.ozonline.com.au) joined #forth 19:55:05 --- join: nballen (n=nballen@adsl-69-111-248-132.dsl.renocs.pacbell.net) joined #forth 20:03:25 --- join: thinkinginbinary (n=tom@pool-68-163-237-107.bos.east.verizon.net) joined #forth 20:03:27 Quartus: you around? 20:18:41 --- quit: thinkinginbinary ("leaving") 20:47:32 http://pygmy.utoh.org/riscy/index.html 20:47:35 * SunDragon grins 20:56:31 SunDragon: Cool :) 21:14:04 --- join: TravisBarker (n=travis@twiki/developer/TravisBarker) joined #forth 21:14:12 hi all 21:14:30 Helo Mr Barker 21:14:46 Do you speak English? I have problems typing it. 21:14:48 :) 21:15:25 heh 21:20:39 * amca gently prods TravisBarker 21:22:09 * TravisBarker jumps to life 21:22:37 * amca points TravisBarker into the direction of his PM window 21:22:52 python 21:22:56 then C 21:22:59 sure 21:23:14 forth for the MUSH 21:23:19 yea im down 21:23:34 which is to say that seems reasonable 21:23:57 * amca points TravisBarker into the direction of his PM window 21:26:19 where is the defacto forth doco? 21:26:58 ``I have developed a number of small data bases of up to 800 records containing 128 bytes each to serve my specific needs.'' All that big??! 21:27:15 forth for a mush is imho a good idea 21:27:43 TravisBarker: http://en.wikipedia.org/wiki/Forth_programming_language 21:27:58 a few years back i tried tinkering with tinymush.. for some reason i had expected the language to be more powerful 21:28:23 TravisBarker: I recommend starting with gforth 21:29:14 gforth and so forth 21:29:21 sorry... 21:29:34 and use Staring Forth < http://home.iae.nl/users/mhx/sf.html > as the turorial 21:29:37 tutorial 21:30:06 I have Mbs of info downloaded on Forth and I will go through it and let you know where to find it online as you learn it 21:30:31 ok 21:30:46 http://forthfreak.net/jsforth.html 21:30:48 ok that's fun 21:31:00 cool isnt it :) 21:31:13 TravisBarker: also play around with http://forthfreak.net/jsforth.html if you like. Its cute 21:31:51 gforth also has the tutorial in its info manual, and you can download a HTML version of the manual at gnu.org 21:31:58 i like the jsforth see word 21:33:01 SunDragon: Do you mind if I ask how long you have been using Forht? 21:33:05 (Forth) 21:33:10 amca: about a week 21:33:28 but not very many hours 21:34:32 * amca nods 21:34:46 Had I asked what you like about it before? 21:35:04 jsforth doesnt have se :( 21:35:05 no, but i can tell you 21:35:16 type "21 load" 21:35:20 then you will have see 21:36:10 kickarse! :) 21:36:23 amca: i found out that Mark DeSmet's C compiler had been released under the GPL.. it is a really old 8086 C compiler that worked well, came with a nice manual, and the compiler took about 200k of space 21:36:48 amca: that made me pine for the days of old when my os and programming tools could fit on a single floppy, and i had far fewer subsystems to keep track of 21:37:01 hehe 21:38:23 amca: years ago i made a bible reader on a floppy that i was proud of.. it used the linux kernel, romfs, and a home-brew c library with bzip2 built in behind read().. you could select book, and read by chapter, with normal screen navigation keys and search.. it would also format a floppy and copy itself 21:39:05 sweet :) 21:39:13 amca: i was thinking about redoing it with a bsd kernel.. but i can't get a kernel smaller than 400k compressed by changing the configuration 21:39:24 * amca nods 21:39:33 that was also true for linux.. and i thought.. i don't need 400k of code to read a book 21:40:29 so i am planning to redo book on a floppy with forth, and eventually move to book on my game-boy advance.. with a compactflash adapter it could be bookshelf on a gba. 21:41:13 SunDragon: Which Forth you gonna use? 21:41:19 so it is minimalism and simplicity that drew me to forth. 21:41:26 I like your idea btw :) 21:42:05 amca: well i was going to roll my own.. but i am definitely going to study colorforth, pygmy, hforth, and camelforth 21:42:40 SunDragon: Have you considered RetroForth? 21:42:50 i think that forth and thumb-code would make a good match in the gba 21:43:04 i don't like how retroforth is i386-only 21:43:26 It is designed as a minimal forth, where "surplus" functionality (likeANS compliance) is in libraries so that you only need in the system what is necessary 21:43:35 Ah, I see 21:44:08 Concidered porting rf to other platforms? ;) 21:44:23 why rf? 21:44:47 Because it is minimal. Just an idea. 21:44:58 hrm, i should at least look at it 21:45:54 It has linux, windows and native implementations 21:45:54 so far i've been playing with gforth, pforth, a jupiter ace emulator, and forthos. i don't think i'll stick with forthos. 21:46:07 What didnt you like about forthos? 21:47:08 one thing i don't like is the "no, i won't document this" attitude of the author. his philosophy is that you should read the source and shadow blocks. 21:47:42 O_O 21:47:45 Ah 21:47:48 Fair enough 21:47:51 i think it would be better to be able to browse the source without running the os 21:48:11 also, it is a 20meg image... doesn't seem like it should be that large. 21:48:13 I prefer English explainations in concert with source code ones myself 21:48:17 yep 21:48:29 well I have to be off for a bit 21:49:03 I hope to continue this chat another time with you. Good chatting with you. :) 21:49:15 you too, take it easy 21:50:50 thanks :) 21:50:52 enjoy! 21:51:01 * amca away Dealing with RL 21:51:14 * amca is away: Dealing with RL 21:51:16 oops 21:58:08 TravisBarker: http://wikihost.org/wikis/amca 21:58:22 TravisBarker: Feel free to start on the FreeMUSH stuff yourself 22:22:29 <_james> the jupiter ace emu is cool 22:50:55 --- quit: amca ("d34d") 22:55:35 --- quit: swalters_ (Read error: 104 (Connection reset by peer)) 23:07:23 --- quit: sproingie (Remote closed the connection) 23:08:24 --- join: swalters_ (n=swalters@6532183hfc82.tampabay.res.rr.com) joined #forth 23:13:26 --- part: crc left #forth 23:27:16 --- join: crc (n=crc@pool-70-110-222-210.phil.east.verizon.net) joined #forth 23:35:43 --- quit: crc (Remote closed the connection) 23:36:19 --- join: crc (n=crc@pool-70-110-222-210.phil.east.verizon.net) joined #forth 23:56:30 --- quit: Raystm2 ("User pushed the X - because it's Xtra, baby") 23:58:48 --- mode: ChanServ set +o crc 23:59:59 --- log: ended forth/05.12.10