00:00:00 --- log: started forth/06.08.29 00:05:59 --- join: segher__ (n=segher@dslb-084-056-151-023.pools.arcor-ip.net) joined #forth 00:12:41 --- quit: JasonWoof ("off to bed") 00:16:08 --- quit: segher_ (Read error: 110 (Connection timed out)) 01:31:43 --- join: aggieben_ (n=bc@63.98.86.62) joined #forth 01:33:46 --- quit: aggieben (Read error: 60 (Operation timed out)) 02:12:18 --- join: sans (n=sans@ACD8D4EF.ipt.aol.com) joined #forth 02:15:10 --- quit: sans (Read error: 104 (Connection reset by peer)) 02:31:28 --- nick: segher__ -> segher 03:10:13 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 03:21:37 virl 03:21:40 gm 03:24:08 hi Quiznos 03:24:44 hmm.. Quiznos do you know that you are too lame to read the bitchX documentation? 03:26:34 noooo, really?! heh 03:26:45 i thought i changed that 03:26:52 hmm ok 03:31:07 yeah, bitchX is a bitch ;-) 03:32:18 nah 03:44:03 --- join: segher_ (n=segher@dslb-084-056-159-075.pools.arcor-ip.net) joined #forth 03:52:12 --- quit: segher (Read error: 110 (Connection timed out)) 04:15:31 --- join: PoppaVic (n=pete@0-1pool47-195.nas30.chicago4.il.us.da.qwest.net) joined #forth 04:21:58 ./invite *.* > #trs80 04:22:10 howdy ;-) 04:22:16 gm 04:23:21 i signed up to be a Fidonet node a few minutes ago 04:23:25 i dont know why 04:23:27 heh 04:24:15 hmm, Fido used to have a nice client-interface program. 04:24:37 ...Opus, it was called 04:24:51 k 04:25:38 Personally, I have about concluded that Useless and BBS's are just about dead and dust. 04:25:56 "uselessnet" 04:26:20 nah 04:26:22 not yet 04:26:42 the same may be changed to protect the instigators, but the concepts persist 04:26:47 s/same/name 04:27:00 s'ok 06:16:05 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #forth 06:17:59 hmmm 06:18:06 You still alive, Quiznos ? 06:19:11 brb 06:19:13 --- quit: PoppaVic ("Pulls the pin...") 06:22:24 --- join: PoppaVic (n=pete@0-1pool67-53.nas22.chicago4.il.us.da.qwest.net) joined #forth 06:23:40 Quiznos: any life yet? 06:58:26 --- join: mark4 (n=mark4@63.163.143.187) joined #forth 06:58:33 --- nick: mark4 -> I440r 07:10:28 --- quit: segher_ (Read error: 104 (Connection reset by peer)) 07:13:23 --- join: segher_ (n=segher@dslb-084-056-128-224.pools.arcor-ip.net) joined #forth 07:29:29 --- quit: I440r ("Leaving") 07:40:43 PoppaVic what kind of life? 07:41:01 --- quit: cods (Read error: 110 (Connection timed out)) 07:41:07 ahh, debating in ##C now - see what snoozing does to you? 07:41:11 ;-) 07:41:35 gotta nap, cant be non-func()al all day 07:42:18 yeah, I need a nap a bit later. 07:44:43 ahh, I got them so flustered they ran off to other debates/questions ;-) 07:44:57 heh 07:45:42 We were sorta' debating what C06 should do/add - and it raised at least 3 issues, but no one has a clear answer... Like talking forths and ANS ;-) 07:46:19 that's beyond my sphere of unnerstanin 07:46:40 ANYWAY, I was going to ask you if you had done or are-considering "event driven programming"? 07:47:25 havent done any; should consider considering it 07:48:18 yes, I've been glaring at libevent and liboop today.... Seems to me like 99% of everything - to include events you'd "raise" like signals. 07:48:47 and async call-backs iinm 07:49:22 No, the idea is that an event is an event - handle it and you might even add new events to call. 07:49:32 oh 07:49:48 That sure sounds like a whole lot of code 07:50:21 i wouldnt know 07:50:28 they even talk about "priorities" - and I try to not dick them. 07:51:32 but, if you can consider even "need more text from FOO" as "event", it ends up being quite interesting. 07:53:38 please look into libevent and liboop.. I think we are even looking at "events" when we change interpreters and parsers/lexers 08:05:04 Quiznos: unless state-changes and char-reads and results and such are not events? I dunno', it just occurs to me that we may be missing something - namely "events". 08:07:07 well, afaik, events correspond most directly to interrupt-driven events; so, char-reads are kbd-ready, and programmable intr control notices from the chip on the mobo 08:07:54 then there's the whole windows event loop which i always got the sense of being a make-work kind of answer to making gui's 08:08:14 not really, but think it over.. Please. I _think_ what I am seeing is that we run too much like idiots 08:08:23 ahh 08:08:36 ok, both libs replace that. 08:09:18 I'm trying to think of - not a filter-translator, but an INTERACTIVE shell. 08:09:25 libs? you wrote something actually? 08:09:26 i'm being reminded of the IPO processing module that Mossebboch (sp?), i think he labelled that style MVC 08:09:46 he wrote a book about Oberon2 08:09:49 IPO? 08:09:58 input/process/output 08:10:05 ahhh 08:10:15 that's xlating 08:10:25 i cant remember the name he used on the modeling in his book 08:10:52 and, 90% of everything is xlating inputs to produce responses. Humans, world, code, gui 08:11:30 Most issues are "when should I do " 08:12:08 seems to me that you're tryin to think of higher-level structures, words and events 08:12:27 the rest is "I'm doing - what's my input?" 08:12:29 why not finish your core engine and being implementing them instead of the mental-exercise 08:12:37 being/begin 08:12:41 that's part of the issue 08:12:58 I disagree with a lot of the core/base/engine stuff. 08:12:58 well at some point, you have to decide, i need the core; finish the core now. 08:13:09 assuredly 08:13:24 then you can postulate AND implement coincidently 08:14:15 Please note: most C'ers disagree with me, but I still see C as a "meta-assembler" with piss-poor size/order/reporting. 08:14:17 make the core work, regardless of how; since you've already modulated the source code, you can replace one implementation with another practically willy-nilly and try again 08:14:41 sure; i know c is and has always been the assembler out there 08:15:00 but as a HLL, i can also recognise your difficulty too 08:15:21 been then best... 08:15:27 no, I see what yer saying - And, I wanted to obviate even codifying 8/16/32/64-bit offsets/ptrs/values. I'm getting there, but it's slow as hell 08:15:28 asm with structs and symtabs 08:15:41 you cant do that in c 08:15:48 yeah 08:15:56 c is still fundamentally a asm language 08:16:03 it respects and intimately knows sizes 08:16:12 use pascal 08:16:14 heh 08:16:14 symtabs are structs that are codified an interp ;-) 08:16:20 yes 08:16:39 Quiznos: recall too: C doesn't REPORT those sizes and orders well. 08:16:59 Forths might, but usually do NOT 08:17:03 then get small-c heh and fix the compiler's sizeof code 08:17:04 heh 08:17:25 ..and Lisp, well: those buggers bypass everthing to compile their own code. 08:18:08 mayhaps you need to choose another implementation language 08:18:21 There are none, to be honest. 08:18:33 but there are `better than C' 08:18:45 Not that handle FFI well, anyway 08:19:05 then head the other direction and start with eforthl 08:19:30 there is no real lateral move from c 08:19:48 down is asm; diagonal is pascal; up is newer HLL's 08:21:07 I think yer right, in a fashion 08:21:07 see, what i dont get it why you dont just implement the core mechanisms of what you need to transform the mental exercises into a concrete platform upon which to implement ideas 08:21:09 --- join: cods (n=cods@tuxee.net) joined #forth 08:21:22 Yeah. 08:21:38 you need core-forth plus libdl and everything else sits on top of that 08:21:51 (using c as your IMP-lang_ 08:21:55 lang) 08:21:57 I've done top-down and even bottom-up, and it still all meets in engines that can interpret something. 08:22:16 Yeah... I need to posit and consider this shit a few days. 08:22:24 you do too much of that. 08:22:38 start with the basics and make a binary already. 08:22:51 well, it means a rewrite - question is "how much do I replace and rewrite?" 08:23:02 a rewrite of what? 08:23:19 everything is in source modules, of your code, right? 08:23:20 all the existing code and headers and sources and tests 08:23:43 yes, and I am likely delving too deep per "unit" 08:24:03 you should have already written the core words and the inner interpreter and code to do the libdl loading and such 08:24:19 that's all you need in C to make a basic engine 08:24:32 and an unexec() 08:24:38 for saving incremental work 08:24:45 It seems to boil down to these basics: 1) whome can do what; 2) what does "what" - right down to the compiled asm. 08:24:55 nope 08:25:02 oh and btw, i suggest that you make unexec produce and save to versioned filename of thekernel 08:25:04 the kernel 08:25:22 I dislike ANS and most forths want to pretend they are the OS and kernel, so this takes some planning. 08:25:22 those 1) and 2)'s are higher level than the kernel 08:25:32 they sure are 08:25:52 you're missing the forest for the Amazon 08:26:57 ok, don't nudge - I need a rewrite. And, frankly - anyone that writes "asm" scares me anyway.. Bad Enough I have to trust in posix at several points ;-) 08:27:23 one more pseudo 08:27:25 this is funi 08:27:30 hmm? 08:27:34 "even FPC wasnt built in a day" LOL 08:27:42 I agree 08:27:48 ok, i'm done. 08:27:49 heh 08:27:59 I sometimes miss the days of FIG forth. 08:28:22 it seems to me that your "over-view" of your activity is too Macro. 08:28:27 at the time, we had ONE ASSEMBLER (per platform) 08:28:36 you need to better balance the macro view with the micro. 08:28:51 kinda like, normal vision, unenhanced. 08:28:56 see what i'm sayin? 08:29:16 yeah... I may need to write tools to build [tools to build tools...] 08:29:20 yea on the assmebler 08:29:47 that's called meta-programming, and is not really the "magic" that everyone makes it out to be, but i love the associated concepts 08:29:50 fuck the asm - I would deal with posix (if not c99) 08:30:14 I don't CARE how we reach the asm.. I care that it is consistent. 08:30:54 but asm isnt sposed to be consistent across cpu's 08:30:59 We can't even trust the CLI for the asm, loader, linker or compiler. 08:31:25 only the higher level languages that we layer on top of the hardware is sposed to be "consistent" 08:31:27 asm is cpu's, yes - and they STILL dick the OS - so do compilers. 08:32:23 the asm is supposed to satisfy the loaders and their sources/objects their linkers: for the OS. 08:32:49 no 08:32:58 no that's not the porpose of asm coding. 08:33:01 so, sure - if someone writes a module in ASM, they have to "play well with others" - same with direct or ASM-generating "compilers" 08:33:18 1 porpose is to get sw running on the "new" platform; 08:33:34 2nd porpose is to make a subr faster; and 08:33:58 Quiznos: dude, I was around when folks flipped toggles to "program" and then fed the system "asm" and then watched all the variants - it's NOT pretty. 08:34:00 3rd is to get information from and to ports to running processes on the hw 08:34:09 yea i know 08:34:21 well, folks want to SKIP steps 08:34:39 but those three arent steps; they are porposes. 08:34:44 ...in fact, a lot of folks think their "language" is THE LANGUAGE 08:35:16 but it is; it is a mental concept/interface to programming all facets of a computer 08:35:24 from UI to the hw 08:35:30 or, that we all use the same CPU or the same OS, or... 08:35:40 the language is the embodiment of the coder's thought 08:35:40 yessir 08:35:43 it is 08:36:15 even the user its self is programmable 08:36:29 Tao of Unix calls is the ``captive interface'' 08:36:31 My "bottom line" is that you want gcc around... Now, even THAT is a mess, but I can live with it until the CLI grows up 08:36:46 so or so looking for the variants is needed. 08:36:51 check out Fabrice Bellard's tcc 08:37:00 small and fast ansi c compiler 08:37:10 suitable for floppy based distros 08:37:12 virl: yeah, that's part of "the build" or the CLI. 08:37:15 and scriptable too 08:38:03 huh? whatever... I need todo something useful 08:38:10 Quiznos: and, then I ask: why are we bowing to silliness and using tools elsewhere that are still dated, or verbose? 08:38:41 virl: you keep banging away, dude - good luck! ;-) 08:38:41 bc you keep "dicking" with mental processing instead of making a binary :) 08:38:43 heh 08:39:13 maybe you should send this thread to ~rms and ~esr and ask them 08:39:22 Quiznos: there is no "binary" unless yer talking cross-compiling and all the autoshit hell 08:39:53 then uninstall auto* and move on and be done with is; stop talking about what doesnt work and implement what DOES work 08:39:58 and, that "cross-compiling" is STILL cpu, not kernel or OS or whatever. 08:40:08 hehehehaha 08:40:17 or DOES> 08:40:20 heh 08:40:31 Quiznos: yeppers - and that would work for one guy and time ;-) 08:40:33 --- join: JasonWoof (n=jason@c-71-192-33-206.hsd1.ma.comcast.net) joined #forth 08:40:33 --- mode: ChanServ set +o JasonWoof 08:40:36 :) 08:41:04 Quiznos: yeah, I hear that a lot - and folks still rely on preinstalled and autoshit ;-) 08:41:30 i've only been in this thread with you an few weeks and already i think your ... ${What_I_wrote_above} 08:41:31 heh 08:42:17 Quiznos: I've felt the same of you, but I'm too tolerant to get upset - wtf do I know? Maybe yers is "The Solution" ;-) 08:42:48 well, what i havent said of mine forth is whati want to do with it. 08:42:57 i have a specific target that i'm moving towards 08:43:11 Everyone was hot for "C--" - it never built for me - package or autoshit? ;-) 08:43:14 not to replace the target but to attempt to reimplement and add some mising idears 08:43:51 yeah, it's all "new ideas" - I'm STILL an Old-Fart and tolerant ;-) 08:44:12 my primary lament is the complete lack of real re-usable information caching to, from, by, and for later recall by the user. 08:44:21 anyway, I need to call it a Knight and deal with home/Mom issues. 08:44:31 caching is NOT trivial 08:44:35 laters. 08:44:39 i cant see why there is so much data losage with multi-giga and terra-bytes of information 08:44:39 --- quit: PoppaVic ("Pulls the pin...") 08:44:59 caching of the data that the user sees is trivial 08:45:11 i'm not talking os-level buffering/caching 08:49:16 --- nick: segher_ -> segher 09:02:16 caching .. puh .. that stuff what all the package managers do, which is btw. a big bunch of data. 09:02:35 in reality nobody sees really the whole problem 09:29:34 yea; mayhaps "cache" is the wrong word i need. 09:29:40 try "recall" 09:29:51 for user's use. 09:36:48 what are you searching for? like smalltalk? 09:37:00 no 09:37:45 i lose too much good data that can be reused if it were cached while i'm using the shell 09:37:52 data or information output 09:38:02 too many ``captive interfaces'' 09:38:14 nothing is integrated 09:38:20 not enuf is integrated 09:38:37 too many disaparate sources that cant be combined 09:38:55 little to no recall. 09:40:18 the why is simple because there are no interfaces betwen sources. 09:40:41 right 09:40:42 and when it would be everytime a patchwork 09:40:56 i'm planning to solve that bottleneck 09:41:00 or sieve 09:42:23 well, I try to solve that a bit too 09:42:35 ok 09:48:24 there are plenty of systems that integrate functionality from what is normally several applications 09:48:31 IDEs and so on 09:48:37 but I never seem to like them 09:48:52 well, except the one I wrote myself 09:49:42 not so much a IDE but more simply a buffer 09:49:52 IDE is just an example 09:50:01 fairly common one 09:50:10 k 09:50:37 I'm assuming people have written things that are a terminal-emulator/shell/etc 09:50:38 all in one 09:51:08 but I can't think of one 09:51:30 nor can i 09:52:33 I think generally what happends with those combos is that the benifits of integration don't make up for the loss in flexibility 09:52:47 ie if I use the combo then I don't get to choose my favorite terminal-emulator anymore 09:53:11 --- nick: Raystm2 -> nanstm 09:53:40 hence, Forth. 09:53:47 a big integrated thing has the potential to be the best, but it's gotta be just right 09:54:37 i'm been actively contemplating this for a few months now, and it's beginning to make sense in how and what should be provided 09:54:47 remember, it's Forth. 09:54:53 there needs to be a great deal of knowledge of and focus on good interface design 09:55:06 from looking around... most programmers don't know thing 1 about this 09:55:29 bout what? 09:55:52 yea, but in forth the user becomes adept 09:56:08 I, the coder, just have to code the proper primitives 09:56:35 about good interface design 09:56:54 ok 09:57:06 read The Humane Interface 09:57:31 sans `e' 09:57:51 you don't need to follow the example/suggestion they have in the book, but it summarizes and explains a huge body of research in how people work with computers 09:57:57 or is it the ``User Interface'' 09:57:59 no, I spelled it right 09:58:06 the book writ by the guy from Apple? 09:58:18 ok 09:58:28 Jef Raskin 09:58:35 ok 09:58:39 he was one of the old apple guys 09:58:44 nods 09:58:47 I wouldn't say "the" guy though. that would be jobs 09:59:21 yea, one of the principal designers of... 09:59:26 @apple 09:59:53 he played a big part in the design of the original "mac"s. though he considered it a big mistake that that general design is still used today now that the usage of computers has changed so drastically 10:00:14 yep 10:00:39 he designed an interface for rich people to use for 5 minutes at a time. 10:00:54 maybe a few hours a week at most 10:01:41 and we're still using that model even though the average hours/week is probably more like 40 10:02:05 we need interfaces for people that really work on computers. not just use them for a short while every once in a while 10:02:54 for me, this leads to what Backus said about langauges in his acceptance speech in the 70s; the one where he introduced FP 10:03:09 higher level languages 10:03:35 fp? 10:03:56 functional progrmming 10:04:21 but that fp was too terse and not for real interactive use 10:05:15 and from what I've seen of the other fp languages, for me, they still arent right; they've bcome too complicated that 4+ years of Univ. study are required to use them 10:07:44 forth is close to what backus was encouraging in language development but forth needs to be enhanced to actually do what he was talking about 10:10:29 yeah 10:10:38 forth inc says that they have no trouble training people 10:10:45 they hire proffessional programmers that don't know forth 10:11:01 learning to think in Forth tho is not taught quickly 10:11:04 that takes time 10:11:09 as with any p.l 10:11:57 that's one of my main difficulties with so called higher level languages, c#, java, c++, the fp styled languages, etc 10:12:06 i can think forthy 10:12:21 in forth. it's native to me now after so many years of lookin and peekin at it. 10:12:43 for forth to move towards and be an fp capable language, IMO, 10:13:14 we need to incorporate ("steal") the Good Idears (TM) from other languages; especially Lisp and that language family. 10:13:23 we need forth-style lists. 10:13:29 forth inc has a particular forth, and libs and standards and practices 10:13:33 that's one thing i'm stuck on 10:13:43 they (jeff) say that they have no trouble with new employees that don't know forth 10:13:49 one day to train them in their practices/language 10:13:50 yea, they do and that's fine, but i want to move onward and upward 10:13:55 and after a week they have good productivity 10:14:00 ok 10:14:20 which Jeff? 10:14:25 ultratechnology.com 10:14:28 fox 10:14:28 skip 10:14:32 oh right 10:14:33 ok 10:14:56 i really need to refresh on Brodie's books. 10:15:04 i learned think in forth from HIm 10:15:04 I'm just saying that done right, forth should not impose a difficult language barrier 10:15:09 and that we have an example of this 10:15:11 exactly 10:15:14 ok 10:15:25 forth is a no limits environment 10:15:25 not sure you know about the example part :) 10:15:33 for me, it's the same with God 10:15:34 no limits 10:15:43 dont know "example part" 10:16:14 the "no limits" thing is one reason why i dont get why Vic is stalling. 10:16:17 it doesnt make sense to me 10:16:32 did you read that thread today tween me and him? 10:16:52 he's got so many walls of limitations going up he's stymied 10:17:30 (btw, if i'm typing too fast (i do trip flood bots lol) tell me to halt) 10:20:46 I've hat PoppaVic on ignore for a long time 10:21:15 too bad. you might have been able to be an encouraging counselor to him 10:22:25 more recently I got/hacked a plugin so it changes everything he says to a string of equal length that just contains "blah blah blah" 10:22:33 lol 10:22:39 that's cruel l;OLOL 10:22:45 I've tried counceling him. 10:22:46 believe me 10:22:53 it works great 10:22:58 I grin instead of grinding my teeth 10:23:00 but counseling is not a single-shot event 10:23:03 ok 10:23:05 lol 10:23:09 damn that's funi 10:23:11 PoppaVic doesn't seem to understand anything intelligent that anybody says 10:23:11 rofl 10:23:17 and nobody can understand what he's saying 10:23:21 that's the confusion 10:23:28 and if they do understand at all they think it's stupid 10:23:41 well, then one must know how to lead him to providing the deep info he's pondering 10:23:48 that's called "communication" 10:23:51 :) 10:24:15 I can't understand him 10:24:17 ok 10:24:23 and I just get frustrated trying to talk anyway 10:24:23 that's really funi 10:24:32 then you also are trying to hard 10:24:33 my time is better spent elsewhere 10:24:43 ok 10:24:53 birnt bridges and all that 10:24:55 yea, i get it 10:26:11 I would totally talk to him if I thought I could help 10:26:21 but I've put many hours in, and still don't understand him 10:26:25 and I think he still doesn't understand me 10:26:38 that bytes 10:27:03 now I wish he'd go away and stop wasting our time with his meaningless buzzword chatter 10:27:12 no, that's wrong. 10:27:21 he needs to be "talked down" 10:27:27 as in from a precipice 10:27:38 dont avoid him 10:27:39 I have no problem ignoring him and this whole channel when he's talking, but it bothers me that he drags this channel down to that level 10:27:50 you know better than I hs personal difficulties 10:27:57 hs/his 10:28:11 because new intelligent people sometimes show up durring, and get an idea of what this channel is like from those conversations 10:28:20 dont generalise 10:28:24 that doesnt apply to me 10:28:37 what generalization? 10:28:38 not even Quartus will reprogram me. 10:28:41 I'm talking about PoppaVic here 10:29:04 yea i know but your thing with Vic is similar to what Quartus has iwth me 10:29:12 he wants me to self-censor and i refuse 10:29:24 i am not a compartmentalised thinker 10:29:38 ok 10:29:40 lilo wanted me to be compartmentalised too 10:29:47 i refuse. 10:30:00 What you will do is keep your religion out of the channel, Quiznos. That's a freenode thing, not specific to me, and it's good policy for keeping civil discourse. 10:30:17 a valid opinion 10:30:24 one which I don't expect people to follow 10:30:24 and that's what it is, opinion 10:30:36 yep 10:31:36 I agree that there are some topics that are better avoided in most circumstances. politics is the big one, religion falls into that catagory 10:31:54 but they come up sometimes... 10:32:21 There are appropriate venues for such discussion and proselytization, and this isn't one of them. 10:35:12 oh please, people want to talk about everything and some people want to know how God is related to everything. that Quartus and others get violent and vociferous when the mere inference to God is made is conclusive evidence of their relationship and lack there of. 10:35:45 what Quartus is talking about is the compartmentalising that I cannot do. 10:36:17 Quiznos: lost you most of the way through that 10:36:19 This also isn't an appropriate forum for you to express your opinions of my relationships or religious beliefs. It's just not an appropriate topic here; please stop. 10:36:29 right about conclusize 10:37:40 Quiznos: I really don't understand that last sentence 10:38:23 JasonWoof ok... Quartus wants me to self-censor, as i mentioned a moment ago 10:38:45 just as lilo did 10:39:12 I'm curious about what you're saying about relationship and what that has to do with god-talk 10:40:08 ooh! food. bbiab 10:40:33 -_- 10:40:56 not letting other people live 10:47:19 --- quit: cods (Remote closed the connection) 10:49:29 --- join: cods (n=cods@tuxee.net) joined #forth 10:51:13 back 10:52:18 lol, "" funi 10:52:54 jason, the bottom line is that every aspect of our lives can be and is related to what God is concerned about. 10:53:06 he cares for every aspect of our lives. 10:53:19 even the minutia 10:53:21 And if you want to discuss that, do it in the appropriate forum. Not here. 10:53:31 Quiznos: aren't some things better self-censored though? like say talk about sex? 10:56:50 another way to think about it is, if God is really in every area of your life there's no reason to always be bringing the subject up -- it's implicit in literally *everything*. 10:57:20 lukeparrish the problem with that conclusion is that everyone doesnt know what is possible with God. 10:57:28 Tell them about it somewhere else. 10:57:54 It's like talking to an autistic wall. 10:58:12 well they've probably heard it all before, and can figure it out better when you *show* them through your actions rather than words. 10:59:02 well, ok now I think I understand Quartus view. god discussions shouldn't be placed here. 11:01:07 reminds me somehow on a discussion with a fanatics of a religion 11:02:26 --- join: Quartus_ (n=Quartus_@209.167.5.1) joined #forth 11:02:27 who is being fanatical about their point? 11:02:38 virl agreeing with Quartus? that's a new one :) 11:08:31 hehe 11:08:43 I find Quartus pretty easy to agree with 11:09:15 his opinions are generally well thought out 11:10:50 I think his aren't so well thought out, but sometimes I tend to agree with him. 11:11:20 maybe the reason I find them well reasoned is that we tend to hold the same values 11:11:45 that could be 11:12:07 * lukeparrish is a christian so probably has somewhat different values from either of you 11:12:14 arrogant stupidness? 11:12:33 lol 11:12:50 one thing I find particularly valuable is diplomacy :) 11:14:00 or what values of Quartus do you think to share? 11:14:25 compromising sux :) 11:16:32 not saying all christians are diplomatic, mind you :) 11:29:32 --- join: snoopy_1711 (i=snoopy_1@dslb-088-068-001-157.pools.arcor-ip.net) joined #forth 11:30:21 --- quit: Snoopy42 (Nick collision from services.) 11:30:57 --- nick: snoopy_1711 -> Snoopy42 11:54:42 the opposite of "sin" then is "being perfect", "being complete" 12:00:33 sin is a stupid word, with an overhead of religous interpretation of being bad. 12:18:32 wtf 12:18:34 this is #Forth 12:18:37 enough said 12:19:00 * fission vigorously applies his script 12:19:42 which script is that? 12:22:21 http://www.ldx.ca/src/mute.pl 12:24:15 fission, interesting in maybe writing a version for xchat, also? 12:24:48 hmmm I haven't used xchat for years 12:25:12 They have a decent manual on the homepage for the scripting interface. 12:26:13 --- part: Cheery left #forth 12:29:39 hmmm it seems simple enough 12:29:46 I might take a stab at it when I get home tonight 12:29:52 seems like a pretty bloody useful thing to have around 12:30:14 Yea, no kidding. 12:55:25 --- join: mark4 (n=mark4@63.163.143.187) joined #forth 12:57:08 I'm telling ya, fission, you get that script to read in a book that you don't have time for and you'll get thru "War and Peace" pretty quickly. 12:57:53 how fast is fission learning forth? 13:00:31 yikes I fear that i'm just saying blah blah blah to fission. :) 13:01:17 Ray_work: heh 13:04:28 Ray_work: it could be 13:04:50 Yes? though so. 13:04:55 +t 13:05:55 you might get to the point where you can't wait for the "blocked" to say something. 13:11:33 ? 13:11:57 reray 13:23:14 the vic blah script.. 13:30:37 hehe 13:30:57 if(from_muted_nick($msg)) { 13:31:08 $msg = `fortune`; 13:31:10 } 13:32:06 bad pseudocode 13:32:09 but you get the idea 13:32:48 Watson's Law: The reliability of machinery is inversely proportional to the number and significance of any persons watching it. 13:32:50 I bet fortune has more consistent output. 13:35:28 oh, fortune output is sometimes too long 13:42:39 heh jason.. 13:44:48 there's a "short" option 13:44:51 and an "obscene" option 13:44:56 that could be more amsuing 13:45:01 unless you start replying to them 13:45:14 what's the difference in between raster gfx and vector gfx in the point of the used api 14:14:37 heh!? 14:14:40 ping? 14:14:53 06s 14:14:54 I think there isn't much difference 14:14:56 .6s 14:35:12 --- quit: crc ("http://retroforth.org") 14:37:23 --- join: crc (n=crc@pdpc/supporter/active/crc) joined #forth 14:37:23 --- mode: ChanServ set +o crc 15:05:38 --- quit: Ray_work ("User pushed the X - because it's Xtra, baby") 15:27:56 --- quit: virl (Remote closed the connection) 16:11:07 --- join: I440r (n=nobody@24-177-235-246.dhcp.gnvl.sc.charter.com) joined #forth 16:23:12 --- quit: Quartus_ ("jmIrc destroyed by the OS") 16:23:20 'destroyed' sounds so harsh. 16:27:47 not as harsh as "obliterated" 16:27:54 or "eviscerated" 16:32:00 nuked ! 16:32:16 what was destroyed ? 16:32:18 heh 16:51:32 O M F G !!! 16:51:35 THINK !!! 16:51:41 werty breaks out: http://www.yakyak.org/viewtopic.php?t=56831 16:52:00 Why the hell did he show up on Jeff Minter's forums, of all places? 17:03:26 Is there like some law that says he shouldn't? 17:04:04 No. Just seems like a weird place to go. 17:04:54 jeff minter !!!!!!! a coder god :) 17:05:08 i LOVE his games lol 17:05:14 llamasoft :) 17:06:09 :) 17:07:23 The GP2X looks interesting (seen it before), but it's just too expensive as a casual development toy, once you add the useful accessories. 17:07:25 my brother got me one of his games for my birthday YEARS ago. i played it for hours :) 17:07:47 Yes, I'd love to get a GP2X. What accessories are you thinking of? 17:07:54 I440r, I mostly played Gridrunner on the C64. 17:08:03 And Attack of the Mutant Camels. 17:08:51 that was it!! i loved gtaht game hehe 17:09:03 i played both of those but it was gridrunner my bro got for me 17:10:20 The breakout board and the TV adapter. Comes to $284 USD, shipped. 17:10:48 Heh! I have an eBay auction with some C64 carts, one of which is Mutant Camels. 17:11:10 Also Tom Zimmers HES Forth 17:11:27 http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&ih=012&item=220021515873&rd=1&sspagename=STRK%3AMESE%3AIT&rd=1 17:12:45 hes forth for the c64 or the vic 20 ? 17:12:49 i have the one for teh vic 17:12:50 C64 17:17:04 Y'all need one of these: http://www.yankodesign.com/product_info.php?products_id=1377 17:18:28 There should be an anti-werty law. 17:18:48 anti werty ? hehe 17:19:08 Yes, werty is the insane whacko on c.l.f. And that's saying a lot. 17:19:35 "the"? Or "one of the"? 17:19:54 By comparison, the rest are sane. 17:20:28 eeek 17:20:45 You have to take werty off the graph to differentiate anybody else. 17:21:27 I wish I'd had Forth when I was 11 on my C64. :'( 17:21:45 I heard about it, but had never got my hands on it. 17:21:49 I did, though I was ... 14 I think. Had it on my ZX81 when I was 11 or so. 17:22:05 I remember tinkering with John Drapers Forth on the Apple II. 17:22:28 Quartus, did you have a Forth cart/tape for the ZX-81, or a Jupiter Ace, which had Forth ROMs? 17:22:38 Forth is a great fit for the C64. Much faster than BASIC. I could have done a lot with it. I made a ton of little games back then. 17:22:40 ZX Forth for the ZX81, on tape. 17:22:46 A Jupiter Ace commands a fair price these days. 17:23:01 Yeah, the ACE isn't any more than a ZX81 with a different ROM & buttons. 17:23:15 Yes, but very few were made, compared to the ZX-81s. 17:23:29 Right. So if you collect useless junk, it's of some value. 17:23:36 I recently sold 3 ZX-81s, a 16K RAM cart, and 2 printers for... $19. 17:23:51 I have my original ZX81, and another complete unbuilt kit. 17:24:14 You can eBay that kit for some bucks. 17:24:21 Probably so. 17:24:45 i have three kaypro ii's 17:24:52 I find the keyboard far too annoying to do anything with. 17:24:53 one with all the original manuals and disks 17:25:08 I learned ZX Basic on it, of course, which was a surprisingly powerful Basic, and then Z80 assembler, which was tremendously interesting to me at the time. 17:25:15 chop the legs off your zx81 16k ram pack :) 17:25:20 Remember 'fast' and 'slow'? 17:25:31 lol 17:25:33 I do. I wrote music software that modulated the video signal to produce square waves from the TV. 17:25:40 i remember load "xxxx",8,1 :) 17:25:55 ive seen a load "Linux",8,1 in /usr/games/fortune heeh 17:26:07 ,8 is the disk drive. ,1 was the tape. 17:26:23 "Datasette" that is. :) 17:26:28 no ,8 is the disk drive the ,1 following the ,8 had some other meaning 17:26:32 you could load ,1,1 too 17:26:40 Right, I mean instead of the 8, 1 means tape. 17:26:51 I still remember obscure, useless things for the Apple II. Like CALL -936 clears the screen, F666G from the monitor starts the mini-assembler, and $36/37 are the character output hook vectors, and $38/39 are the input. And I haven't touched an Apple in over 15 years. 17:27:05 how about this one for teh ibm pc 17:27:06 debug 17:27:09 g=c800:5 17:27:13 who knows that that does ? 17:27:16 Boot's the HD 17:27:20 nope 17:27:22 No, format. 17:27:23 low level formats it 17:27:38 But only for MFM and ESDI drives. 17:27:47 yup 17:29:42 i want a load linux,8,1 t shirt lol 17:29:52 cafepress.com is your friend 17:29:59 :) 17:30:07 This company I used to work for made a little ISA card that had a 256 byte ROM on it. It was used as part of a software security system. I used to burn my own PROMs to create disk parameter blocks for odd sized MFM drives I'd pick up out of minicomputers. 17:30:14 actually what i want is a t shirt that has teh BATF logo on it. and below taht it says 17:30:22 gestapo 17:30:24 no difference 17:30:32 I want a 12C04=99 tattoo. 17:30:33 i would wear that to EVERY gun show i go to 17:30:40 lol 17:30:40 I saw a "Han Shot First" t-shirt on some geek today. 17:30:45 heh 17:31:07 BATF, Gestapo, no difference <--- now theres a statement lol 17:31:11 You know I have an original Commodore mug I'm quite pleased with. And a Commodore calculator from their pre-computer days. 17:31:22 wow cool 17:31:54 I've been thinking of having 5 shirts made, that say Monday, Tuesday, Wednesday, Thursday, and Friday. The lettering for one might be letters formed out of ethernet cables, while another might be little ICs or something. 17:32:07 --- mode: ChanServ set +o I440r 17:32:58 I have a Commodore filing cabinet. 17:33:03 Heh. 17:33:16 Different outfit, I imagine. 17:33:29 Quartus, nope. It even has the chicken head on it. :D 17:33:41 I didn't think they made furniture. 17:33:50 Well, it's an office item. 17:34:15 Could have been part of their push to get the C64 into offices. 17:34:20 Or the PET, etc. 17:34:32 Office furniture. I guess so, maybe they just branded some other furniture. 17:34:46 Bet it wasn't IKEA. 17:34:55 lol 17:35:36 I think the 8032 was their foray into office computers. 17:36:02 err the 8032 is an 8051 isnt it ? 17:36:08 Yes. 17:36:13 the 8031 is a romless 8051 17:36:15 But it may be a model number, also. 17:36:26 oh 17:36:36 The 8032 was a PET computer. 17:37:04 http://www.vintage-computer.com/pet8032.shtml 17:37:22 An 8032 is an 8031 with an extra timer and 128 bytes more on-chip RAM. And no ROM. Or more often, it had ROM, but the contents were questionable, so it was intended to be used in external ROM system. 17:37:44 I'm not talking about a chip, myself. 17:37:47 I know. 17:41:52 Tackling wordlists yet? 17:42:03 No. Being slack. 17:42:18 I recently built wordlists overtop of a single wordlist, for the retroforth ans layer. 17:42:39 k4jcw what forth are you using ? 17:42:42 I can't remember if I mentioned it, but I have case/of/endof/endcase implemented. Postpone is more trouble than I expected. 17:42:45 jcForth 17:42:54 k 17:42:57 It's his own somewhat-forth thing. 17:43:04 What trouble are you having with postpone? 17:43:04 What he said. 17:43:18 the name for one :P 17:43:29 * I440r ducks 17:43:31 I440r, hush. 17:43:38 lol 17:43:46 Well, I don't quite understand what postpone does with immediate words. 17:43:56 I dorked around in gforth a little with them. 17:44:02 If you ever write code that you want to have run on more than one system, you will want postpone. 17:44:05 But I couldn't quite get the behavior defined. 17:44:11 k4jcw, it compiles code that will later execute them. 17:45:00 One comment I foundin the ANS was that it behaves like COMPILE and [COMPILE], only without the user worrying about if the target was immediate or not. 17:45:15 And COMPILE is like 17:45:18 oops. 17:45:31 Like ' , but you told me that wasn't so. 17:45:37 Right, that's the size of it. Can be even more sophisticated than that. Take Quartus Forth as an example -- R>, for instance, is not an immediate word. It's an 'inline' word. POSTPONE handles it fine. 17:46:10 I440r you on the thing from the news group too? 17:46:13 I told you that POSTPONE wasn't like ' , which it isn't. 17:47:16 on what thing ? 17:47:36 postpone/immediate semantics 17:47:37 POSTPONE says: parse the next word, and lay down code right here that will, when this definition is executed, do the same thing that'd happen if I used that word later. 17:47:57 : foo postpone if ; immediate is a bit like : foo s" if" evaluate ; immediate 17:48:01 thats a mouthfull 17:48:02 ugh 17:48:16 why not just say "postpone compiles immediate words" 17:48:25 It's no easier to describe COMPILE or [COMPILE]. It's complex to talk about the different time-senses that words run in. 17:48:25 and dispense with the gobbldegook verbage 17:48:32 yea but didnt i read that "dont postpose what you can evaluate now" or soemthig like that? 17:48:43 It does compile immediate words. It also compiles code that compiles non-immediate words. 17:48:45 compile and [compile] are all you need 17:48:58 Postpone compiles immediate words now, or non-immediate words later. 17:49:14 I440r, please, you're adding nothing to the conversation with that. That only works if you only ever plan to use one single Forth, and you have memorized which words are immediate and which aren't in that particular one Forth. 17:49:14 any time you overload a word you add complexity to the system 17:49:24 complexity thats above and beyond whats needed 17:49:31 see, this is the problem with ANS, it builds a wall that y'all need to scale but you cant use a wire, rope or ladder. 17:49:38 It seems to me that POSTPONE simplifies. 17:49:43 a complete non problem 17:49:45 POSTPONE radically simplifies. 17:49:59 Since, as Quartus said, you don't need to worry about the immediaticy of words. 17:50:03 Exactly. 17:50:04 i cant agree with taht 17:50:06 then what's the problem with omplementing synonym and alias? 17:50:09 implementing 17:50:15 just do it then. 17:50:27 if ANS isnt the problem 17:50:28 I440r, you use one, and exactly one, Forth, which you wrote, and for which you have memorized all of the immediate/non-immediate words. 17:50:29 By your token, you shouldn't factor words? 17:51:01 quartus yes. im a master of ONE. not a jack of all 17:51:15 so i dont NEED any duct tape code to hold all teh pieces together 17:51:24 Ok. So come the day when you want to write code that runs in more than one Forth, come back and we can talk again about POSTPONE. 17:51:52 Are you directing that at me or I440r? 17:51:56 I440r. 17:52:02 at me :) 17:52:10 Just making sure :) 17:54:01 k4jcw, want me to send you a working POSTPONE in high-level Forth for Gforth? 17:54:17 It sure can't hurt. 17:54:29 Ok, let me know if you got all 5 lines there. 17:54:52 You can load that on top of a running Gforth, and it still passes its own tests. 17:55:00 i got one question. if you say "postpone xxx" and xxx is non immediate does it compile " 17:55:10 "compile xxx" so that xxx is compiled at run time ? 17:55:15 Yes. 17:55:25 if so. then you will definatly have to know what words are immediate and what words are not 17:55:26 that doesnt make sense 17:55:28 ANYWAY 17:55:36 I440r, no you don't. POSTPONE has to know. 17:55:53 and as word xxx might be immediate or not you cant know it 17:56:00 it might be immediate here and non immediate over there 17:56:05 Right. POSTPONE knows it. You don't need to know. 17:56:15 delaying the compiling of a word till runtime depends on what the word will do later; if the word is to switch to a different word-list then that fine 17:56:18 so when you do "postpone xxx" you might layd down xxx or "compile xxx" 17:56:32 or to evaluate the whole value of several literals on the stack 17:56:34 Right. The compilation semantics are appended. 17:56:35 you have to KNOW or your going to get the WRONG semantics 17:56:43 but what if the word is something that doesnt make sense at runtime 17:56:47 so postpone gives you NOTHING 17:56:47 like `bye'? 17:56:49 No, you're not. Take an example. LEAVE might be immediate, or non-immediate. 17:57:01 POSTPONE LEAVE will reliably compile LEAVE on either kind of system. 17:57:01 which leave? 17:57:27 postpone leave will either commpile a "leave" or a "compile leave" and the two are VERY VERY different 17:57:33 the one that does C's continue or something else? 17:57:41 err you mean leave is a special case 17:57:51 so postpone also has to know all teh special cases ? 17:57:55 cluster fuck 17:57:59 pure and simple 17:58:00 erm 17:58:01 heh 17:58:04 except its not 17:58:06 No. Depending on the system, the compilation semantics of LEAVE may be implemented either as an immediate word, or not. POSTPONE can identify that and do the right thing. 17:58:17 no it cant 17:58:27 because if YOU want "leave" compiled into your definition 17:58:29 and you say 17:58:33 It absolutely can, Mark. I'm not kidding. :) Please try not to get so emotional about it! :) 17:58:35 postpone leave 17:58:59 you MIGHT get "compile leave" and instead of executing a leave at that point at run time you end up COMPILING it 17:59:27 If you define : my-leave postpone leave ; immediate on a Standard system, you can use that in place of LEAVE in a DO/LOOP, no matter whether LEAVE is implemented with immediacy, or not. 17:59:48 ugh 17:59:50 So : foo 10 0 do i . i 5 = if my-leave then loop ; will be fine. 18:00:11 and why anyone would want that level of bogozity is beyond me 18:00:17 all you did was guarantee taht leave is immediate 18:00:33 No. That's not right. Seriously, slow down a bit and follow what I'm saying. 18:00:38 its utter insanity 18:01:09 why would soemeone want to use leve as an immediate, excepet if it were laying down code instead of a address? 18:01:11 It's really not. I'm happy to try to explain it to you if you'll calm down and stop losing it every time I try. 18:01:11 you might as well do "' leave alias my-leave" immediate 18:01:37 Yes, in this trivial case, if you have alias, it's just as good. But I'm illustrating a point, not showing some useful technique wherein I rename LEAVE. 18:02:03 im not losing my temper im totally incapable of understanding WHY anyone would want this 18:02:18 I think you're bright enough to follow my explanation, and hopefully I'm bright enough to explain it. :) 18:02:28 compile and [compile] are the only way to go 18:02:41 give me a NON trivial example 18:02:46 I always forget which is which. 18:03:42 Sure. You want to implement an RDROP on an unknown Standard Forth. That's a useful word. On isforth, is R> immediate? 18:03:48 no 18:03:54 Ok. On Quartus Forth it is. 18:03:59 why 18:04:10 Actually scratch that. On Quartus Forth it's an 'inline' word, which has special meaning to the compiler. 18:04:17 because it assembles teh asm code for r> ? 18:04:41 It code-copies its own contents, because Quartus Forth is a native-code system. Yes. And on another system such as RetroForth, it's immediate. 18:05:01 :/ 18:05:07 There are very good reasons for each choice. 18:05:20 this reads like fig semantics 18:05:27 its far more complex no matter how you spin it 18:05:36 but go on 18:05:41 At any rate, they differ. So you can't just pick one of COMPILE or [COMPILE] and be done with it. You can, though, write : RDROP POSTPONE R> ; IMMEDIATE and it'll work no matter how R> is implemented. 18:05:50 oops 18:05:56 : RDROP POSTPONE R> DROP ; IMMEDIATE 18:06:09 I rarely get example code right the first time. Or even the second. 18:06:13 : RDROP POSTPONE R> POSTPONE DROP ; IMMEDIATE 18:06:21 Ok. That's dandy. 18:06:23 and you would want to write a wrapper for every primative you use ? 18:06:34 just so YOU can guarantee YOU know what is and is not immediate 18:06:35 ugh 18:07:00 i would do that with a macro 18:07:10 I440r, that's entirely a side-issue. You can argue that my example isn't useful, but it actually is, and anyway I think you see the point; you can't know the implementation details for each word in each Forth you're after. 18:07:12 m: rdrop r> drop ;m 18:07:18 why isnt there soemthing like,,, : rdrop postpone{ r> drop } ; meaning, something similiar to Perl's qw(), qw( >r drop ) 18:07:18 Which works just fine in isforth, I'm sure. 18:07:39 sorry but i still say thats akin to not knowing the language 18:07:41 You could also do : RDROP S" R> DROP" EVALUATE ; IMMEDIATE if you were so inclined, but that has problems. 18:07:43 of course tho, there's that multiple use of } again 18:07:45 or) 18:07:51 ) rather 18:08:04 ugh i wont suport s" or evaluate simply because of exactly that example lol 18:08:06 why does it s"" have problems? 18:08:35 it seems to me that the ANS is more of a problem maker than a solution maker 18:08:43 The language defines R> as popping a cell from the return stack. It doesn't say how R> is specifically implemented, and when you take a native-code system, a threaded system, and a non-optimizing native-code system, as I have just shown, you can have three different but equally valid implementation techniques. 18:08:45 because your defering till RUN time - that which SHOULD happen at compile time 18:08:50 having seen the discussion here and on the newgroup 18:09:09 Quartus ok 18:09:14 i get that 18:09:24 Using evaluate that way will work, but it's late-binding, and you don't necessarily have the wordlist with R> and DROP visible in it at that time. 18:09:50 why is word-list switching a problem? 18:10:06 let me guess! 18:10:10 Suppose whatever you're evaluating is in a wordlist that isn't presently in the search-order. 18:10:18 you cant guarantee you know what word list a given word is in !!!!!!!!!! 18:10:19 once a pointer to a worr's code is compiled the word-list becomes irrlevent 18:10:19 lol 18:10:52 ok 18:11:15 You can certainly guarantee that all the Standard words are in the minimum search-order, but you yourself may have changed that order, so it's sloppy to use EVALUATE that way, as it has additional dependencies. It works, though, for lots of things. 18:12:10 S" whatever" evaluate just parses & interprets "whatever", whether you're compiling or not. Of course it needs to be able to find "whatever" in order to work. 18:12:15 quartus i wrote isforths m: macro compiler because of "postpone x postpone y postpone z postpone a postpone........ ad infinitum" 18:12:41 And that may well be a nifty and handy syntax for the thing. No reason it can't be built overtop of POSTPONE for portability. 18:13:06 and you cant postpone 10 postpone 0 postpone do postpone lotsastuff postpone ." xxx" postpone loop" 18:13:07 RetroForth has a { } construct that is a bit similar, except that it actually does the S" EVALUATE deal, unfortunately. 18:13:43 I440r, so your m: defines a word that is then inlined at compile-time? 18:13:55 What's wrong with S" EVALUATE? 18:14:00 is this a problem that Chuck solved with separating compile-time and runtime words into separate lists? 18:14:04 Quiznos, no. 18:14:04 yes. but you can purge the macro definitions 18:14:08 k 18:14:15 they take NO space in the executable 18:14:30 I440r, oh ok. That's handy. Very implementation-specific, though. 18:14:41 quartus so am i :) 18:14:52 master of ONE - not a jack of all 18:15:19 I440r, I know that, but it means your opinions on a lot of these things are extremely provincial. 18:15:22 and i can do m: foo ." blah" if xxx else yyy then zzz 100 0 do ." blah" loop ;m 18:15:45 if God intended man to be a master of multiple forth, he'd have given us a better standard to use 18:15:47 lol 18:15:55 :) 18:16:02 I could build an m: ;m on a Standard system. I'll give it a go. 18:16:09 i have no problems masteringa new forth 18:16:15 all you do is read teh fscking manual first 18:16:19 i think i'll stick with either an older std or my own 18:16:20 madgarden, the S" EVALUATE thing is late-binding, which can be annoying. 18:16:20 and poke arround teh soruces 18:16:31 manuals are good; i can read. 18:16:44 I440r, I know you would have no problem with that. But you don't write Forth that you expect to run anywhere but on one system. 18:16:52 src-poking kinda bytes 18:16:54 though 18:18:16 erm porting forth from one forth to another forth is another classic example of a complete NON EVENT lol 18:18:33 and writing it to BE portable makes teh code very messy 18:18:36 if you ask me 18:18:36 It really isn't a non-event, I do it on a regular basis, and I'm not the only one. It may be a non-event for you. 18:18:37 why is that a non-event? 18:19:11 ive never seen a forth that was so vastly different from what im used to that i couldnt take sources for IT and port it to MY forth 18:19:14 why cant compatibility code for other Forth's be factored into each their own wordlist? 18:19:14 or vice versa 18:19:26 duct tape code 18:19:34 duck tape 18:19:40 proof that portable code is not possible. 18:19:40 water off the... 18:19:49 OK, I need a simple test case for postpone. 18:19:53 any time you have portable sources you have lots of duct tape too 18:19:56 Perhaps now, though, after my explanation, you can see that for those of us who aim for portability, POSTPONE is a very useful thing. 18:20:42 quartus how many people port quartus forth code to iforth or win32forth or whereever 18:20:44 You're not one of us; that's cool, nobody requires you to program to any given standard, or to program at all for that matter :) But at least you should understand the reason why these things exist. 18:20:57 Actually, his qsort algorithm is a good example. 18:21:01 i will never do so 18:21:03 I440r, I have no idea. I bring Standard Forth code from elsewhere into Quartus Forth all the time, though. 18:21:07 thats not an application 18:21:09 It would run under Qforth, gforth, and MAYBE even mine. 18:21:17 It's a function an application may use. 18:21:38 And it beats re-writing it for your target system. 18:21:42 yes and im sure it would compile and function identically in isforth with very little modification 18:21:56 Well, if you want to start a new conversation and state that 100% portability for complete apps is a rare and difficult thing to achieve, I'll agree with you wholeheartedly. Perfect portability doesn't happen for very many non-trivial apps. 18:22:18 i duno, this all seems so unnecessarily complicated because of a potentially ambiguous document. or is there a different source of the problems 18:22:30 That's not the goal, though. Large parts of any given app can certainly be portable. Platform-specific stuff always has to be ported. Standards mean the portable stuff moves more easily, and that's the goal. 18:23:22 not even the standard that GCC uses to enhance portablility of C code is that great 18:23:44 its horrible lol 18:23:55 stdshit 18:23:55 It's possible to write extensive standard C sources that compile in lcc, gcc, icc, and all kinds of other places. 18:23:56 lol 18:24:00 just try figuring out what teh macros associated with the select syscall do 18:24:28 dont use the gcc unistd.h; use the linux/include/asm/unistd.h file instad 18:24:37 it's easier to understand 18:24:45 its not in unistd.h 18:24:48 its in glibc 18:24:51 what isnt? 18:24:55 dont use glibc's 18:24:57 the macros for select 18:25:00 i dont 18:25:03 remember ? lol 18:25:07 heh oh yea 18:25:10 a nanosec ago 18:25:14 but i look at its soruces alot to learn how IT does things 18:25:17 use the kernel's 18:25:21 sure 18:25:25 i abandones all hope of using select in isforth 18:25:34 dont do that 18:25:36 its deprecated by pollfd anyway so i use that 18:25:40 ok 18:25:43 It's amusing to consider that there are very few people who have written their own private C dialect who rail against the C standard. That's not because C programmers are any different, but because it's freaking hard to write a C compiler. 18:25:52 pollfd is far far simpler 18:26:10 well smallc is available and there are other less complicated C's to mung 18:26:22 its getting harder to write a forth compiler too now. because of ans 18:26:31 now that i have a serious problem with 18:26:38 postpone is VERY complex to implement 18:26:44 it shouldnt be 18:27:00 compile and [compile] are simple. and [compile] is the one used on immediate words 18:27:01 you guys are forcing me back to 83 or earlier 18:27:05 the [ and ] suggest so 18:27:07 small-c is a toy. 18:27:19 i used to have a joke in here hang on.... 18:27:22 small-c is a uncomplicated tool 18:27:28 --- mode: I440r set +l 83 18:27:30 lol 18:27:37 heh 18:27:42 POSTPONE is trivial to implement. I have a Gforth version right here, it's only a couple of lines long. 18:27:46 not that i actually limit the channel to the 83 standard lo; 18:27:53 lol it was just tooooo funny 18:27:57 heh, i found a 79 std doc too 18:27:59 --- mode: I440r set -l 18:34:28 I wrote a quicksort algorithm yesterday that's actually shorter than the qsort3 haskell example in the wikipedia, and guaranteed to be much faster. 18:34:38 heh 18:35:11 Fewer lines of code, fewer tokens. 18:35:26 And I didn't cheat and cram it all into horizontal block-form, or anything. 18:36:03 cool 18:36:06 And it's optimized to process all short sub-lists first to minimize stack use. It's beautiful. :) 18:36:18 coo 18:36:31 would it run in isforth ?? :) 18:36:42 No, every line uses POSTPONE, sorry. :) 18:36:48 hah 18:37:01 ill port it to isforth and it will be HALF the size :P 18:37:04 but run alot slower hehe 18:37:17 It's a decent benchmark algorithm. 18:37:36 heh 18:37:39 anyway i gtg zzz 18:37:43 Ok, cya. 18:37:46 nn 18:37:46 nite 18:39:08 Good night. 19:35:59 --- join: nighty (n=nighty@CPE00119576a9c5-CM0012c90d36fc.cpe.net.cable.rogers.com) joined #forth 19:39:45 Hi nighty. 19:39:51 hi 19:40:39 I've been inquiring; unfortunately none of the people I know in the hardware space you're looking for are available at this time. All gainfully employed. 19:49:57 I've asked them to keep their ears open. 20:04:45 Here's a POSTPONE replacement for Gforth that shows how simple it is: 20:04:51 : postpone ( "name" -- ) 20:04:51 bl word find dup 0= -13 and throw 20:04:51 0< if [compile] literal ['] compile, then compile, ; immediate 20:30:05 --- join: Sonarman_ (n=cleetus@adsl-71-141-101-214.dsl.snfc21.pacbell.net) joined #forth 20:38:41 --- quit: nighty (Read error: 104 (Connection reset by peer)) 20:42:05 --- quit: Sonarman (Read error: 110 (Connection timed out)) 21:40:49 mmmm brie cheese 21:40:52 --- join: Cheery (n=Cheery@a81-197-19-23.elisa-laajakaista.fi) joined #forth 22:41:10 --- join: Sonarman (n=cleetus@adsl-71-141-130-228.dsl.snfc21.pacbell.net) joined #forth 22:46:13 quartus: ... 0< IF compile compile THEN ... 22:46:36 segher, compile isn't a standard word. Not sure if gforth has a version of it. 22:47:00 it does, and it's non-immediate too, which my version needs 22:47:17 Ok. Then that would work too. 22:47:22 are you sure it isn't standard? 22:47:26 Yes. 22:47:43 it's not required, but i thought it was defined anyway? 22:47:45 COMPILE, [COMPILE] and POSTPONE are the standard ones. 22:47:51 It ain't in there. 22:47:56 ah okay 22:48:25 well, can't implement all of the standard using only standard words heh 22:48:32 *the terminal*:1: Undefined word 22:48:36 It's left out on purpose because the commonest version had a specific implementation that many coders depended on, and it wouldn't work in a native system. 22:49:43 --- quit: Sonarman_ (Read error: 60 (Operation timed out)) 22:49:55 Here's the relevant bit: http://quartus.net/dpans/dpansa6.htm#A.6.1.2033 22:50:12 Gforth 0.6.2 doesn't have COMPILE 22:53:08 yeah i remember it's not in the std; "my" std is OF though and there it is required, heh 22:53:19 huh i would have sworn it had it 22:53:38 POSTPONE is a superset of COMPILE so the functionality is there. 22:54:22 yeah 22:57:31 Gforth uses an annoying two-wordlist system for compiling words, but that POSTPONE should work regardless, though it's meant as an illustration, since Gforth already has one. 22:58:34 Or two-xt system, anyway. I haven't looked at the details recently. 22:59:15 i did, it's horrid 23:01:42 I completely fail to see the advantage of it; it's a long, complicated way to get to the same place. 23:19:13 Update available: http://quartus.net/retro/retro-ans.fs 23:59:59 --- log: ended forth/06.08.29