00:00:00 --- log: started forth/06.12.22 00:15:17 --- join: crest_ (n=crest@p5489797E.dip.t-dialin.net) joined #forth 00:16:41 --- quit: Crest (Read error: 110 (Connection timed out)) 01:05:38 --- quit: Shine (Nick collision from services.) 01:05:43 --- join: Shine_ (n=Frank_Bu@xdsl-81-173-179-155.netcologne.de) joined #forth 01:05:58 --- nick: Shine_ -> Shine 01:16:16 --- quit: ayrnieu (Read error: 145 (Connection timed out)) 01:37:39 --- join: earth| (n=sqrt@82-35-248-212.cable.ubr06.dals.blueyonder.co.uk) joined #forth 01:53:01 --- quit: JasonWoof ("off to bed") 01:55:58 --- join: ayrnieu (n=julian@pdpc/supporter/sustaining/ayrnieu) joined #forth 02:01:37 it's really amazing how many bugs I've managed to fit into this tiny program. I'm going to burn it and start over tomorrow, but you can see what I ended up with: http://rafb.net/p/UlV4hU33.html -- the interface was to begin with commands like: ASK + flowers - hentai OK , which would print those entries of the tag DB. The tag DB itself consists simply of lines of 'filename tag tag tag' 02:02:10 --- join: Cheery (n=Cheery@a81-197-54-146.elisa-laajakaista.fi) joined #forth 02:02:32 e.g., "/var/httpd/favicon.ico green spaceship favicon FIXME\n" 02:07:40 --- quit: ayrnieu ("new kernel") 02:15:30 --- quit: earth| (sterling.freenode.net irc.freenode.net) 02:15:30 --- quit: Quartus_ (sterling.freenode.net irc.freenode.net) 02:15:31 --- quit: Cheery (sterling.freenode.net irc.freenode.net) 02:15:31 --- quit: Shine (sterling.freenode.net irc.freenode.net) 02:15:31 --- quit: crest_ (sterling.freenode.net irc.freenode.net) 02:15:32 --- quit: ccfg (sterling.freenode.net irc.freenode.net) 02:15:33 --- quit: Sukoshi (sterling.freenode.net irc.freenode.net) 02:15:33 --- quit: Quartus (sterling.freenode.net irc.freenode.net) 02:15:33 --- quit: madgarden (sterling.freenode.net irc.freenode.net) 02:15:33 --- quit: Zarutian (sterling.freenode.net irc.freenode.net) 02:15:33 --- quit: Raystm2 (sterling.freenode.net irc.freenode.net) 02:15:33 --- quit: timlarson (sterling.freenode.net irc.freenode.net) 02:15:34 --- quit: cmeme (sterling.freenode.net irc.freenode.net) 02:15:34 --- quit: skas_wk (sterling.freenode.net irc.freenode.net) 02:15:34 --- quit: segher (sterling.freenode.net irc.freenode.net) 02:15:34 --- quit: nighty (sterling.freenode.net irc.freenode.net) 02:15:34 --- quit: arke (sterling.freenode.net irc.freenode.net) 02:15:34 --- quit: absentia (sterling.freenode.net irc.freenode.net) 02:15:35 --- quit: Snoopy42 (sterling.freenode.net irc.freenode.net) 02:15:35 --- quit: virsys (sterling.freenode.net irc.freenode.net) 03:04:40 --- join: Quartus (n=trailer@CPE0001023f6e4f-CM013349902843.cpe.net.cable.rogers.com) joined #forth 03:04:40 --- join: Cheery (n=Cheery@a81-197-54-146.elisa-laajakaista.fi) joined #forth 03:04:40 --- join: Shine (n=Frank_Bu@xdsl-81-173-179-155.netcologne.de) joined #forth 03:04:40 --- join: crest_ (n=crest@p5489797E.dip.t-dialin.net) joined #forth 03:04:40 --- join: madgarden (n=madgarde@bas2-kitchener06-1096751791.dsl.bell.ca) joined #forth 03:04:40 --- join: Zarutian (n=Zarutian@194-144-84-110.du.xdsl.is) joined #forth 03:04:40 --- join: ccfg (n=ccfg@80.222.138.21) joined #forth 03:04:40 --- join: Raystm2 (n=NanRay@adsl-69-149-54-163.dsl.rcsntx.swbell.net) joined #forth 03:04:40 --- join: timlarson (n=timlarso@user-12l325b.cable.mindspring.com) joined #forth 03:04:40 --- join: Sukoshi (n=user@user-11faadf.dsl.mindspring.com) joined #forth 03:04:40 --- mode: irc.freenode.net set +o Quartus 03:04:43 --- join: virsys (n=virsys@or-71-53-68-17.dhcp.embarqhsd.net) joined #forth 03:04:50 --- join: arke (n=chris@217.224.101.172) joined #forth 03:04:50 --- join: cmeme (n=cmeme@boa.b9.com) joined #forth 03:04:50 --- join: segher (n=segher@84.56.167.150) joined #forth 03:04:50 --- join: nighty (n=nighty@66-163-28-100.ip.tor.radiant.net) joined #forth 03:04:50 --- join: skas_wk (n=skas_wk@202.55.146.182) joined #forth 03:04:50 --- join: absentia (n=scott@ns6.lobodirect.com) joined #forth 03:04:50 --- mode: irc.freenode.net set +o arke 03:04:55 --- join: Quartus_ (n=Quartus_@209.167.5.1) joined #forth 03:04:55 --- mode: irc.freenode.net set +o Quartus_ 03:04:56 --- join: Snoopy42 (i=snoopy_1@dslb-084-058-191-081.pools.arcor-ip.net) joined #forth 03:05:53 --- join: snowrichard (n=snow_ric@12.18.108.162) joined #forth 03:06:08 helo 03:09:00 --- quit: snowrichard (Client Quit) 03:17:47 --- join: ayrnieu (n=julian@pdpc/supporter/sustaining/ayrnieu) joined #forth 03:51:10 --- join: zpg (n=user@85-210-181-216.dsl.pipex.com) joined #forth 03:51:34 salut. 03:51:42 salut 03:52:05 ca roule ? 03:54:05 --- nick: crest_ -> Crest 04:43:29 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 04:43:29 --- mode: ChanServ set +o tathi 05:41:51 --- join: Baughn (n=svein@195.134.62.77) joined #forth 05:43:56 Is there a forth compiler for the PIC16F690 microcontroller? 05:46:16 I'm not too familiar with that sort of thing 05:46:25 you can ask in comp.lang.forth ; probably someone has a commercial Forth for it. 05:46:26 I believe there are a few PIC forths out there 05:46:40 have you tried google? 05:46:54 I have, but it mostly gives me "back and forth" results 05:46:57 closest, http://www.rfc1149.net/devel/picforth 05:47:02 I'll ask on the newsgroup, thanks 05:47:10 Baughn: yeah, that's all I got, sorry 05:47:30 he does say, "a Forth compiler for PIC16Fxxx" but on the page itself the chips get more specific. 05:47:42 Well, maybe it will be fun to write my own 05:48:14 zpg: Mm. They all have the exact same instruction set, differing mostly in memory size and peripherals, so it should be possible to adapt 05:48:38 Good stuff. You have a reasonable starting point then. 05:49:24 Indeed - thanks are in order. 05:49:57 No problem. Let me know how it goes -- I'm dumb to PIC, but tinkering with picForth looks v. interesting. 05:50:36 Will do 05:51:21 Good luck. 05:52:04 Actually, I'm kind of taking it on faith that Forth will let me fit more code into 4KW of memory than, say, C would. Does that sound reasonable? 05:52:05 yeah, it is a question we get occasionally, so it'd be good to know if you come up with a good answer :) 05:52:48 --- join: timlarson_ (n=timlarso@65.116.199.19) joined #forth 06:00:04 Baughn: see http://www.rfc1149.net/devel/doc/picforth.html#Why%20this%20project%3f 06:00:46 Yep.. hope he's right. Well, C code /does/ tend to get rather large. 06:01:02 Have you used Forth before? 06:03:02 No. 06:03:26 It'd pay to look over Starting Forth (see the topic line) 06:03:47 That shouldn't be much of an issue; there are few novel ideas in it. I'll look at it, though. 06:04:19 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #forth 06:06:28 Hi Ray 06:08:24 Good morning. 06:08:40 Afternoon. 06:08:50 How are you this fine afternoon, zpg? 06:09:00 Foggy, like the weather :) 06:09:10 & Yourself? 06:11:30 Fair to Midland. 06:11:47 _Have_ to be to work today. :( 06:12:00 Maybe no customers today. :( 06:12:18 Catchup day. All that paper work i've been putting off... 06:12:53 Ouch. 06:16:30 I brought the palm. Not a total loss. 06:17:49 heh 06:18:37 AND I have you! :) 06:27:41 aggh. 06:42:47 --- join: jeremy_c (n=jeremy@cpe-71-74-145-210.neo.res.rr.com) joined #forth 06:55:50 --- quit: absentia ("Leaving") 06:56:41 --- join: absentia (n=scott@ns6.lobodirect.com) joined #forth 07:36:56 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 07:40:10 --- nick: Raystm2 -> nanstm 07:48:29 --- quit: tathi ("bbl") 08:09:51 Hey. 08:10:58 Hey. back 08:11:05 2 minute return time. 08:11:08 working on that. 08:11:22 Few novel ideas, eh? :) Perhaps. Mastering their synergies is not trivial, though. 08:12:14 Yikes, I fell off of the understanding train of thought here. :) wha? 08:12:38 Baughn, earlier, talking about Forth. 08:13:00 Hmm? 08:13:19 Re your earlier comment. "That shouldn't be much of an issue; there are few novel ideas in it. I'll look at it, though." 08:14:23 Oh.. don't worry, I'll figure it out myself. ;) 08:14:48 I wasn't expressing worry, nor suggesting you had to go it alone. 08:17:46 Understanding the various mechanisms is only the starting point, though. From there you'd be able to write C in Forth, which is disasterous. 08:18:16 Actually, I'd probably be writing a weird combination of haskell/cl/postscript/assembly in forth. :) 08:20:06 Right. It's worth learning what makes Forth different as a language, or else you're unlikely to write the kind of code that achieves the advantages. 08:20:17 Baughn, hmm.. new here? 08:20:32 I know, it will take some time to write /forthish/ forth programs, but I'm fairly confident I can manage that after doing the same with four other languages. 08:21:02 Baughn, hope so. Your comment about 'few novel ideas' had me worried. :) 08:21:03 virl: Yep. I intend to stick around for a while, specifically to eavesdrop on conversations about how best to use forth 08:21:57 Quartus: Oh, I see. Thanks for the concern; I said that because I very rarely see genuinely new ideas in mainstream languages (compared to the ones I already know), but if forth has some I'll be sure to take them seriously. 08:22:27 We don't talk about how best to use forth, we steer people away from re-inventing the wheel, which I suppose is the best way to use forth and therefore this statement is false and I'm bored at work on a day we should have had off. :( 08:23:29 the good part about re-inventing the wheel is that it's the wheel for a specific purpose.. 08:23:48 It is true that the list of Forth's novel features as a language isn't a long one, but using those features in concert is rather more complex. Kind of the way chess is simple, if you look at the rules. :) 08:24:19 well, I would compare it with go 08:24:21 As usual. Is it going to be as much of a twister as Haskell? 08:24:29 * Baughn plays go.. fairly badly. :P 08:25:09 but when I see forth from the ANS forth side then it's like chess, when I see forth from other forths like retroforth then it's like go. 08:25:45 I consider Forth to be a much closer fit to the way the computer actually works than Haskell is. Forth was born of pragmatism, not mathematical theory. 08:26:34 Hmm. I just found a major difference between the PicForth micros and my own 08:26:36 I don't know if haskell is a twister, I only know that haskell makes me sick of it's way to do things. for me that's not programming 08:26:51 The PIC I'm programming has a 16-level /hardware/ stack. >_< 08:27:43 Baughn, that shouldn't be a worry. 08:28:11 It does make my earlier statement that it uses the same ISA a complete lie, though 08:28:11 --- quit: zpg ("back later") 08:28:19 puh, 16 level.. chuck would say that's too much. 08:33:23 retroforth, while non-standard, is not at all far from a standard forth. My ANS layer for it primarily consists of renaming, and a collection of words retro was missing. 08:45:42 I don't know any forth that's so far away from a standardized forth that it can't fit into this ugly shell 08:46:51 --- nick: TreyB_ -> TreyB 08:47:05 This 'ugly shell', in terms of RetroForth, is primarily a short list of renamed words. 08:49:34 There are many forth-like systems that are quite far away from Standard Forth. For instance, StrongForth, colorForth, STOIC. Even F-PC is further from the Standard than retroforth. 08:52:49 In your case, virl, you don't understand RetroForth or the Standard well enough to recognize the points of similarity. 09:15:12 --- quit: Quartus_ ("used jmIrc") 09:18:12 --- join: Quartus_ (n=Quartus_@209.167.5.2) joined #forth 09:18:12 --- mode: ChanServ set +o Quartus_ 09:18:58 virl, Quartus could say that about me as well, until I watched him standardize Rx right in front of my eyes. 09:29:13 --- quit: Snoopy42 () 09:39:03 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 09:39:03 --- mode: ChanServ set +o tathi 09:46:07 Okay, that little job i just did, justifies my enormous salary ( by comparison to the income of the job and not in comparison to REAL salaries in the world) and I'm glad I came in now. 09:49:38 heh 09:50:53 heh, if I hadn't come in my wife would have me trailing her from store to store, spending all the way. 09:51:10 Mr. Wallet. 09:51:27 Turn loose, Mr. Wallet. 09:52:01 It's either Mr. Wallet or Daddy Taxi. 09:52:32 Most times it's Mr. Wallet driving. 09:53:26 there, i've moved a pile of invoices from the right of my desk to the left, then wasted an entire minute telling the world about it whether they like it or not. 09:54:04 :) 10:03:43 --- quit: Crest ("Leaving") 10:08:08 --- join: snowrichard (n=snow_ric@12.18.108.162) joined #forth 10:08:24 hi 10:12:03 hey 10:14:39 hello 10:14:44 got my tuner card 10:15:00 can't figure out how to make it work in linux yet, but works in XP 10:15:21 Mmmf. I enjoyed Haskell. 10:15:33 And I wrote something sorta nontrivial in it. 10:15:52 Sorta. 10:16:44 hi Richard 10:16:53 hi Sukoshi 10:17:11 Hiyo Ray_work. 10:17:36 hello Ray 10:24:40 --- part: snowrichard left #forth 10:32:11 ah now there we go. $2.80 tax included for a 2x1RubberSwivel with at 3/8-16x1-3/8 stem. Totally worth opening today. You know why? Because that guy expected us to be here to day and we were. 10:33:04 Will someone please calibrate my spacer between words. 10:33:06 ? 10:33:15 And my puctuation. 10:35:10 --- quit: segher (Nick collision from services.) 10:35:18 --- join: segher (n=segher@dslb-084-056-199-119.pools.arcor-ip.net) joined #forth 10:38:38 Hey phone call! 10:38:49 :( wrong number. 10:39:18 we have an 800 real close to Expedia. 10:42:08 "Can you help me? I'm having trouble getting online" -- Well, sir, If I could have your creditcard number and expiration date to make sure the account is up to date, we can proceed. 10:44:39 AH yes sir, you are payed up, I will transfer you to the service dept. 10:45:09 click* 10:48:13 Heh. 11:21:02 --- join: jackokring (n=jackokri@static-195-248-105-144.adsl.hotchilli.net) joined #forth 11:21:37 Quartus, I hear you do vacuum forming? 11:27:08 Okay, Okay, i'm busted. Quartus: I told timlarson_ you did vacuum forming for your puppets. 11:27:56 why is that a bad thing? 11:28:21 It's not a 'bad' thing. It's just that now Quartus knows we talk about him out of school. 11:28:49 but at least we try to say nice things :) 11:29:00 Often, we do. :) hehe 11:29:14 always infact, as far as I can tell, or am included. 11:29:39 hi tim. Yes, I do. 11:29:49 ui, 'far' away from ans forth is a forth with static type checking, lol. That's like saying one lisp dialect is far away from another lisp dialect because of using [] as brackets. 11:29:58 --- part: jackokring left #forth 11:30:39 is it very difficult? could such a technique be adapted for general toy playing kids of sufficient age? 11:37:49 is there a reason why most words in forth are upper case? I find it inconvient to type and it seems as though it's not case sensitive, so why bother? 11:38:20 I like case sensitivity. 11:39:27 jeremy_c, some systems don't care the case, others do, and some will even convert the case to upper even if you type them lower. 11:40:03 tim, hard to say in the general case. You'd have to be more specific about what it is you are thinking to build. 11:40:37 jeremy, you can use either case in virtually any modern Forth system. Almost all are case-insensitive. 11:43:15 vacuum formed channels and valves for marbles...the marble equivalent of diodes, resistors, transistors, etc. 11:43:56 made as separate pieces that you fit together to form a downward flowing set of "circuits" 11:43:57 macro-electronic-like-marble-curcuitry? 11:44:05 yeah 11:44:44 dang, I'm blameing my spelling on my education and current sugar level, which is dangerously low. 11:49:33 --- join: earth| (n=sqrt@84.13.9.215) joined #forth 11:51:01 * Ray_work studied electronics in HS and it helped to look at as plumbing. 11:51:51 I studied it for a ham radio license years ago 11:54:26 jeremy_c, well and it's supposed to be 'standard' following ANS. 11:54:40 virl: all caps? 11:55:00 just seems like a pain :-/ 11:55:56 jeremy_c, yes, everything which isn't in UPPER CASE is supposed to be non-portable. 11:57:07 jeremy_c: don't mind virl :) 11:57:38 I like to code properly. 11:58:07 why don't mind me? 11:58:39 because you don't usually have a clue what you're talking about 11:58:58 ouch! 12:01:31 Quartus, so if you don't have funny inside angles...what do you think? 12:02:44 I have a clue what I'm talking about, why shouldn't I. 12:06:59 timlarson_ I built a radio station ( WBPV 90.1FM 10 watts Educational) in my freshman year, and when I studied for my broadcasters licence, ya had to take Test 1 + 2 and the Element 9. Now-a-days, you write your name and address on a three-by-five and ask for one and they send you one. 12:07:52 is the morse code test gone? or still there for higher licenses? 12:08:26 (but we are talking about different frequencies, and so probably different regulations) 12:08:30 Prob'ly not for broadcasters, but you'd have to ask Sam = kc5tja as he's a HAM and knows more about that then I. 12:09:06 I had to send and recieve 5 chars/min on my broadcasters test. 12:09:17 I don't believe that's necessary anymore. 12:09:26 they required that for broadcasters? weird 12:10:03 Yes, back then a broadcaster had to beable to understand the transmitter and antenna and beable to react to problems. 12:10:09 if people actually remembered it, I suppose it could be handy during emergencies that happed to occur during sunspots ;) 12:10:16 :) 12:10:52 * Ray_work can Semiphore, Flash Light in Morse and raise flaggs as well. 12:11:01 flags even. 12:12:10 but all that was for the Navy... 12:12:25 * Ray_work likes to be able to communicate. 12:12:54 yeah, I think that is one of the main measurements of being effectively alive 12:15:15 It's still required in the US. Although, not for too much longer. 12:15:30 You can get a ham license w/o it, but not for HF work yet. 12:15:47 ty jeremy_c 12:15:59 I actually enjoy it and use it most of the time. 12:16:26 been years for me. 12:16:44 Sometimes I can read it in movies... 12:16:55 if it's not too too fast. 12:17:12 I mainly remember 'o' and 's', due to SOS 12:18:46 V is Beetovan's 9th ***_ :) 12:26:49 A Standard Forth system must recognize standard words if they are specified in upper case. That doesn't mean they have to be. 12:27:36 It's not that I dislike caps, but I tend to not use my caps lock and will get tired of constant shift. 12:28:06 yes, I agree. I write Forth in lower-case. You can do this on any standard forth. 12:28:51 in the worse case, it would simply require aliasing the lower-case names. 12:29:44 I find the lower-case far easier on the eyes. 12:30:25 but only code which is in UPPER CASE is supposed to be portable. 12:32:02 Quartus: I understand that science backs you up on that. People tend to read lowercase easier, i've read somewhere. 12:32:23 Upper-case standard words only will allow the broadest portability to even the most primitive compliant standards forths. 12:32:28 Makes me wonder why they always use CAPS for closed captioning. 12:33:33 Well, not always use. If the character is off screen then CC uses lower. 12:46:49 --- join: JasonWoof (n=jason@c-71-192-26-248.hsd1.ma.comcast.net) joined #forth 12:46:49 --- mode: ChanServ set +o JasonWoof 12:49:18 You'd only have to worry about Standard words, in that case, and there's a simple filter (in Forth) that can be used. I can't think of a Forth that limited, though, off-hand. 12:49:30 maybe some of the tiniest embedded ones. 12:51:41 --- join: snowrichard (n=richard@12.18.108.162) joined #forth 12:51:52 hi 12:52:16 catering to the absolute minimums of the Standard is not a real-world necessity. 12:52:47 I just came in ... 12:53:02 standard as in the dpans doc? 12:53:10 84 12:53:11 94 12:54:23 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 12:54:36 94. 12:54:59 typo 12:55:23 :) 12:59:46 got my tv tuner card working in XP, but not linux yet 13:00:26 oh hey snowrichard, thats cool. I want one. 13:00:46 www.geeks.com 13:00:53 :) 13:20:31 whatever.. 13:25:05 --- join: arke_ (n=chris@pD9E05384.dip.t-dialin.net) joined #forth 13:29:02 --- quit: timlarson_ ("Leaving") 13:29:58 'Whatever' indeed. I will always correct you when you try and misinform, virl, esp. when newcomers are involved (regulars already are aware). 13:30:05 Ha! I am behind times, December 19th, 2006 FCC did away morse code for all license classes. 13:30:48 http://hraunfoss.fcc.gov/edocs_public/attachmatch/FCC-06-178A1.pdf 13:30:48 --- quit: Shine (Nick collision from services.) 13:30:52 --- join: Shine_ (n=Frank_Bu@xdsl-213-196-228-116.netcologne.de) joined #forth 13:30:56 yeah, I thought I remembered hearing that 13:31:07 --- nick: Shine_ -> Shine 13:31:30 aha, now I'm the antichrist, what's the next thing you want me to be? the axe of terror? 13:31:45 bah 13:32:03 I still have that book... can't remember the name now -- something code? for the morse code training. 13:33:50 it's 'axis'. 13:34:21 'regulars are already aware', when I read that I get sick of your weak minded personality. 13:34:33 so I'm home early today... I am going to try to finish up SICP 13:34:53 * absentia is the death axe of coding. 13:39:02 --- quit: snowrichard (Remote closed the connection) 13:39:31 In Chap 10 of Starting Forth, : TEST ." Sample " ; ... ' TEST >BODY CELL+ 1+ 7 TYPE ... suppose to print Sample, but for me it prints ~amp ... ? 13:40:36 yes,, that would be very compiler-specific. Starting Forth is quite antqiuated. 13:40:52 p/win grow 4 13:41:45 --- quit: arke (Read error: 110 (Connection timed out)) 13:42:16 more werty in forth 13:42:41 OpSys will store anything , manage it automatically , 13:42:41 later using elimination to link , compress , and toss the redundant 13:42:41 data . 13:42:41 No more file manager !!! 13:42:41 Its very easy to do this . 13:42:44 EASY! 13:43:28 rignt :) 13:44:47 What do you mean by Forth werty? 13:44:58 or werty in Forth 13:45:06 c.l.f 13:45:24 if I say that I undertand his post about the tags in the kernel ... would that make me insane? 13:46:07 clf.. Church of the Larger Fellowship? 13:46:54 werty -- is that you ? 13:48:40 way to confuse 13:50:01 werty is a user on comp.lang.forth 13:50:02 ok 13:50:20 you know you could have simply said that 13:50:41 werty is a username of someone who posts to comp.lang.forth 13:50:48 I thought you were pulling my leg. 13:50:51 --- nick: arke_ -> arke 13:50:54 or popping my stack 13:50:54 --- mode: ChanServ set +o arke 13:51:08 heh 14:06:33 --- quit: Baughn (Read error: 110 (Connection timed out)) 14:35:43 --- join: Crest (n=crest@p5489797E.dip.t-dialin.net) joined #forth 14:39:03 --- quit: earth| (Read error: 104 (Connection reset by peer)) 14:54:53 Speaking of werty, I see he's back at it (no doubt I'm late to notice this.) :) 15:01:05 On the Internet one gets to see all of the village idiots. 15:01:45 jeremy_c: : test s" Sample" ; test type 15:02:06 TreyB, he's exceptional. I think he may actually be insane. 15:04:49 Quartus: you gotta hurry up and finish your book so we can stop pointing people to Starting Forth :) 15:05:10 tathi, for sure. 15:05:11 :) 15:05:39 I have to wonder what the educational value of " : TEST ." Sample " ; ... ' TEST >BODY CELL+ 1+ 7 TYPE" is supposed to be. 15:07:01 --- quit: Ray_work (Read error: 110 (Connection timed out)) 15:14:26 --- join: Baughn (n=svein@195134062077.customer.alfanett.no) joined #forth 15:14:40 Hi Baughn. 15:15:13 Quartus: A peek into the implementation details, I think. 15:15:31 TreyB, a misleading and useless one, specific to a given implementation. 15:15:55 Mostly acurate for its time, though. 15:16:34 There were a number of different implementation strategies even then. 15:17:28 Sure. I wouldn't repeat it today. I suspect Marcel updated it in his porting the examples to ANS. 15:21:03 Even then, who the devil cares where a literal string is stored? And why should a colon word be accessible via >body? etc. 15:24:27 Two more werties just now. Werty is astonishingly stupid and abrasive. Harlan Ellison once said that stupid, you can work around. Arrogant, you can also thwart, by appealing to their self-interest. But arrogant and stupid together are completely impassable; you can't go over, under, around, or through. :) 15:25:38 --- join: nighty_ (n=nighty@sushi.rural-networks.com) joined #forth 15:28:32 is anyone looking at those graphics of the second kind? 15:28:35 do they work? are they any good? 15:28:41 should I study them ? 15:30:58 absentia, the Tim Trussell stuff? I was under the impression they were for DOS. 15:31:19 --- quit: Baughn (Read error: 60 (Operation timed out)) 15:32:52 VGA-specific, direct-access sort of stuff. 15:33:39 I glanced at them; my first impression was that they weren't very Forth-like. I saw PICK in one of the early examples. 15:33:48 Long definitions, low on factoring. 15:37:55 quartus: what? 15:38:07 nwhat was that in response to ? 15:38:07 absentia: what what? 15:38:15 [18:24] is anyone looking at those graphics of the second kind? 15:38:15 [18:24] do they work? are they any good? 15:38:15 [18:24] should I study them ? 15:38:20 ah. ok 15:38:39 ok 15:39:17 ya, tim russel stuff 15:39:27 Looked to me like he was just using Forth as a wrapper around some unforthlike assembler routines for drawing direct to VGA hardware under DOS. 15:40:05 Given any thought to my suggestion the other day, of finding an algorithm that interests you, implementing it, sharing it, listening to feedback? 15:43:37 a little. I want to do the kbyter program. 15:43:58 --- join: Quartus___ (n=Quartus_@209.167.5.1) joined #forth 15:44:01 it's not that difficult.. .but will give me something a little loftier to aim for. 15:44:08 I guess. 15:45:05 it's a game loop ... probably will use a screen map (char array) to simulate peek and poke... a little fun ascii graphics and perhaps vt output... 15:45:19 then I can upgrade it turning it from a turn based game to a real time game. 15:45:27 well, at any rate, start writing code! :) 15:45:39 that should be enough to keep me occupised for a day. I'm going to try to get it done by monday. 15:45:42 yup 15:45:51 I want to finish SICP now (video lectures) 15:46:00 and then close a bunch of my tabs in opera, up to about 19 now. 15:46:47 --- quit: Quartus_ (Read error: 104 (Connection reset by peer)) 15:47:01 --- quit: Quartus___ (Client Quit) 15:47:19 --- join: Quartus_ (n=Quartus_@209.167.5.1) joined #forth 15:47:19 --- mode: ChanServ set +o Quartus_ 15:47:35 --- join: slava (n=slava@CPE0080ad77a020-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 15:47:35 --- mode: ChanServ set +o slava 15:49:01 Hey slava. The werty struck again. 15:49:08 indeed 15:49:31 I cannot even parse that rubbish. I have no idea what he's on about, some kind of assembler that he wrote by rubbing the LCD. 15:50:01 Something about gradually explaining what MOV is to the kernel. 15:50:22 it only takes a few days for a good programmer to write an OpSys 15:51:03 You know what they say: Werty is freaking lunatic. Oh, maybe that's just me who says that. :) 16:20:13 timlarson, sorry, I missed your follow-up question earlier on my mobile device. 16:20:38 It comes down to what thickness of plastic you want to vacuform and how large it is, as that determines what vacuforming equipment you need. 16:21:17 Undercuts and sharp angles are not recommended. 16:21:45 I'm not sure what you're building, but if you could find existing tubing or channel to use, you might find it easier. 16:22:40 I don't know what a 'valve' would look like in what you're describing, or even a channel, for that matter. A closed tube? Vacuforming doesn't make closed objects, so you'd need to look at a different fabrication method. 16:23:49 Vacuforming is a process whereby heated plastic is stretched down over a form using the suction of a vacuum. It makes a hollow plastic shroud that has the internal shape of the original object. 16:34:55 --- join: Baughn (n=svein@195134062077.customer.alfanett.no) joined #forth 16:35:05 hi again Baughn 16:35:28 Hopefully the power company will /keep/ it working this time 16:36:18 maybe :) 16:51:10 How goes the Forth? 18:04:36 --- quit: nighty_ (Remote closed the connection) 18:39:23 --- join: Razor-X (n=user@user-11faadf.dsl.mindspring.com) joined #forth 18:39:39 --- quit: Sukoshi (Read error: 104 (Connection reset by peer)) 18:47:48 --- quit: Razor-X (Remote closed the connection) 19:30:56 --- quit: tathi ("'night all; Merry Christmas!") 20:16:29 --- part: jeremy_c left #forth 20:20:21 --- join: Sukoshi (n=user@user-11faadf.dsl.mindspring.com) joined #forth 21:00:50 --- join: Raystm2 (n=NanRay@adsl-69-149-54-163.dsl.rcsntx.swbell.net) joined #forth 21:02:53 --- quit: Quartus_ (sterling.freenode.net irc.freenode.net) 21:02:53 --- quit: arke (sterling.freenode.net irc.freenode.net) 21:02:53 --- quit: Sukoshi (sterling.freenode.net irc.freenode.net) 21:02:54 --- quit: slava (sterling.freenode.net irc.freenode.net) 21:02:54 --- quit: ccfg (sterling.freenode.net irc.freenode.net) 21:02:54 --- quit: Quartus (sterling.freenode.net irc.freenode.net) 21:02:54 --- quit: Crest (sterling.freenode.net irc.freenode.net) 21:02:54 --- quit: Zarutian (sterling.freenode.net irc.freenode.net) 21:02:54 --- quit: nanstm (sterling.freenode.net irc.freenode.net) 21:02:54 --- quit: timlarson (sterling.freenode.net irc.freenode.net) 21:02:56 --- quit: madgarden (sterling.freenode.net irc.freenode.net) 21:03:11 --- join: Quartus (n=trailer@CPE0001023f6e4f-CM013349902843.cpe.net.cable.rogers.com) joined #forth 21:03:11 --- join: ccfg (n=ccfg@80.222.138.21) joined #forth 21:03:11 --- join: Sukoshi (n=user@user-11faadf.dsl.mindspring.com) joined #forth 21:03:11 --- join: arke_ (n=chris@pD9E05384.dip.t-dialin.net) joined #forth 21:03:11 --- join: slava (n=slava@CPE0080ad77a020-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 21:03:11 --- join: Quartus_ (n=Quartus_@209.167.5.1) joined #forth 21:03:11 --- join: Crest (n=crest@p5489797E.dip.t-dialin.net) joined #forth 21:03:11 --- join: arke (n=chris@pD9E05384.dip.t-dialin.net) joined #forth 21:03:11 --- mode: irc.freenode.net set +oooo Quartus slava Quartus_ arke 21:03:11 --- join: Zarutian (n=Zarutian@194-144-84-110.du.xdsl.is) joined #forth 21:03:11 --- join: nanstm (n=NanRay@adsl-69-149-54-163.dsl.rcsntx.swbell.net) joined #forth 21:03:11 --- join: timlarson (n=timlarso@user-12l325b.cable.mindspring.com) joined #forth 21:03:15 --- quit: nanstm (Read error: 104 (Connection reset by peer)) 21:03:16 --- quit: arke (Connection reset by peer) 21:27:15 much simpler, much more quickly accomplished second pass: http://rafb.net/p/Y9fB7786.html 21:44:42 does what? 21:45:14 it does the last four words on the file at the top of the file. 21:45:16 a comment and test case or two would be good 21:46:29 I find the building of static strings between [ and ] quite hard to follow. 21:55:41 that doesn't care very much about the file, as yet, but the tagfile is just a list of lines in the form "filename tag1 tag2 tag3" 21:56:35 the string-building doesn't bother me even a little bit. I'll run it by me+2, though. 22:11:56 nobody ever finds code they just wrote hard to follow. 22:18:07 no, that happens in Forth. 22:18:47 but those have the simplest of stack operations. 22:19:29 they're not hard to follow due to the absence or presence of stack operations. 22:21:22 then what do you have trouble with? I can only see that I might factor out the 0buf ... >buf ... >buf $buf pattern into FOO[ ... ]BAR , but cutesiness like that only made my last version more difficult. 22:22:40 I wouldn't do that. I'd build the strings statically, outside of the definitions, in dataspace. Do away with the temporary buffer and associated words, it isn't needed; you can afford the memory for two short strings. 22:23:48 I did that at first, just copying the filename and having single static strings, but then I needed to build a string anyway , for FIND 22:25:37 If you're married to that set of temporary string buffer words, it would still be clearer to build and name your strings outside of the definitions. The [ blah blah ] sliteral stuff is hard to follow, non-mnemonic, and unnecessarily dense. 22:27:05 I doubt I'll come to agree with those judgements in this case, but OK. 22:28:34 Knuth says all variables need a name and a comment, static data structures included. I agree with him. 22:28:50 what about values passed on the stack? 22:29:21 Knuth would write this program and C, and still not name these strings. 22:29:40 those aren't static. But if you use 42 in a word, it should be 42 constant answer \ answer to life, the universe and everything :) 22:29:41 was knuth a good programmer? 22:30:00 I think he's an excellent programmer. 22:30:48 i get frustrated by tex on a regular basis :) 22:30:58 but i own all three taocp books 22:31:23 me too. TeX can frustrate, but it sure turns out pretty stuff. 22:31:24 i just wish there was a typesetting system with the same output quality as tex, but using a more usable/modern scripting language 22:31:33 tex error messages are impossible to comprehend 22:31:55 I use LaTex for most things. Simpler. 22:32:08 and macros can perform text substitution, and that's about it 22:32:16 latex is one huge spaghetti macro nightmare 22:32:26 i use latex, because it makes tex more sane, but latex itself is crazy :) 22:32:30 yes, but a working one. 22:32:37 yes, but, eg, the latex 3 team disbanded 22:32:41 latex is not maintained anymore 22:33:06 mainly, [ ... ] sliteral strikes as a perfectly readable pattern. What else do people use [ ... ] for, except to build values to inject into the word? Strings aren't more special than memory addresses. Almost-mainly, naming them will have me always do more work, every time I read the code, to determine that these strings are only used in this one place. 22:33:12 oh? I was unaware. It works well, I haven't sought an update for years. 22:33:56 also, strikes me. have me doing. I need to try harder to wake up. 22:33:57 ayrnieu, the name costs you nothing, aids readability and maintainability. 22:34:15 what I'm saying is, it *costs* in readability and maintainability. 22:34:19 why should a string literal be any more complicated than "foo bar" 22:34:53 slava - sometimes bar is a filename that you'd like to not always repeat. 22:35:06 slava, in this case he's building it out of pieces. I'm not sure why, save that it has an escape character or two. Gforth's S\" seems a much better solution. 22:35:09 pass it on the stack, and prepend "foo " to it. 22:35:17 use string operations. 22:36:02 quartus - VI and LS have $images , which gforth's S" won't help me with. FIND embeds a given string. 22:36:44 slava - great! OK. Now, why not do that just once? 22:36:58 but you said the input varies. 22:37:02 gforth's s\" would let you build the sequence with escape characters far more readably, and you could simply append the images string. 22:37:20 nobody has objected to my [ :buf cell+ ] literal , which I repeat three whole times, exactly like that. 22:37:39 I know it's pfe you're using for some reason, but s\" is useful enough to want to port. 22:37:46 well, simply appending is what the string stack does. 22:38:14 I object to a number of things about the 'string stack' words in your paste, but I haven't brought it up yet. 22:38:25 Using pfe because gforth doesn't like OpenBSD/zaurus, yet. It doesn't have some assembly for the xscale. 22:39:16 slava - it does in EDIT , but not in the other four uses. 22:39:33 appending strings is cheap. 22:40:12 sure, it's also cheap to do them once. 22:42:05 much more complicated, but more readable, would be a S%" " that builds a stringn from a pattern and printf-style interpolation. : vi [ $images S%" vi %s" ] sliteral system ; 22:42:51 i don't like string interpolation 22:43:00 instead i express this type of thing with a sequence of words 22:43:17 it turns out here that I wanted more to get those silly words at the bottom than to write a string interpolation word. 22:43:37 what is $images ? 22:43:45 a filename. 22:43:56 a word pushing a filename? 22:44:19 yes. just : $images S" /home/julian/.tags/images" ; 22:44:54 would this make more sense? : vi S" vi " $images append system ; 22:45:31 that would fail, the vi string is a literal and not accessible to appending. 22:45:50 sure, that's fine. I can even do that with : append ( a n a n -- a n ) 0buf 2swap >buf >buf $buf ; 22:45:56 not with the conventional append. 22:46:30 I like the look, though, it's much cleaner. 22:46:31 append could allocate a new block of memory 22:46:39 yes. 22:47:11 it could, but I'd prever a second copy-mem ; here, I'll only pass them to SLITERAL or SYSTEM 22:48:06 it's still static, though. Defining it externally once, naming it, and referring to it, is readable and clean. 22:48:17 what if you want to change $images at run tme? 22:48:18 do it dynamically where you hace to. 22:48:22 er, have 22:48:49 slava - then I could not embed them in the word, and still be immediately consuming them. 22:50:22 quartus - doing it dynamically wouldn't help with FIND , where I'd need two APPENDs ; I would either have even worse code or I would have a memory leak or I would have a GC. 22:50:44 lack of a GC castrates. 22:51:07 I don't follow either conclusion, but I'm not suggesting one technique for all circumstances. 22:51:10 I think a GC is far more forthish than manual deallocation, because a gc is easy to implement, and it simplifies code so much. 22:51:18 I can get a GC, but I can also use a simple pad for all of these immediately consumed strings. 22:51:39 then write an append word which stores the result in the pad. 22:51:42 but how large is your pad? 22:51:47 what if you need a larger string? 22:52:05 I already did -- see above. 22:52:45 a simple form of GC is to just use allot to allocate memory at here, and when your program is done, reset the allocation pointer to its former value. 22:53:00 slava - I don't. The problem I have here is to allow for a simple folksonomy database so that I can easily recall which of my downloaded images involve trogdor. 22:53:01 I maintain that [ build string with sever al words ] sliteral is hard to read, and represents a failure to factor and abstract. 22:53:22 Quartus_: what if there's no [ ] sliteral? 22:53:46 quartus - when do you ever think well of [ ] , then? 22:53:49 slava, that'd be nice. That's what I've been suggesting all along :) 22:53:51 : emacsclient ( file line -- ) 22:53:52 [ "emacsclient --no-wait +" % # " " % % ] "" make system drop ; 22:54:08 on rare occasion, ayrnieu 22:54:38 slava - starting with Forth, that's quite a bit of sideways work. 22:55:01 why? % could append a string to pad, # could format a number. replace "" make with something simpler. 22:55:20 that's essentially what the factor example does, replace 'pad' with 'string stored in a special variable' 22:55:51 factor is of course not Forth, so. 22:56:01 that example translates to forth trivially. 22:56:13 in fact its pretty much what the ans pictured output words do 22:56:21 it does show better abstraction, I agree. 22:56:34 not for the string case. 22:57:06 factor's string formatting is a simplified form of ans forth pictured output, and its applicable to any forth. 22:57:06 sure, I could have a separate vocabulary that "[ and ]" switch to, with words like that. 22:57:10 better than 0buf yadda yadda, yes. 22:57:28 ayrnieu: [ ] don't switch vocabularies, in forth or factor 22:57:45 unless you're using pygmy where immediate words are in a separate vocabulary. 22:57:52 slava - I didn't refer to [ ] in Forth, or to factor. 22:58:51 ah. "[. That seems an even less readable solution to this small problem. 22:59:03 but writing those words is no better than interpolation. 22:59:49 I suggest you try a version that forgoes [ ] throughout; compare for readability. 23:01:52 I can do that simply by removing [ ] and SLITERAL for my program, with no semantic change. 23:02:11 and LITERAL , too. 23:02:32 that would indeed change the semantics, as it would recreate the strings on each call, which isn't what I mean. 23:02:57 it would do a bit of extra work at each call, but the program would behave identically. 23:03:42 again, not what I'm intending to convey. But forget it, clearly I'm not getting through. My fault. 23:04:57 I don't believe that building strings and putting them in a separate word impoves anything: the words that I build strings in only have one or two words beyond that! You can see that I define a string constant as : foo s" ... " ; , rather than fuss with storage and SCONSTANT or such words. Or $, 23:06:00 doing work within a word at interpret time is not obviously hideous next to doing that same work outside of that word, and giving it a once-off name. 23:07:29 actually, they only have one word beyond that: TYPE or SYSTEM 23:08:40 I could write a $curry: that takes a string and an xt off the stack and defines a word (with create...does>) to come to would I have here. Would that be better? :-) 23:08:59 clearly not. 23:10:34 why isn't that better? 23:10:54 you were serious? 23:11:37 Quartus - I prefer what I have, but $curry: isn't difficult or confusing, and neither are XTs. 23:13:07 and $curry: is composed entirely of mnemonics :-) It deals with strings! It creates a word that provides arguments to an XT! It parses, quite possibly creating a word! 23:13:13 ok. My opinion of what is readable and yours clearly differ. I won't try to change your opinion; however, your rationalizations haven't improved the readability any, to my eyes. 23:13:35 factor has a 'curry' word. 23:13:48 Quartus - it seems that you don't have mnemonics, but only the familiar and the non-familiar. 23:14:39 I am not sure what you mean. I suspect you're working around to some kind of comment suggesting I'm too intellectually limited to appreciate your brilliance. 23:20:13 slava - I've written several curries, recently, and other words to compose XTs in various ways, and FP-type words to test each member of an array. The last pass at this program had a query language, ASK + foo - bar END-ASK , which build a test over 'has the foo tag' and 'does not have the bar tag' 23:20:51 that part of it seemed to work well enough, but I thought I'd start with a simpler approach. 23:55:39 I think this could still use work, but it's a modification in the direction I'm suggesting: http://rafb.net/p/9Or1Yd81.html 23:56:16 I debated but didn't resolve whether an append-$images would be a useful factor, or even an append" ..." word if I was going to be doing a lot of it. 23:56:53 s" [1m" type can of course become ." [1m" 23:57:40 oh, and I stubbed out system for testing. Here's an updated paste: http://rafb.net/p/waKIYP92.html 23:59:59 --- log: ended forth/06.12.22