00:00:00 --- log: started forth/05.10.21 00:07:50 --- quit: crc (Read error: 104 (Connection reset by peer)) 00:45:57 --- join: snowrichard (n=guest@adsl-69-155-177-154.dsl.lgvwtx.swbell.net) joined #forth 00:58:53 --- join: Noa_OLD (i=predator@80.76.62.21) joined #forth 00:59:30 hello all 00:59:31 hi 01:00:09 wich forth is best to learn? 01:03:07 I don't know -- there are many. 01:03:28 I mean binary, they all different and would like to have a clean start 01:03:29 Gforth is supposed to be close to ANS standard 01:03:47 but its written in C some don't like that 01:05:19 gForth can be standalone at some point later? 01:05:59 isforth is linux assembler with no C libraries 01:06:29 let me look at this forth 01:51:53 this is very nice 01:57:09 --- part: Noa_OLD left #forth 04:42:37 --- part: Megz left #forth 04:43:08 --- join: snoopy_17 (i=snoopy_1@dslb-084-058-179-206.pools.arcor-ip.net) joined #forth 04:50:59 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 04:51:03 --- nick: snoopy_17 -> Snoopy42 05:07:43 --- quit: aum () 05:36:25 --- quit: I440r () 05:41:33 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 05:47:24 --- quit: ccfg (calvino.freenode.net irc.freenode.net) 05:47:26 --- quit: JasonWoof (calvino.freenode.net irc.freenode.net) 05:47:27 --- quit: Ray_work (calvino.freenode.net irc.freenode.net) 05:47:27 --- quit: snowrichard (calvino.freenode.net irc.freenode.net) 05:47:27 --- quit: warpzero (calvino.freenode.net irc.freenode.net) 05:47:30 --- quit: _james (calvino.freenode.net irc.freenode.net) 05:47:30 --- quit: saon (calvino.freenode.net irc.freenode.net) 05:47:30 --- quit: Robert (calvino.freenode.net irc.freenode.net) 05:48:58 --- join: JasonWoof (n=jason@pdpc/supporter/student/Herkamire) joined #forth 05:48:58 --- join: snowrichard (n=guest@adsl-69-155-177-154.dsl.lgvwtx.swbell.net) joined #forth 05:48:58 --- join: _james (i=jcp@adara.cs.pdx.edu) joined #forth 05:48:58 --- join: Robert (n=robert@unaffiliated/robert) joined #forth 05:48:58 --- join: saon (i=1000@c-24-129-89-116.hsd1.fl.comcast.net) joined #forth 05:48:58 --- join: ccfg (n=ccfg@dsl-roigw3-feb0dc00-66.dhcp.inet.fi) joined #forth 05:48:58 --- join: warpzero (n=warpzero@wza.us) joined #forth 05:48:58 --- join: Ray_work (n=vircuser@adsl-65-68-201-18.dsl.rcsntx.swbell.net) joined #forth 05:48:58 --- mode: irc.freenode.net set +o JasonWoof 06:00:02 --- join: PoppaVic (n=pete@0-1pool73-108.nas24.chicago4.il.us.da.qwest.net) joined #forth 06:00:19 Howdy 06:03:51 --- nick: Raystm2 -> nanstm 06:51:48 hmm 06:58:02 howdy PoppaVic: /me a little slow on the draw this morning :) 06:58:13 ooh freight shipment brb 07:10:59 hiya! Sorry, was reading computed-gotos 07:19:10 JasonWoof: you awake? 07:35:25 tathi? You awake? 07:39:14 damn.. too much death 07:42:46 Am I wrong in presuming that most forth-engines are asm/compiled to use one long string of opcodes with apropos jmps to common exits? Like gotos and computed-gotos? 07:43:11 ..instead of discreet functions/procs, I mean 07:48:13 back yet, Ray_work ? 07:49:44 * PoppaVic twiddles his thumbs 07:52:22 yes sir, I'm back, how the heck are ya today? 07:53:26 --- join: virl (n=hmpf@chello062178085149.1.12.vie.surfer.at) joined #forth 07:53:51 ok, getting anxious 07:54:56 See above: I'm wondering if folks forth-engines are written as suggested and use the gcc equiv of "computed gotos", rather than discrete func/proc 07:55:31 I was looking at retro, and got "that feeling" - same as viewing Gforth intermediate files 07:58:31 You may want to check: http://www.robos.org/code/edforth.tgz 07:58:43 If simplicity is what you want. ;) 07:59:02 not sure at this point, what the heck is 'edforth'? 07:59:37 A tiny Forth I wrote to demonstrate the simplicity of the language. 07:59:56 ahh 08:00:08 Showing that no more than 30 words are needed to implement a Forth compiler + interpreter. 08:00:11 I know how forth works - prolly too much. 08:00:27 Yes, it's not really intended for experienced Forthers. 08:00:42 Problem is getting my head around C(FFI(forthish)) and onward 08:01:36 actually, it's worse than stated 08:10:17 I've just been reviewing vocs, and you know... I see no reason to allow more than 255 words/{wordlist|voc} 08:10:17 Carrying that f[ou]rther: a max of 255 vocs, of 255 words (including wordlists) seems to cover most of the universe. Weird things to notice. 08:10:37 might even suggest dirs and files. I'm not sure. 08:13:25 I DO know that it bothers me that most forth-imps are so monolithically-coded 08:13:25 I'm cogitating this, but it seems likely we should segregate code from data from headers from locals/tmps and consts. 08:13:36 --- quit: PoppaVic (calvino.freenode.net irc.freenode.net) 08:15:57 --- join: sproingie (i=foobar@64-121-2-59.c3-0.sfrn-ubr8.sfrn.ca.cable.rcn.com) joined #forth 08:19:49 --- join: PoppaVic (n=pete@0-1pool73-108.nas24.chicago4.il.us.da.qwest.net) joined #forth 08:19:59 --- part: PoppaVic left #forth 08:20:25 --- join: PoppaVic (n=pete@0-1pool73-108.nas24.chicago4.il.us.da.qwest.net) joined #forth 08:22:21 goddamned splits 08:25:42 "scope" is an interesting subject w/i Forth. It seems almost as though it's important only to 'order' - and I'm not sure that is accurate. 08:25:42 Seems like it isn't interpreter or compiler aware - or they are unaware (whichever). 08:28:17 Anyway, yeah.. It's not as simple as folks seem to believe - and it worsens when you consider portability (and ANS and such ain't). 08:28:42 Bah. 08:28:49 It's only as complicated as you decide to make it. 08:28:55 heh - at least I got feedback ;-) 08:29:24 forth has no scope 08:29:32 I know 08:29:42 and dictionary entries last forever. 08:31:04 There's lexical scope, with wordlists. 08:31:04 well unless you use FORGET or MARK 08:31:10 retroforth has something like block scope, but they're static 08:31:10 variables will tend to leak if you use scope as a temporary storage thing 08:31:10 ..and most forths mix code and data 08:31:10 ..and const 08:31:16 further, it seems like most primitives are more a monolithic pile of ops and jmps than calls 08:31:31 technically speaking everything's a pile of ops and jmps 08:31:40 alan turing, please pick up the courtesy phone 08:31:45 forget and mark are an oddity that not all forths can even handle. 08:31:58 turing schmuring 08:32:19 There's nothing odd about MARKER. It resets the dictionary and dataspace to a known point. It would be a peculiar system that couldn't manage that. 08:32:28 ahh marker, not mark 08:32:31 There is a diff between call/return and jmps - which is what I was noticing this AM 08:32:59 i don't know of any serious forth that doesn't at least have forget. mark is a pretty simple generalization of that 08:33:28 I got the feeling, looking over retro and gforth, that most folks code a single long mess of ops and jmps - rather than calls and returns 08:33:29 tho with retro, if you fiddle with the dict like that, their definitions will leak 08:33:50 eh? retro is subroutine threaded. it has hardly any jmps at all 08:33:58 obviously the asm does, but that's different 08:34:17 yeah, it's just badly planned - but I'm not exactly sure how to resolve it. The dict(s) should be possible to keep clean. 08:34:19 speaking of MARKER, I was reading some history on c.l.f. and they made it sound like the reason it was better than FORGET was that it could restore more stuff than what FORGET does. 08:34:21 asm is about jumps, there's really no getting around it 08:34:32 But it looks to me like the standard pretty clearly says that it doesn't. 08:34:49 c/l.f? restore? 08:34:51 forget can only forget the last definition regardless of what it is 08:34:57 sproingie, Quartus Forth has MARKER, but no FORGET. It can be quite difficult to implement FORGET in a system with wordlists. 08:35:05 MARKER keeps track of where you defined the word and restores to that exact point 08:35:09 sure, it's related to hide/reveal 08:35:22 Traditionally, FORGET winds the dictionary all the way back to a specified word. 08:35:42 tathi, MARKER can restore whatever information the implementation desires. 08:35:43 ah, hashed wordlists. OK. 08:35:44 Quartus: i think the interaction between switching wordlists and using FORGET is undefined, no? 08:36:00 tathi: it has nothing to do with hashed wordlists. in fact it's a lot harder with them 08:36:04 wordlists are far more new than 'forget' 08:36:18 with linked wordlists, you just save a pointer to the last word 08:36:19 sproingie: forget is harder. marker isn't, I think. 08:36:37 Quartus: I was referring to "No other contextual information such as numeric base is restored." 08:36:42 no, forget is as easy as storing the last definition 08:36:48 it's stll messy and prone to error 08:36:48 er storing a pointer to it 08:36:54 sproingie: I think you're confused about forget. 08:37:05 tathi: and "segments" 08:37:10 it normally takes a word name and forgets all the way back to the most recent definition of that word. 08:37:12 oh right, forget forgets a specific word... 08:37:23 sproingie, FORGET forgets all the way back to a specific word. 08:37:43 originally, we'd "forget" all the way BACK to that specific word 08:37:44 tathi, BASE isn't, but, say, interrupt vectors could be. 08:37:56 Quartus: and everything after? oh that is kinky hard 08:37:56 no idea what the new stds specifiy 08:38:12 sproingie, right -- FORGET and wordlists don't mix well. 08:38:34 MARKER is straightforward to implement, and more powerful. 08:38:37 yep, I told you: the concepts are all messy 08:38:48 well how does marker interact with wordlists then? 08:39:02 MARKER rolls the whole dictionary back to a given state, and resets HERE too. 08:39:12 Good q: is a wordlist in the header-section? 08:39:23 there is no decent segregation. 08:39:26 In the Quartus Forth implementation, MARKER stores (among other things) a copy of the hashtable. 08:39:59 interesting, (although piggy) solution. 08:40:20 There's nothing 'piggy' about it. There's no other option in a multiple-wordlist environment. 08:42:45 All memory used by a MARKER word is returned when the MARKER word is called, so it's temporary anyway. 08:43:55 I'd suggest there could be, but it's entirely debatable 08:44:37 there's other approaches, but they would probably create more complexity for code that didn't use MARKER 08:45:00 well, the very idea of 'forget' creates complexity 08:45:06 seems a reasonable tradeoff. it's not like bigloo's continuations (which also uses the copy-the-world approach) 08:45:27 bigloo does that and its continuations are dreadful slow. and scheme uses 'em all over the place of course 08:45:35 whereas most forth doesn't use MARKER 08:46:15 i plan on using that "copy all the stacks" approach for continuations too, but forth's stacks are pretty small 08:46:25 as a term, "marker" might make sense - behaviors are prolly the issue 08:49:34 Consider two MARKER words in different wordlists created at different times, and tell me how you could write a MARKER that didn't store the hashtable. 08:50:19 wordlists are below vocs 08:50:47 ..and we head right back to segregation of "generic data" 08:51:23 I can almost envision "forget " 08:51:28 you could do something like a transaction log, treat 'em like nested transactions. but that would complicate the case when you don't use MARKER 08:51:52 ..but when forget can be anywhere, no: yer opening holes and slop 08:52:08 Yes, MARKER is seldom-used, so engineering the entire system to somehow eliminate its temporary data storage would not be productive. 08:52:36 I disagree - either shit works, or it does not. 08:52:59 ,,either yer interactive and can clean up, or a compiler that can't. - take yer pick 08:53:12 compilers clean up all the time. they have to 08:53:39 maybe the problem is "interpret-only" or "compile-only" flagging 08:53:50 gotta go 08:53:54 * sproingie wavs 08:53:57 You're failing to understand, PoppaVic. MARKER's storage is completely temporary. It matters not-at-all how much or how little it uses, in any practical sense. Moreover, it's a seldom-used facility. 08:54:33 temp?? It's a "defined word and data", is it not? 08:55:00 Temporary. You create a MARKER word with one purpose -- to call it later to reset the dictionary to an earlier state. 08:55:40 sure - but meanwhile, it's embedded forever - even the next 'marker' is going to just add more, right? 08:56:15 Until it's called, a MARKER word holds on to any required state. Might be a few hundred bytes in some systems. 08:56:15 marker is basically like a "begin transaction", and calling it is a rollback 08:56:27 hello 08:56:34 virl now we can talk a bit :) 08:56:36 if you don't call it, it leaks. one can reasonably assume that any marker that gets is likely to be called later on 08:56:42 If it isn't called, it still ties up the memory, right? 08:56:48 i.e. you're not going to use it for exception handling 08:56:50 ahhh 08:57:03 I thought so 08:57:27 OK, it's another "issue" 08:57:29 makes me wonder if the forth people were gamblers 08:57:31 "call your marker?" 08:58:01 I can recall many hours using 'forget' under FIG - and otherwise ignoring it. 08:58:22 Meanwhile, folks are using it like a bandaid 08:59:12 The moment the code MIGHT be segregated it adds a whole universe of issues 09:00:29 And, the funny thing is: given an extended header and a LL, you MIGHT get back to the original intent - but it snarfles on current intentions. 09:01:25 MARKER is a very simple programmer's facility. 09:01:34 It's easy to implement, and easy to use. 09:03:23 Absolutely everyone needs to be able to knap flint. 09:04:20 Whatever that means. 09:04:29 right 09:05:00 MARKER doesn't raise any special issues; it's not complex; it doesn't complicate anything. 09:05:11 now add defer 09:05:43 ok, so what does humulus do? =) 09:05:50 If you make use of an XT that you later remove from the dictionary via MARKER, whether it's via DEFER or not, it breaks. So don't do that. 09:13:00 OK. Still sounds like a half-ass solution. Back tomorow. Tootles 09:13:01 --- quit: PoppaVic ("Pulls the pin...") 09:13:05 More generally, if you store an xt for later use (via any mechanism) and then remove the definition from the dictionary (via any mechanism), it follows that the xt is invalid. 09:13:21 sheesh. 09:13:23 Sheesh. 09:18:17 At least it's not just me. 09:33:31 --- join: neceve (n=Clau@unaffiliated/neceve) joined #forth 09:39:15 --- join: OrngeTide (i=orange@rm-f.net) joined #forth 09:45:31 --- quit: OrngeTide ("off I go") 09:59:45 --- join: Azure_Ag (i=azure@d14-69-131-74.try.wideopenwest.com) joined #forth 10:45:56 --- quit: Azure_Ag ("= Zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz-POP!") 12:53:22 --- quit: virsys ("bah") 12:57:54 --- quit: tathi ("leaving") 13:08:23 --- join: virsys (n=virsys@or-65-40-180-181.dyn.sprint-hsd.net) joined #forth 14:25:22 --- join: crc (i=crc@pool-70-110-176-222.phil.east.verizon.net) joined #forth 14:29:20 --- mode: ChanServ set +o crc 14:43:17 --- quit: swalters (Read error: 104 (Connection reset by peer)) 15:09:24 --- join: swalters (n=swalters@6532183hfc82.tampabay.res.rr.com) joined #forth 15:30:30 --- join: aum (n=aum@60-234-156-82.bitstream.orcon.net.nz) joined #forth 15:43:09 --- join: I440r (n=mark4@adsl-70-243-97-161.dsl.lgvwtx.swbell.net) joined #forth 15:47:29 Hi 15:49:24 hi 15:50:54 How are things? 16:02:30 going ok 16:02:39 working a contract in longview tx 16:02:45 same place i was 2 years ago 16:05:13 Ah, OK. Forth, or...C? :) 16:05:54 --- quit: Ray_work (Read error: 110 (Connection timed out)) 16:36:58 forth 16:41:21 Cool 16:44:01 ya 16:44:13 except its ans(notforth) forth 16:44:17 whatcha making? 16:44:39 ans(forth) => notforth 16:44:44 ;) 16:45:09 --- quit: madgarden (Read error: 104 (Connection reset by peer)) 16:46:18 satellite tracking systems 16:46:23 im working on a mobile system 16:46:32 but right now i gotta go eat :) 16:47:03 cool 17:29:48 --- join: madgarden (n=madgarde@Toronto-HSE-ppp3708444.sympatico.ca) joined #forth 18:04:20 --- nick: nanstm -> Raystm2 18:22:23 --- quit: skylan (Read error: 104 (Connection reset by peer)) 18:28:17 --- join: skylan (n=sjh@dialup-216-211-4-147.tbaytel.net) joined #forth 18:53:40 --- join: LOOP-HOG (n=chatzill@sub22-119.member.dsl-only.net) joined #forth 18:54:21 hi 18:54:48 Hi, LOOP-HOG. 18:55:03 what's going on? 18:55:11 hi LOOP-HOG ;) 18:55:39 --- join: Pepe_Le_Pew (n=User@200.217.122.249) joined #forth 18:57:36 anything new going on with Forth? 19:04:33 --- quit: neceve (Read error: 104 (Connection reset by peer)) 19:06:11 Hmm... 19:06:17 I'm not so sure about taht. 19:06:18 that* 19:12:47 ok 19:13:03 what about Forth Mud 19:13:56 Haven't heard about that. 19:14:00 Are you coding one? 19:14:21 would you beleive that there is an electric car that can go 370 kilometres per hour. 19:14:41 I'm not coding one, n/m 19:14:45 brb 19:15:06 Heh, nice. 19:25:09 it is called the Eliica 19:35:52 --- quit: LOOP-HOG (Remote closed the connection) 19:45:45 --- quit: snowrichard ("Leaving") 19:50:37 --- join: LOOP-HOG (n=chatzill@sub22-119.member.dsl-only.net) joined #forth 19:54:57 --- join: swalters_ (n=swalters@6532183hfc82.tampabay.res.rr.com) joined #forth 19:54:59 --- quit: swalters (Read error: 104 (Connection reset by peer)) 20:00:47 --- join: neceve (n=Clau@unaffiliated/neceve) joined #forth 20:02:32 --- quit: LOOP-HOG (Read error: 104 (Connection reset by peer)) 20:17:12 --- join: LOOP-HOG (n=chatzill@sub22-119.member.dsl-only.net) joined #forth 20:23:45 * Raystm2 pops in the Kung Fu Hustle. 20:24:01 dewd 20:55:03 w00t, florida bar disciplinary board is meeting about jack thompson 20:55:30 guy should have been disbarred years ago 21:00:09 have you played gta? 21:01:55 the kid next door used to play that game alot 21:02:07 haven't seen him from the time he moved away 21:02:14 kid had alot of problems. 21:02:31 don't know if I can blame it on gta or not though :^) 21:15:28 haven't played any games in a long time 21:21:18 anybody there? 21:26:02 sorry, was afk 21:26:15 yah, i have gta3 and sa. never finished either of 'em 21:26:42 got to a point where the main plot is too hard, got tired of replaying the same mission over and over, and the side stuff got tedious and boring 21:26:53 ok 21:27:04 it's a vast game, but i reach for the cheat codes just to move it along 21:27:04 I went to the XPrize Cup 21:27:31 neat 21:27:45 on the 6th there was a symposium 21:28:18 There were rocket scientists on a panel of speakers, such as Carmak 21:29:00 Some of the later panels were not as stimulating for the layperson, there was a senator and a lady from FAA/AST 21:29:32 Tim Pickens with another rocket scientist at their booth 21:30:29 There was this guy who claims, "two people , two days, 100,000 feet" 21:30:35 for like $40,000 21:31:02 bagles were good 21:32:42 the 8th was a bust though 21:33:11 there was supposed to be a bunch of booths set up at the Space Museum in Alamagordo, but no 21:33:50 after emailing XPrize Foundation 7 different ways, I finally get them to admit that there was a logistical error.' 21:34:17 Which is good because I volunteered to help out next year. 21:34:24 cool 21:34:33 Or I may rent a booth 21:34:57 I definately got in for helping next year though, somebody from the Mars Society droped my name 21:35:15 :^) 21:35:38 I met some rocket scientists, but I might have met a few more if I had tried harder 21:35:43 Buzz Aldrin didn't show 21:35:50 The Expo was good 21:35:57 I never seen a TV that big before 21:36:50 Just about anybody that was serious in the X-Prize competition had a mockup there 21:36:53 a mockup ship 21:37:10 there was three rockets, and one and a half failures 21:37:33 Carmak was there with a lander. It was good going at first , it lifted off and hovered 21:37:57 but when it landed it tiped over and sprung a leak 21:38:01 no explosion though 21:38:26 they thought that they were going to get to try again, three flights were planned. but then they discovered the leak 21:39:03 Starchasers test rocket, was in a trailer, and layed on it's side, in test rocket manner. 21:39:06 It blew up 21:39:34 it worked for a few seconds, but didn't make it. That was the 9th test firing for that engine. ( i think) 21:39:43 The EZ Rocket was the sucess 21:40:42 It few a few times. That is a small plane that is retrofitted with rocket engines. It is not ment to goto space, its just a test bed for safety in rocket technology 21:40:51 ok, we are way off topic here 21:41:01 SS1 had NO computers in it 21:41:13 Rutan said no computers, its all controled by cable 21:41:39 the Orange Catholic Chuch wouldn't have a problem with his design 21:48:30 --- join: OrngeTide (i=orange@rm-f.net) joined #forth 22:01:32 --- quit: sproingie (Remote closed the connection) 23:14:04 good night 23:14:05 --- quit: LOOP-HOG ("ChatZilla 0.9.61 [Mozilla rv:1.7.1/20040707]") 23:59:59 --- log: ended forth/05.10.21