00:00:00 --- log: started forth/06.07.13 00:20:28 --- quit: virsys (Connection timed out) 00:40:04 --- join: virsys (n=virsys@or-71-53-74-48.dhcp.embarqhsd.net) joined #forth 02:35:56 --- quit: crc (Read error: 110 (Connection timed out)) 03:43:35 --- quit: virsys (Read error: 110 (Connection timed out)) 04:17:47 --- join: nighty (n=nighty@66-163-28-100.ip.tor.radiant.net) joined #forth 05:42:43 --- join: timlarson_ (n=timlarso@65.116.199.19) joined #forth 05:45:19 --- join: PoppaVic (n=pete@0-2pool198-58.nas30.chicago4.il.us.da.qwest.net) joined #forth 06:17:54 --- join: yoyofreeman (n=root@219.144.184.243) joined #forth 06:40:10 --- join: vatic (n=charlest@ool-45740b1c.dyn.optonline.net) joined #forth 06:50:23 --- join: swsch (n=stefan@pdpc/supporter/sustaining/swsch) joined #forth 07:56:37 --- quit: PoppaVic ("Pulls the pin...") 07:58:32 --- join: PoppaVic (n=pete@0-1pool75-28.nas24.chicago4.il.us.da.qwest.net) joined #forth 07:59:04 * swsch is away: going ... going ... gone. 09:20:12 --- quit: PoppaVic ("Pulls the pin...") 09:29:11 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 09:30:03 --- quit: tathi (Client Quit) 09:38:03 --- quit: ASau ("ERC Version 5.1.2 (IRC client for Emacs)") 10:38:30 --- quit: virl (Remote closed the connection) 10:56:00 --- join: Bushmills (n=l@A-35-199.cust.iol.ie) joined #forth 11:02:28 --- join: snowrichard (n=richard@12.18.108.246) joined #forth 11:02:41 --- part: snowrichard left #forth 11:04:29 --- quit: vatic ("Chatzilla 0.9.71 [Firefox 1.5.0.4/2006050817]") 11:26:43 --- join: snowrichard (i=snowrich@adsl-69-155-177-157.dsl.lgvwtx.swbell.net) joined #forth 11:26:59 hi 11:34:47 --- quit: snowrichard () 12:04:00 --- join: vatic (n=charlest@ool-45740b1c.dyn.optonline.net) joined #forth 12:27:05 --- join: hrmpf_ (n=obi@gw.mastmoen.no) joined #forth 12:29:09 --- quit: hrmpf_ (Client Quit) 12:29:19 --- join: hrmpf (n=obi@gw.mastmoen.no) joined #forth 12:31:25 --- quit: hrmpf (Client Quit) 12:31:33 --- join: hrmpf (n=obi@gw.mastmoen.no) joined #forth 13:21:10 --- quit: hrmpf ("whatever u do, do it right!") 13:51:32 --- quit: nighty (Read error: 113 (No route to host)) 13:52:20 --- quit: timlarson_ ("Leaving") 14:48:02 --- join: I440r (n=mark4@24-177-235-246.dhcp.gnvl.sc.charter.com) joined #forth 14:48:03 --- quit: swsch ("Leaving") 15:28:28 --- join: LOOP-HOG (n=jason@66.213.202.50) joined #forth 15:28:47 hi 15:29:41 Bigelow!!!! 15:31:41 --- part: Bushmills left #forth 15:50:08 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 16:01:48 ok its official. im bored 16:01:50 bleh 16:01:52 --- join: nighty (n=nighty@CPE00508be190fc-CM0012253ec1bc.cpe.net.cable.rogers.com) joined #forth 16:09:12 blah 16:09:23 what are you doing? 16:09:27 being bord 16:21:14 trying to fix a bug in my debugger lol 16:21:23 and watching csi vegas (bleh) 16:21:36 i dont usually watch SOAPS but theres nothing else on tv 16:21:49 I hate tv 16:21:52 I never watch 16:21:54 except the endlessly repeatative loop of the same news over and over on fox 16:22:11 i dont own one but theres on in this apartment - im renting while on a contract 16:22:12 I'm trying out Website Baker open source CMS 16:22:18 oh 16:22:40 it seems good so far, but there is something that isn't working on the mac 16:30:49 --- quit: segher (Read error: 104 (Connection reset by peer)) 16:35:32 I am running into a problem using the insert a link feature in the CMS that won't work on the mac 16:35:40 everything else seems to work, which sucks 16:35:50 I'm waiting for the next version of Firefox then 16:37:44 who else besides me has had trouble with Apple? 16:37:46 --- join: segher (n=segher@dslb-084-056-130-188.pools.arcor-ip.net) joined #forth 16:41:52 Apple sucks and PC blows, i want to migrate to a parrallel universe where they have Forth desktop computers 16:42:16 --- quit: nighty (Read error: 113 (No route to host)) 16:51:37 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 16:53:08 http://www.holmea.demon.co.uk/Mk1/Architecture.htm 17:16:01 LOOP-HOG, jpb-forth is the only forth which I know which is damn close to this. 17:54:44 I mean more like iTV 18:12:35 --- quit: I440r ("Leaving") 18:16:01 --- quit: tathi ("leaving") 19:00:41 --- quit: uiuiuiu (Remote closed the connection) 19:00:43 --- join: uiuiuiu (i=ian@dslb-084-056-231-098.pools.arcor-ip.net) joined #forth 19:28:11 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-138-124.pools.arcor-ip.net) joined #forth 19:28:14 --- part: LOOP-HOG left #forth 19:28:19 --- join: LOOP-HOG (n=jason@66.213.202.50) joined #forth 19:36:41 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 19:36:41 --- nick: snoopy_1711 -> Snoopy42 20:57:55 --- log: started forth/06.07.13 20:57:55 --- join: clog (n=nef@bespin.org) joined #forth 20:57:55 --- topic: 'Welcome to #forth. We discuss the Forth programming language, simplicity, and a variety of technical subjects.' 20:57:55 --- topic: set by ayrnieu on [Thu Jun 22 20:55:25 2006] 20:57:55 --- names: list (clog michaelw LOOP-HOG Zymurgy saon Al2O3 ayrnieu warpzero ohub uiuiuiu Quartus virl madwork Raystm2 Snoopy42 ccfg @JasonWoof) 20:58:43 --- join: segher (n=segher@dslb-084-056-130-188.pools.arcor-ip.net) joined #forth 21:03:07 --- join: docl (n=docl@70-101-145-1.br1.mcl.id.frontiernet.net) joined #forth 21:56:11 I /do/ like the MachineForth business about : foo if a ; then : bar b ; -- just not enough to put high priority into 'write a Forth to do this'. 21:58:19 What's that code supposed to do? 22:01:00 defer bar : foo if a exit then bar ; : (bar) b ; ' (bar) is b 22:01:14 IS BAR , rather 22:01:39 How is the first syntax better? 22:04:33 More than that, under what circumstance would you ever want to do this? 22:05:31 the first syntax shows off two features of MachineForth; the first that it spells EXIT as ; , and the second that control in definitions will flow to subsequent definitions. 22:06:39 There's a semantic difference between EXIT and ; so I don't value the renaming. But what use is flowing into a subsequent definition? 22:07:11 there's no difference in MachineForth , which the second feature backs. 22:08:18 Allow me to rephrase. There are two concepts, one being that generally assigned to EXIT, one being that generally assigned to ; , which are different. 22:08:22 If you say "I would like to change this Forth system to have words that flow into subsequent words" , you'll of course be hard-put to find a use. If you just happen to have that, uses will appear -- a couple of words that more neatly express that way. 22:08:30 yes, I'm not talking about 'generally'. 22:08:55 if MachineForth spelled its ; as EXIT , then you could say 'MachineForth doesn't have ; , and words flow into subsequent words' 22:09:52 I know you're not talking about 'generally', I'm just saying there's two separate uses for those two words, whatever they may be named, and I am wondering what the constructive use is of eliminating one of them. 22:10:00 Also what the constructive use of flowing into the next definition might be. 22:10:33 I answered that one already: "If you say" 22:11:30 Do you have an example of a use that will appear? 22:11:47 What's the paste site you use, btw? 22:12:00 one obvious couple: : / dup 0= ?die-horribly : (/) ASSEMBLY GOES HERE ; 22:12:05 paste.lisp.org 22:12:37 It's trivial to code that without flow-through, simply by not beginning a new definition. 22:13:17 That's not worlds better than : (/) ... ; : / ... (/) ; , which is part of why I've low-priority to wanting that, but I like it. 22:13:35 http://paste.lisp.org/display/22567 22:15:31 I find it awkward. It cojoins the two definitions in a non-obvious way, unless you happen to be reading the source from the first definition. If you were to relocate the second definition, the first would fail in bizarre ways as it fell through to whatever the next word happened to be. 22:16:06 neat :-) 22:16:30 it's only 'non-obvious' when you assume unfamiliarity. 22:16:33 With : (/) ... ; : / ... (/) ; the linkage is explicit; if (/) doesn't exist, / will report it. 22:17:10 Yes, and unfamiliarity happens whenever anybody else has to look at the code, or if the same developer has to look at his own code once it's left his short-term memory. 22:17:24 if you've learned this language where words flow into each other, well of course it's obvious and you even know a bit about why it's so and how it happens 22:17:48 unfamiliarity happens whenever anyone else who is unfamiliar has to look at the code, just like they look at /any/ code. 22:18:08 Horrible bugs waiting to happen, should you happen to leave out a conditional termination somewhere. 22:19:23 your arguments would apply were I wanting to write a standard ANS Forth program for a standard system, and just happen to throw this semantic-shift by way of a rarely used mechanism like the CS stack. 22:19:55 -- at the top of the program. 22:19:56 I am remined that I once wrote a parser for a user-maintained text file of account types. You could say, for any new type, "Type XXX is the same as the previous one, only with changes AAA and BBB." and it'd work fine. This was a horribly bad idea, as if anything was inserted before XXX, the new type inherited the wrong characteristics. 22:20:53 well, the second word here doesn't inherit anything; only the first word cares -- and you can see that it cares, because it doesn't exit before the second word starts. 22:21:43 Sure, it is visibly so. But should you for any reason forget the linkage, and move the self-contained definition 'bar' elsewhere, foo will silently fall through to whatever haplessly happens to follow it, without complaint at compile time. 22:22:02 : AAA ... then GO-ON-WITH-CHANGES-FROM : XXX ... ; 22:22:45 I would sooner be at least warned of forgetting a THEN, even at the (minor) cost of having to explicitly identify what code I want to continue with. 22:23:03 but that's also the case if you've foo and bar right next to each other in the familiar way. Keeping related words together is just good sense. 22:23:48 It's not the case. If you define bar, and then foo that depends on bar, bar can be defined anywhere above foo, and foo will work. If you delete bar, foo won't compile. In a fall-through system, it would still compile, only now it'd run something really bad. 22:24:23 it /is/ nice that a forth system can notice if you mess up control flow, but it's not so nice that I'd prefer that to a package of changes that seems more expressive. 22:25:19 add 'decoupling' to your lexicon about refactoring. 22:25:23 :-) 22:25:42 That account-parsing blunder bit us several times, because it absolutely required the maintainer to notice the 'previous' linkage and not screw up the ordering. The system was changed so that you had to say 'Type XXX is the same as type YYY, but with changes aaa and bbb', and we never had that trouble again. 22:26:22 "ah, crap." "what happened?" "I just realized why my reorg broke the system: I ignored some coupling." "hah! How'd you do that?" "There were three together, and I was used to just two words in a 'couple', so..." 22:28:29 that problem seems like it'd have to be associated with some verbosity, but OK. 22:29:51 --- part: LOOP-HOG left #forth 22:41:09 You can do a number of funky things with a Standard Forth in terms of modifying control structures. Here's one that separates backward and forward branches, so you can interleave them: http://paste.lisp.org/display/22572 22:41:55 oh the 'include condthen.txt' is spurious, I think. 22:42:04 wow 22:43:13 You could as easily separate all branching from the primary stack, and thus allow any conditional to terminate later -- note, this wouldn't necessarily be portable, but it would work fine in a number of Forths I can think of. 22:43:45 You'd at least be able to warn about an unbalanced control stack when you terminated any given definition. 22:46:46 Once separated, you could easily do : foo if a ; : bar then b ; with all the inherent troubles that can cause. :) 22:51:35 Just tried it. Created a separate stack for IF ELSE and THEN, redefined them, and then : foo if ." a" exit ; : bar then ." b" ; works like a charm. I still can't think where you'd ever want to do it, but it's achievable. 22:54:35 Entertainingly, 'see foo' decompiles something resembling what you'd expect, though it stumbles a bit. 22:57:13 hm :-) 23:01:47 fortunately, I can decide not to do this without the illusion of it being very hard to come by 23:02:14 but I'll experiment with it, some time. 23:24:22 heh, unrelatedly: http://groups.google.com/group/comp.lang.forth/msg/f2618379e451c6b9 23:30:37 'spaghetti code' is right. One of the tenets of structured programming is that it's verboten to branch into the middle of another construct. 23:40:00 actually unrelatedly, I really liked this article about communist humor: http://www.prospect-magazine.co.uk/article_details.php?id=7412 23:45:20 --- quit: Al2O3 (Client Quit) 23:56:15 A person on a bus tells a joke: "Do you know why policemen always go in pairs?" / "No, why?" / "It's specialization: one knows how to read, the other - how to write." / A hand promptly grabs him by the shoulder ? a policeman is standing right behind him! "Your papers!" he barks. The hapless person surrenders his papers. The policeman opens them, reads, and nods to his partner: "Write him up a citation, Vasya." 23:59:59 --- log: ended forth/06.07.13