00:00:00 --- log: started forth/05.10.01 00:49:47 --- quit: Snoopy42 (Read error: 110 (Connection timed out)) 02:12:36 --- join: Topaz (n=top@sown-86.ecs.soton.ac.uk) joined #forth 04:04:12 --- quit: tathi ("leaving") 04:57:31 --- join: Robert (n=robert@unaffiliated/robert) joined #forth 05:27:58 --- join: PoppaVic (n=pete@0-1pool64-237.nas22.chicago4.il.us.da.qwest.net) joined #forth 05:28:15 Howdy 05:28:17 Hi. 05:28:53 What's the latest? 05:30:12 Some coding... Just a minimal Forth kernel to show people how it works, without having to get into details like optimised/general code. 05:32:57 Hmm.. I think the sun just went - oh, the lamps are croaking - nm. 05:33:23 Yeah, premature-optimising is insane. 05:33:49 Insane... but fun. ;) 05:34:40 well, I'd disagre - we try to help folks like that every day in ##C. THe kids all mumble optimized and efficient - and have no clue wtf what they even need to write. 05:36:18 Fun as in playing. 05:36:22 Not as in getting things done. 05:36:23 ahh 05:36:32 I agree it's evil then. :) 05:36:42 Yeah, their "playing" gets very old. 05:37:07 I'm all for tinkering and throwaways, but sheesh. 05:49:24 --- quit: aum () 06:58:53 The kids all mumble optimized and efficient? 06:59:01 --- quit: Topaz (Remote closed the connection) 07:02:52 he what? should that an attack be on xell or what? 07:49:01 Hmm... ok, I've either made a decision or hit a wall. 07:50:09 So far as I can tell, there is nothing remotely like a lib for save/load/send/recv of utf-8 and presentation-interfacing. 07:50:44 You mean in general, or for a specific language/target? 07:51:55 I was thinking about my vm/engine... THe SOURCE to it is ascii, and heads will be ascii, but I wanted to use utf8 for all our own I/O. Basically, the only solution is am opaque string-type 07:53:08 I sorta' thought so years ago, but had hoped libs would catch up. They haven't, so... It's a bollix we'd need to work around. 07:54:13 Robert: even the wchar_t of C is a bollixed mess... Trying to save/load such would be just about futile. 07:55:17 Think about Haskell's solution, then. 07:55:27 Strings are linked lists of 32-bit unicode characters. 07:55:38 So at least 8 bytes per character are used. :) 07:56:22 a LL for such is just silly 07:58:04 Yes, but functional. 07:58:17 Basically, once built, the language should prolly save/load/store/write utf-8 - which means support - and presentation would be vastly simplified. 07:58:42 How will you store it internally? 07:58:43 Robert: yer thinking like the kids that do realloc() per-input-char 07:58:55 _I_ am? 07:59:04 I'm describing the Haskell solution. 07:59:12 I don't think it's a good one. 07:59:15 Robert: prolly as utf-8, because you just can't wish for wchar_t 07:59:25 yeah, sorry - Haskell, I meant 07:59:49 Won't that couse trouble if one wants easy string manipulation? 08:00:03 string "of what" becomes my issue 08:00:29 ascii? fine. Convert it? ok. 08:00:45 convert BACK to ascii? (is that possible/sensible?) 08:01:56 I guess it would be possible to use utf-8 in a string manipulation library, but I wouldn't like to code and debug it. 08:02:00 Near as I can tell, from assorted readings at assorted times, unicode and utf-8 do not represent "embedded interpretations" - they simply reflect assorted charsets, no? 08:02:16 I never said the idea thrilled me. 08:02:52 But, getting a unified access to utf-8 seems a decent idea - everyone else wants to gloss it over. 08:03:04 --- join: JasonWoof (n=jason@c-71-192-20-4.hsd1.ma.comcast.net) joined #forth 08:03:04 --- mode: ChanServ set +o JasonWoof 08:03:09 hi jas 08:04:12 Robert: being American, I have managed for decades with ascii. I'm pretty sure the unicode/utf-8 shit is mostly for prompts and such - in local languages, but - other than HTML - how the heck can I tell? 08:05:19 Adding the ideas of colors and fonts/sizes - to me - suggests "use html". 08:05:28 so, I dunno. 08:05:46 ASCII has prevented me from spelling my name. ;) 08:05:54 locales and unicode still makes me a trifle ill 08:06:09 Robert: how would you change that? 08:06:25 And, does it matter on a remote-machine/user? 08:07:31 I change the spelling. ;) 08:07:52 I can easily envision a (slit) operator. But, now I almost have to add typing to stack-elements. 08:08:16 ..to add utf-8/unicode, I mean 08:08:20 The typical ASCII horror is this: you enter your name in some web form. It barfs at it, telling you that "this is not a valid name". 08:09:05 yeah. The html presentation needs an html form of send-back that reflects/can-reproduce the output. 08:09:44 and, yes: anything should be reproducable in ascii - even if it looks insane. 08:10:23 I'm thinking it would take a fixed-set of escape-sequences. 08:11:10 Whenever I get too depressed, I think of ANSI-escapes. 08:12:56 There has just GOT to be a way to reconcile it. Even if we just scream and settle on 32-bit "chars" 08:13:33 I think that might be the best way. 08:13:37 (internally? do we NEED a special form internally? - prolly) 08:13:54 But I have no hard data on how much memory that's used by character data. 08:14:04 oh, you would not believe it 08:14:31 mandating all names/words/headers use ascii would simplify life hugely. 08:15:24 BUT, you'd still have "other" - and you'd want to obfuscate/opaque access to ascii AND "other" as far as presentation, at least. 08:18:04 * PoppaVic sighs 08:18:11 It's just not remotely pretty 08:18:20 Hmm 08:19:03 OK, let's ask a backasswards question: when do you NEED utf-8/unicode presentation/fonts? 08:21:38 It looks (to me) that it is 100% related to "write a string". (Unless someone knows of really whacked keyboards?) 08:22:24 even the html I recently downloaded is using an attrib of "charset=utf-8" 08:22:50 I dunno if this would be similar to form-entries? 08:23:08 brb... lemme' beat the isp 08:23:10 --- quit: PoppaVic ("Pulls the pin...") 08:24:37 --- join: PoppaVic (n=pete@0-1pool47-89.nas30.chicago4.il.us.da.qwest.net) joined #forth 08:24:55 OK, solved that issue 08:25:05 Not sure if there even is a standard. 08:25:20 And if there is, that only means that there exist non-standard versions. 08:25:20 there ain't 08:25:29 ASCII is pretty much *it* 08:25:32 But I guess eventually one will appear. 08:25:50 I dunno about form-input and such, but it seems likely it too is ASCII 08:26:35 I'm beginning to think that a "string type" should just about be mandatory. 08:28:03 ..which would mean that, within the "language", you'd want handler-flags and vtables. 08:28:14 They should make a modern C, without the legacy. 08:28:38 ..it also seems likely we'd need to settle on a "binary format" for files/images, etc 08:29:17 well, I can't force a rewrite on the C-commies, but I'd love a solution for this new VM 08:29:32 What are you using it for? 08:29:41 Or will be, in case it's not done. 08:29:42 which? the vm? 08:29:45 Yes. 08:30:21 Ahh, I want a tight, portable core for a shell and other utilities - as opposed to writing a set of libs and coding in C forever. 08:30:54 THis is a central element in my "Metabuilder" stuff 08:31:43 I could, quite probably, use Gforth - but that propogates an awful lot of the issues and lets C and platforms pervert them. 08:32:31 Using a bytecode-engine simply means we can get past a lot of the crap. 08:33:15 ..and, yes: we might take an interactivity "speed hit" - but it should simplify native-code-compiling/optimizing 08:34:52 Hm, I was thinking about using something machineforth-like for that. But I'm not sure how portable it will be in practice. 08:35:26 bytecode-engine == 100% portable, since any platform would need to r/w it at the least. 08:35:41 Depends... 08:35:50 We merely mandate control. 08:35:59 If it's too large, it won't fit on some platforms you would potentially like to support. 08:36:19 Java had a clew, and then got stupid. I'm not a committee or stupid 08:36:48 nonsequitur: you'd write a transformer/compiler to generate true native-code 08:38:39 The prime reason I am working within the VM-structure is mostly because I just KNOW that different CPU/platforms can do some shit better/faster 08:39:10 ..and we should not care if they do. What we care about is the source and bytecode 08:42:00 Robert: do you remember FIG-forth? 08:42:16 (tinkering with it, I mean) 08:43:17 It had a lot of Good Ideas, even though it was written in asm. 08:43:59 They only had a dozen or 2(3?) funcs that really depended on actual cpu-opcodes. 08:44:34 It's from before I was born. And I've only used it some (the 6502 version). 08:45:02 Sure, it wasn't super-portable; and, yes: you generally parsed-to-compile. But, you could have a forth up and running in a day or two 08:45:23 We can do better. 08:47:12 I want us to have a lowlevel, mandated language. Where we can all talk-the-talk and walk-the-walk AND interface to C - anywhere. 08:49:22 The only thing I can't see as sensible/possible to the whole mess is inline-asm. That looks to me - from all angles - like an invitation to haqueers 08:49:51 otoh, I don't see a monster-issue with dlopen/plugins 08:51:27 This is why, months ago, I broached the idea of a synthetic-assembler in #asm (and here). And, I knew we could Forthish over the top of it. 08:52:03 Synthetic? 08:52:11 Further, I was also aware we'd get a few smarties to optimize JIT 08:52:43 synthetic, sure: not THE regs or stack or opcodes - just enough to combine and recombine to do what we all need 08:53:03 in other words: synthesized & portable 08:53:39 ..and we would never, EVER care how any platform wrote and optimized their native-code 08:54:05 This is akin to Java and .Net from the outside/top 08:55:01 Another view would be: a nonexistant-CPU emulator - we don't care how shit gets done, just that it does. 08:55:30 ..we WOULD care about our bytecode 08:56:29 and, hell: we'd nearly EXPECT every advocate to write a native-code compiler for either the bytecode or the source.. All we _care_ about is: run the bytecode. 08:57:18 oh, and "this source is IT - suffer it" 08:58:31 The issues I generally see are source-related and ABI - we want an ABI/API we can rely on, and could care the hell less what happens to get it all done. 09:03:19 The problem with most "languages" is they want to take source and slap out native-code. GCC manages to generate .asm instead, but shit.. they generate .i (intermediate) files too - and can't work with them. Plus, to C - "preprocessing" is 1D: you use it or lose it... Forthish languages are different. 09:04:04 Yes. I was thinking a bit about if it's possible to integrate gcc into that way of metaprogramming. 09:04:14 Similar issues make sh (and variants) problematic - in the other direction. 09:04:27 Or if you'd have to use an interpreted language for the compiler. 09:04:31 right 09:04:50 The bytecode is the "intermediate file" - and executable. 09:05:21 Further compiling that should, likely, generate a native-code object 09:06:25 Soo.. we have ASCII source (portable), we have bytecode (portable and executable), and we have nativecode (nonportable, executable) 09:07:38 the Latter is only generated by transforming the former, (sensibly). 09:08:20 And, of course: there should be a way to have the engine load the nativecode variants. 09:09:31 dlopen makes me smile anywhere - even when my powerbook sez it's not recommended for "new projects" 09:10:23 native objects, libs, and plugins(modules) are a completely positive thing. 09:10:55 bytecode and images and the engine(support) are also positive. 09:11:56 Remember, please: parsing/interpreting is a time/space eater. Expecting the host or client to do all of it is jsut silly. 09:12:47 generating our "intermediate code" on a host and sending that to a client/target saves a load of space/time. 09:12:52 Ah. 09:12:56 There we go. 09:13:28 Small Forth, very heavily commented with explanations of everything. 09:13:31 Doesn't matter if we talk client/server (internet) or "distributions". 09:13:42 Robert: url? 09:14:11 622 lines of assembly language. A holy number. ;) 09:14:30 Hm, not yet. Got it to work a minute ago, but if you want to see I could upload. 09:14:41 I dunno, asm generally makes me ill: I'm an ancient Z80/8080 hand ;-) 09:14:55 just make sure I get the url, ok? ;-) 09:15:56 http://www.robos.org/code/edforth.tgz 09:16:15 Remember, it's of course not complete and not exactly throroughly tested. 09:16:33 Got it 09:16:55 10.7K? teeny ;-) 09:17:07 That's with the libc loader. 09:17:16 The object code is a couple of kB. 09:17:18 Cool. It's here to read 09:17:40 ANyway, you can prolly see where my above comments lead. 09:18:05 It's not meant for serious use - just an indirect-threaded Forth for demonstration of Forth (and x86 assembly language in general). 09:18:26 Yep - I can't use it on my powerbook, but I can prolly read it 09:19:19 The whole CPU thing is why I like the jas/tathi "opcodes" and definitely using C 09:22:02 I've never once - in over 20 years of C - seen a nice, uniform ASCII/source methodology to reflect the ABI... It's all munged and madness, as looking at the gcc and platform/cpu sources will soon teach you. 09:23:53 C has a 7-bit character data type. Enough said. ;) 09:25:22 too harsh and leaves out a lot of issues - nuf said 09:27:05 I'll tell you what... Show me a decent "examplar Forth", using a synthetic CPU. And support freaky chars/strings well - I'll port it ;-> 09:27:48 "Port it from WHAT?", you ask - I have no idea - almost nothing but ascii is portable! 09:28:34 let's try another approach... 09:29:44 Given that we know ascii is portable most anywhere (particularly to forthish), show me a system w/o "strings" other than ascii-heads. 09:30:10 ..I think we need an opaque-type. 09:32:10 we can talk of int and short, and even uint32_t and uint16_t; but adding "string" to it seems to bollix the universe. 09:32:37 "strings" seem to defy definition 09:33:25 I believe this the fault of "char" (byte) and "void/void*" 09:33:52 Like I said, I was thinking about making a machineforth-like code, which can easily be ported, and then build a more complex system on top of that. 09:34:05 Yep, as I;ve been doing 09:34:39 It won't make you friends, though - no one wants to hear that their axe isdull 09:36:45 Being popular is all about getting crazy enough friends. 09:38:08 or feeding their own insanities 09:40:37 I see that particular insanity regular with ##C - some folks feel that ansi or posix are "complete standards" 09:41:59 They keep forgetting.. ANSI doesn't cover abi let alone dirs/files; and posix covers dirs/files - but that everone adopts bits of this & that. 09:42:52 So, only in creating a synthetic-aperature-language can you even remotely promote "portability" 09:43:31 and, shit... THe minute you need a string or a path-sep, yer opening the door to "bite my ass hard!" 09:43:58 Just don't fall in the trap of Java - making it so portable that actually doing anything gets inconvenient. ;) 09:44:17 Like, having to create five different objects to read a line of input. 09:44:23 right. You can't. You need local vtables and such 09:44:47 all we care about is bytes and bytecodes, etc. 09:45:04 or: ascii, bytes, and bytecodes 09:45:46 and, I flat-out refuse to consider crap that uses other-than-eight bits/byte 09:46:24 I can't help the fact that CS twits added new terms, but I can refuse to suffer them overly. 09:46:57 you just about need to to talk to the Internet, anyway 09:47:25 "Oh, but those are 'octets'!" - nogo, kid. I was here before you, goddamnit 09:47:54 shit, they want to argue wtf a "nybble" is and how to spell it! 09:48:07 Just watch out for the 12-bit dinosaurs. 09:48:15 screw em 09:48:30 a new mobo is less than $400 09:49:45 ppc, x86 or M68 - they can usually talk 'byte' and 'nybble' and simply need endian for longer - even if 'word' is broken. 09:50:36 consistency. In our own code and available for checks: this will allow porting anywhere. 09:51:00 I like vtables and vectors/callbacks for a reason 09:52:36 I never EVER understood crapforms that refused to think "powers of two" 09:52:57 S'not like they promoted trinary 09:54:11 Anyway, I'll attach the tarball to you this pm. 09:54:19 Now we'll have some fun with 64-bit incompatiblities. 09:54:24 OK, nice. 09:54:29 I sent the letter. 09:54:39 Yeah. 64-bit rugrats are ANOTHER idiocy. 09:55:06 "why can't I compile this 64-bit" - umm, why is the 32-bit code bad? 09:55:31 they think it's - what? faster? larger? tighter? I can't tell anymore 09:56:40 I'm trying to see an advatage to 8-bytes. Pointers? size_t? Unacceptable, it should have been a struct to begin with. 09:56:41 Well... 32 bits of addressing space is getting a bit tight. 09:57:08 if 32 bits is "tight" then 64 bits is nust another step to sloppy-shit 09:57:13 nust/just 09:57:22 Hm? 09:57:26 How do you mean? 09:57:46 I've watched a lot of idiots talk about multi-gig files. 09:58:28 None of them consider several files smaller and merging/sorting - they seem to believe any one file should fill a drive 09:59:06 I grew up on 64K and smaller, more than that is just golden 09:59:12 one byte would be cool, but howto solve multibyte arithmetic properly? 09:59:44 The question is why to NOT do 64-bit on (relatively) high-end machines. 09:59:52 Every 'size' needs it's own math 09:59:57 It's not like everything will be 64-bit. 10:00:17 Thats fine, and I applaud them - now show me portable. 10:00:21 when you have data from a 32 bit system and want to accelerate it, so you use 32 bit but you cant do that on a 8bit system, so howto solve this? 10:00:35 or, admit it and document it as "mandated" 10:01:05 think back to 8086 10:01:28 nuff said - we had LARGE numbers in forth on 8080s 10:02:07 But why limit yourself to that? 10:02:20 It sounds trite, but I suspect kids can't see how forth and such did 16 or 320bit numbers on 8-bit forths 10:02:47 I mean, you could make everything 8-bit and emulate floating-point and 32-bit arithmetic. 10:02:50 32bit, not 320 10:02:59 But you'd still have 32-bit datatypes. 10:03:03 yeppers 10:03:16 but that 8-bit matters 10:03:16 ..and a lot of performance loss. 10:03:26 yep, so write it proper - top-down 10:03:53 anyway, I need to slid and check dinner & whatnot - stay well 10:03:56 --- quit: PoppaVic ("Pulls the pin...") 10:03:57 Bye 10:04:21 eh? that idea seems somekind of silly. 'oh man, we have the power but why should we use it?' 10:04:51 it reminds me why OOP is slow. 10:05:36 Oh? 10:07:06 thousands of classes which interconnects to each other, slows down in runtime linking and execution time. it also produce an overhead. 10:07:39 Depends on how you do it, I guess... 10:08:45 yep, so most do it wrong 10:09:07 ehm, I meant most do it wrong. 11:01:19 --- join: OrngeTide (i=orange@rm-f.net) joined #forth 11:01:24 Hi. 11:01:46 hi 11:04:57 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 11:05:18 And hi, tathi 11:12:07 Hi Robert 11:39:00 --- quit: ccfg ("leaving") 11:39:14 --- join: ccfg (n=ccfg@dsl-roigw3a42.dial.inet.fi) joined #forth 13:02:46 --- join: sproingie (i=foobar@64-121-2-59.c3-0.sfrn-ubr8.sfrn.ca.cable.rcn.com) joined #forth 15:29:40 is there a forth for the TI Voyage 200? 15:29:58 What kind of machine is that? 15:32:42 an calculator 15:32:48 a 15:33:01 Hm, OK. Sorry, I have no idea. 15:37:44 nicely integrated the programming language in them, it's some kind of basic I think. 15:38:07 Got a TI-82 here. 15:39:44 hmm a TI-82 how is it? 15:40:28 I have also a TI-83 Plus here.. is it compareable? 15:40:33 Pretty OK for a calculator, but I don't code much for fun. 15:40:40 Yeah, they're very similar. 18:25:21 --- join: aum (n=aum@60-234-156-82.bitstream.orcon.net.nz) joined #forth 19:14:11 --- join: TheBlueWizard (i=TheBlueW@ts001d0068.wdc-dc.xod.concentric.net) joined #forth 20:01:26 --- part: TheBlueWizard left #forth 20:06:30 --- join: Amanita_Virosa (n=jenni@CPE0000e812679b-CM000a7362da55.cpe.net.cable.rogers.com) joined #forth 20:56:06 --- join: LOOP-HOG (n=chatzill@63.105.22.119) joined #forth 20:56:13 hi 21:10:38 --- quit: Amanita_Virosa ("Slips out quietly") 22:19:25 --- quit: OrngeTide ("bye") 22:34:19 --- quit: sproingie (Remote closed the connection) 23:58:18 --- quit: LOOP-HOG ("ChatZilla 0.9.61 [Mozilla rv:1.7.1/20040707]") 23:59:59 --- log: ended forth/05.10.01