00:00:00 --- log: started forth/07.01.03 00:52:47 --- quit: slava () 00:53:25 --- join: ygrek (i=user@gateway/tor/x-dbe31a0f7c5e3dba) joined #forth 01:39:29 --- join: Cheery (n=Cheery@a81-197-54-146.elisa-laajakaista.fi) joined #forth 02:16:07 --- quit: ygrek (Remote closed the connection) 02:39:17 --- quit: ASau (Read error: 131 (Connection reset by peer)) 02:39:18 --- join: ASau` (n=user@home-pool-173-2.com2com.ru) joined #forth 03:18:43 --- join: neceve (n=claudiu@unaffiliated/neceve) joined #forth 04:42:31 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 04:42:31 --- mode: ChanServ set +o tathi 04:42:54 Good afternoon! 04:45:53 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 04:46:28 Guten Tag, virl! 04:46:30 hi ASau`, virl 04:47:35 Anything new? 04:47:40 --- nick: ASau` -> ASau 04:50:37 not much on the Forth front here 04:51:40 actually, I'm working haphazardly on a couple of projects, but nothing worth mentioning yet 04:54:58 --- join: ygrek (i=user@gateway/tor/x-0b5f042c454f7116) joined #forth 04:55:09 Privet, ygrek! 04:55:48 Aloha 04:57:57 ASau, you seem to break the simple rules of this channel :-) 04:58:31 :) 05:01:21 --- nick: ygrek -> ygrek_away 05:05:56 I don't speak Russian, nor Malqar, nor Deutsch on the channel. 05:09:33 Malqar? 05:13:49 That's the planet Alf was from. 05:14:28 I almost every year go to Bahsan valley. 05:19:57 and what language is Privet? (just kidding) 05:19:58 The recent summer I tracked from Uzunkol to Verkh. Baksan. 05:20:42 It's only single word. 05:21:49 Vsego odno slovo, a ne postojannoe obshchenie na russkom. 05:21:53 :) 05:24:00 ASau, you speak german? 05:27:58 Too bad now. 05:28:10 No practice for... 05:28:15 Seven? 05:28:38 Ja. 05:29:39 7 years without practice in German. 05:31:01 I don't count reading Heine and Hoelderlin, it is 05:31:01 insufficient, obviously. 05:33:21 The lack of free plain text dictionary prevents 05:33:21 resurrecting my German. 05:35:42 Though, I have to admit that I'm still able to understand 05:35:42 spoken German, when I watch Bundesliga reviews. 05:35:42 --- quit: Zarutian (Read error: 104 (Connection reset by peer)) 05:45:55 --- join: timlarson_ (n=timlarso@65.116.199.19) joined #forth 05:57:00 Grr. 05:57:22 Why the hell does the standard define the file read/write operations to take lengths in characters? 06:00:28 I guess they were just codifying existing practice...but it's still annoying. 06:01:43 If they were going to have words like that, they should have included CELL/ and CHAR/ in the standard. 06:02:41 not hard to define. 06:02:48 I think Gforth comes with cell/ 06:03:36 also : char/ ; immediate 06:05:15 --- quit: ygrek_away (Remote closed the connection) 06:14:11 --- join: ygrek_away (i=user@gateway/tor/x-fb5682a006061c7a) joined #forth 06:14:21 --- join: zpg (n=user@81-178-240-29.dsl.pipex.com) joined #forth 06:18:45 Hi./ 06:20:02 --- join: Quartus_ (n=Quartus_@209.167.5.2) joined #forth 06:20:02 --- mode: ChanServ set +o Quartus_ 06:20:41 Afternoon Quartus_ 06:29:35 hey. 06:36:13 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #forth 06:36:58 hi Ray 06:37:20 Good morning, zpg. :) 06:38:02 did I miss much last night 06:38:03 ? 06:39:29 seven years without german, mah that's oarsch. 06:43:17 --- quit: Quartus_ (Read error: 60 (Operation timed out)) 07:17:17 --- quit: tathi ("running errands") 08:29:33 --- quit: virl (Remote closed the connection) 08:33:07 --- quit: zpg ("back in a bit") 08:34:15 --- join: Quartus_ (n=Quartus_@209.167.5.2) joined #forth 08:34:15 --- mode: ChanServ set +o Quartus_ 08:45:14 --- join: I440r (n=mark4@70.102.202.162) joined #forth 08:52:13 --- quit: ygrek_away (Remote closed the connection) 08:52:45 --- join: ygrek_away (i=user@gateway/tor/x-5f061d93a08fa522) joined #forth 09:20:58 --- join: zpg (n=user@81-179-143-20.dsl.pipex.com) joined #forth 09:21:12 hi 09:21:20 Good evening. 09:21:46 hey ASau 09:22:06 how's it going? 09:25:01 What? 09:25:31 Coding is slow. 09:26:09 I'm interrupting for TV, there're many interesting movies 09:26:09 this week. 09:27:07 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 09:27:07 --- mode: ChanServ set +o tathi 09:27:11 De Vega, Goldsmith. 09:28:13 Kalman, Strauss. 09:38:46 --- quit: nighty_ (Client Quit) 09:42:45 neat 09:43:01 --- join: jackokring (n=jackokri@static-195-248-105-144.adsl.hotchilli.net) joined #forth 09:43:55 I know. 09:43:59 --- quit: ellisway (Read error: 113 (No route to host)) 09:45:20 --- join: nighty (n=nighty@66-163-28-100.ip.tor.radiant.net) joined #forth 09:45:55 --- part: ygrek_away left #forth 09:51:48 I say, I can't stay coding when I can see "Die Fledermaus" 09:51:48 or "Die Zirkusprinzessin". 10:07:11 --- join: arke_ (n=chris@pD9E0497A.dip.t-dialin.net) joined #forth 10:08:07 --- quit: arke (Read error: 104 (Connection reset by peer)) 10:08:59 --- nick: arke_ -> arke 10:09:05 --- mode: ChanServ set +o arke 10:09:40 arke 10:10:14 hi 10:13:36 --- quit: Al2O3 ("Leaving") 11:29:18 --- join: Crest (n=crest@p54895862.dip.t-dialin.net) joined #forth 11:42:23 --- join: ellisway (n=ellis@host-87-74-241-174.bulldogdsl.com) joined #forth 11:54:10 --- join: arke_ (n=chris@pD9E0585A.dip.t-dialin.net) joined #forth 12:10:50 --- quit: arke (Connection timed out) 12:25:42 --- quit: zpg ("ERC Version 5.1.3 (IRC client for Emacs)") 12:39:53 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 12:43:37 --- join: frunobulax (n=mhx@f233149.upc-f.chello.nl) joined #forth 12:57:33 --- nick: arke_ -> arke 12:57:52 --- mode: ChanServ set +o arke 13:11:48 --- quit: jackokring (Read error: 113 (No route to host)) 13:14:53 --- join: jackokring (n=jackokri@static-195-248-105-144.adsl.hotchilli.net) joined #forth 13:15:57 --- join: Zarutian (n=Zarutian@194-144-84-110.du.xdsl.is) joined #forth 13:17:43 --- quit: Crest (Read error: 110 (Connection timed out)) 13:35:46 --- quit: timlarson_ ("Leaving") 13:47:20 what did I miss? :) 13:48:34 a(nother) tull reference (in ##C++)? 13:50:31 I don't join ##c++ 13:50:41 Aqualung? 13:51:36 someone guy accused another guy of living in the past. 13:51:44 (unintentional ref..) 13:51:50 I guess. 13:52:18 the guy was asking about vectors, so he asked what's our vector, victor... to which I repliced "roger, Roger" 13:52:30 Oh, what wit I am missing. 13:53:27 airplane? (captain Oveur, etc..) --> http://www.imdb.com/title/tt0080339/quotes 13:53:54 Right, I got the reference. 14:34:50 'Twas brillig and the characters\\ Did gyre and gimbal on the paper\\ All mimsy were the colons and exclamation points\\ And the style went through the grater 14:41:54 --- quit: frunobulax ("a quit that really quits") 15:18:43 --- quit: Ray_work (Read error: 104 (Connection reset by peer)) 16:11:24 --- nick: nanstm -> Raystm2 16:14:38 --- quit: jackokring (Read error: 110 (Connection timed out)) 16:21:53 --- join: zpg (n=user@85-210-50-21.dsl.pipex.com) joined #forth 16:24:46 absentia "We have clearance Clarence?" :) 16:25:03 hi. 16:25:20 H3y l337 zpg :) 16:25:27 What's up? 16:25:33 Had a good day? 16:29:15 hi Raystm2. yeah, not bad thanks. thankfully devoid of "l337"ness 16:30:27 sorry, I noticed I had spelled 'hey' wrong on the fly and added it. Won't happen again. :) 16:31:07 finally caught up to some of these chats. I missed out last night. :( 16:31:21 * Raystm2 needs to code something. 16:31:27 Heck, finish something. 16:31:28 heh. 16:31:55 You know how you code something and it's done, really, save for all of the features you want to never get around to? 16:32:19 I gotta have atleast 6 of those going just now. 16:32:38 I don't recall codeing anything new, or finishing anything since Wellbutrin. 16:32:50 It's also effecting my work. :( 16:33:52 sorry to hear that. 16:34:00 is it having any positive effect? 16:34:13 It's not effecting my customer service, or getting orders out, just all of the back paperwork. You know? The boring detail stuff. 16:34:59 just pileing up on my desk. AND my desk is just next to the coffee urn so the entire company comes by to see me and my new pile. :) 16:35:30 But on the flip side, everybody knows i'm a mental case now and nobody seems to bother me. :) 16:36:34 heh, small mercies. 16:36:45 zpg: what's got your forth attention these days? 16:36:55 a couple of projects. 16:37:17 nothing substantial as yet, but can say that i need to use task-switching soon, so shall be looking at gforth's switcher. 16:37:48 Neat. I've not seen a 'real' tasker yet. Just a colorforth version that seems to be working. 16:37:59 oh wait. 16:38:07 Saw the one in Enth/Flux. 16:38:16 that's pretty neat as well. 16:38:19 got gforth? 16:38:42 Yes, 16:38:50 check out tasker.fs 16:38:57 doing so now. 16:38:59 i tried to make sense of it but there's some niggly stuff in there. 16:39:44 good word. :) 16:40:14 :) 16:43:02 zpg: did you happen to find an example of this at work? 16:43:14 no, not yet. 16:43:23 zilch on usenet, bar a question aimed at finding examples at work. 16:43:31 :) 16:45:22 see, now this is something that confuses me... 16:45:40 tasker.fs, the tasker file, tasker word in this file, given. 16:46:04 I don't see a def for NEXT-TASK in this file. 16:47:14 okay found, user variable. 16:48:22 the real problem is the lack of documentation for how the tasker ought to be employed. 16:48:39 You always hear stories of people implementing forth on a 286 and then running entire countries in muliti-tasker mode. 16:48:41 YES! 16:49:13 'real' forthers think the code is the document. 16:49:39 you've exposed me as illusory. 16:50:39 hehe ;) 16:50:50 just pull up your pants, I don't think anybody noticed. :) 16:51:01 * zpg searches for the hidden camera 16:51:16 heh 16:54:44 Raystm2: looks like you use it pretty much like 'show' and such in colorforth. 16:55:01 only you have to call NewTask first 16:55:19 makes sense. Thanks. 16:55:30 I think that's how rj-cf is doing it. 16:55:34 use 'activate' or 'pass' like show. 16:55:44 okay. 16:55:57 tathi have you done any multi-tasking in forth? 16:56:03 not really 16:56:20 zpg: I think you do something like 16:56:25 not that it matters. 16:56:41 : foo newtask activate ( code for the task goes here) ; 16:57:11 intriguing. 16:57:52 and then the task code should call PAUSE periodically to give other tasks time. 16:58:07 Raystm2: actually, I played with multitasking a very little bit when I first got into Forth. 16:58:13 but I didn't really have a use for it. 16:58:20 ya. 16:58:42 And then I got sucked into the implementing-Forth trap, from which I am still trying to extricate myself. :) 16:58:56 ah. 16:59:13 the only thing i can imagine needing a tasker for in a window environment is if you are going to run the same program over several terminals. 16:59:40 i have other uses. 16:59:50 zpg: and as you can see at the end of the file, it puts a PAUSE in key, emit, and type. 17:00:18 yep. 17:02:01 In co-operative multi-tasking, is there a general practice that lets you know when to pause, or should I take an example from these re-vectored KEY, EMIT, TYPE and just pause after every ( what) action? 17:02:56 usually I/O is the time for switching in cooperative multitaskers. 17:03:00 --- part: Sukoshi left #forth 17:03:09 --- join: Sukoshi (n=user@user-11faaaj.dsl.mindspring.com) joined #forth 17:03:14 hi Sukoshi 17:03:19 Hey zpg. 17:03:29 Sorry if I talk little here, I'm really busy 'round now. 17:03:35 no problem. 17:03:45 * Raystm2 makes creative usage of the tasking features in Glypher and colorForth for the ChuckBot program. 17:05:24 When you program the ChuckBot robot and execute the code, if you don't pause after every action, you don't see 'him' do all of the actions because the machine is just so fast. 17:05:39 how is that tasking? 17:05:47 it's not. 17:05:58 I said that i make use of the features. :) 17:06:04 Creative use at that. :) 17:06:19 anything other than pausing? 17:06:53 actually, I've changed the Glypher version to include a 'WAIT' instead. 17:07:37 No not really. Just Pause in colorforth cuz that's fairly handy for such things. ColorForth starts with just two tasks, Main execution, and display. 17:09:07 The newest colorForth has some new variable in the middle of the tasker now, I assume that it's used to insert other tasks. I could be wrong. 17:09:27 the newest public release has three tasks, I believe. 17:09:42 newest being...? 17:10:48 tathi, I only saw too, with that variable but I don't know. It's been since you fixed it that I've seen it. 17:11:01 doh! too-two. 17:12:51 end of last year 17:13:44 Raystm2: main execution, draw, and 'serve' 17:13:45 newest from moore? 17:14:39 from the team that Moore and Fox are working with, anyway. 17:14:47 got a link? 17:15:49 http://www.dnd.utwente.nl/~tim/colorforth/cf-2005/ 17:16:21 serve! thank you. :) 17:16:35 don't know that serve does anything tho... but checking. 17:19:06 christ ==> "cf-ii otr inae ycms wfgl bpvd quxh 3210 7654 -j98 /z.k +!:; ?,*@" 17:20:22 that's the colorforth to ascii converter. or part of it. 17:20:29 indeed it is. 17:20:31 it's a table. 17:20:34 the naming is someone -- arcane. 17:20:38 *somewhat, even. 17:21:02 ya. Thanks Chuck, for the great example of the use of your newest forth . :) 17:22:05 okay, same problem as before, I can't seem to find the tasker in any of the listings. :( 17:22:25 serve isn't used anywhere 17:22:30 has a name in the dictionary, that's it. 17:22:55 doh! here we go. 17:23:30 and thats precisely why i think it's there to insert tasks. 17:23:46 not that I know how something like that would work. Speculation. 17:24:00 having fun excavating? 17:26:08 Raystm2: 'serve' is exactly like 'show', only for another task. 17:30:56 did you find serve? 17:34:45 not in the colorforth source, it's not used. 17:34:53 just defined in the kernel and has a name in the dictionary, as I said. 17:34:54 I see. 17:35:08 I didn't find that. Where are you looking? 17:35:45 kernel.asm, line 220 or so 17:36:20 show is a little bit above 17:38:16 I don't see kernel.asm at the link you provided. It's not there, right? :) 17:39:12 no, it's not. :) 17:40:29 Oh okay. See this has been my complaint the entire time. Jeff didn't provide any source. 17:42:26 you cf guys seem awfully forgiving. 17:46:23 zpg I don't know that it's worth anybodies valuable time. 17:46:44 * tathi isn't exactly a cf guy, just examined it as part of my tour of various forth systems. 17:47:04 I wouldn't recommend using it. :) 17:48:14 zpg: tathi impressed the ---- out of me by fixing the broken version that Jeff called a release, and tathi did it with-out ever having run the thing himself. 17:48:33 heh. good stuff. 17:48:38 tathi: i have no intention to. 17:55:01 tathi: did Jeff give you a copy of the new Kernel.asm? 17:55:32 no, he only released the binary. I disassembled it, remember? 17:55:43 tarballs at http://qualdan.com/colorforth/ 17:55:49 yes I recall. :) 17:56:21 Oh heck, you gave me those files. I tested them. doh! :) 18:29:57 --- quit: tathi ("leaving") 18:30:42 --- join: LOOP-HOG (n=jason@dialup-4.242.204.16.Dial1.Seattle1.Level3.net) joined #forth 18:30:50 hi 18:42:42 --- quit: LOOP-HOG ("Leaving") 18:51:02 --- join: Al2O3 (n=Al2O3@pool-71-164-165-172.dllstx.fios.verizon.net) joined #forth 18:56:47 "cf-ii otr inae ycms wfgl bpvd quxh 3210 7654 -j98 /z.k +!:; ?,*@" eh? :) 19:13:48 very much so. 19:14:22 weirdly, i have a word defined identically in my own code. evidently, it's a really natural phrasing. who knew? 19:17:00 Only a few good ways to handle table data in forth so... 19:17:40 well, be more specific. 19:17:51 Ok, trying. 19:17:53 :) 19:18:44 from what i've seen, if you mean colorForth i wouldn't be surprised. but depending on the nature of the table you could clearly have a far more elegant and -- gosh, no: readable! -- set of definitions. 19:19:28 * Raystm2 suddenly defensive. 19:19:33 Readable! 19:19:35 Readable! 19:19:42 who needs readable. :) 19:20:15 if it were readable, you'd never take the time to realize just exectly how it does what it does. :) 19:21:13 you must have an excessive amount of patience. 19:21:23 I'm a parent, yes. :) 19:21:29 * zpg chuckles 19:22:05 * Raystm2 says this cuz daughter and friend are playing a cd in my computer and being entirely too loud as I try to be patient. 19:22:45 and ":)" or not, you can clearly have readable code where each word expresses its function; you can then look at the words being employed to dig deeper. 19:23:12 (and look into implementation details) 19:23:14 absolutely, I agree. 19:23:19 sure. 19:24:24 the cf blocks i've looked at so far seem counterintuitive to me -- i'm lacking the context of course, but i feel like i'm looking at line noise. (something i can do without) 19:24:35 The context is that Chuck just tossed on the wall the thing he'd been using, and prob'ly assumed that the thing was so simple that anyone should beable to pick it up. 19:25:14 do you find it simple to pick up? 19:25:57 I wish, just wish I could say yes and sound convincing, but I have to qualify that idea. 19:26:25 heh. patience rearing its head again. 19:26:30 At a faint guess, "inae ycms wfgl bpvd quxh 3210 7654 -j98 /z.k +!:; ?,*@" each represent the respective characters for translation. It's really, really horrible though. 19:26:41 i get the feeling its not going to be a matter of patience though; it's also a question of practicality and productivity. 19:26:58 the cf guys mostly seem convinced that OSes are totally irrelevant while checking e-mails and posting to usenet. 19:28:14 As i'm learning forth anyway, as things become revealed to me, as I enter new levels of depth of understanding... the things that were once hard or inconvenient truely don't look that way now. If I'd had your experiance as a programmer it might have gone easier for me, but then I'd not have looked in every corner. 19:29:06 zpg: i'm starting to agree, to a point. You are your os. plain and simple, no matter what software or lack there of you bind yourself with. 19:29:58 'binding' is a pretty loaded term. 19:30:25 my point is simply that the very people proclaiming building everything in cf neglect that they enjoy the benefits of modern OSes daily. 19:31:46 but i'm more interested in your perspectives than bitching about the 'everything can be done in cf' line. 19:31:58 I'm not sure how you read bind. Sorry, if not taken as yoked or even "utilize as a matter of convenience because it's available and I know how to use it even if I do like a different way" kinda thing. :) 19:32:16 oh sure, but it implies being limited. 19:32:25 Who was it who said cf had jump tables, and therefore wasn't minimalist? 19:32:32 isn't it all limiting tho? 19:32:44 Quartus: sorry don't know the quote. 19:32:53 well, the origin isn't important. 19:33:34 Raystm2: yes and no. being presented with a system model with closed applications masks the general purpose flexibility of a home computer. more limiting, though, is ditching 25 years of development in favour of rolling everything yourself. especially when you can roll your own code comfortably within an existing system. 19:33:42 Quartus: usenet? 19:34:19 zpg, yes. I was thinking about it earlier today. cf lacks any ability to do the equivalent of CASE, from a control-flow perspective; without a jump-table facility, you'd be stuck. 19:34:39 interesting. 19:36:14 about 'enjoying modern os's. I'm certain that each of the cf guys don't trade in everything for colorforth. It's tipically a newbie colorforther, or someone just a tad out of range, ifkwim, that thinks the will replace every other os with 3 blocks of code for any application. 19:37:05 agreed. 19:37:26 but Raystm2, why do you stick with cf? what's engaging about it? 19:37:30 there is like an early "walk of Love" with the thing where you think it can do everything. That's what I expereanced, and I see it in others. You come around, eventually. :) 19:38:31 Quartus: see Hendrix's map code re: slava's Factor stuff? 19:38:33 excellent question zpg. My answer is that it is a very very VERY limited niche and as a programmer novice, I get to be expert about a system where almost no-one else is. 19:38:43 heh i see. 19:38:49 cf is, in my professional opinion, significantly more limited than a macro assembler. 19:39:06 i'd dare venture that you'll learn more if you use a language with greater generality. 19:39:08 zpg, I didn't look at it closely. 19:39:16 Quartus: it was uuhhhgly. 19:39:27 Quartus: I don't agree, because I don't see that limit. But then you know a better definition of macro assembler. 19:39:34 I have only a passing interest in Factor and/or iForth. 19:39:35 but to be fair, mhx indicated that he hadn't factored it at all. 19:40:35 Raystm2, I'm not using any fancy definition. Tathi is of the same opinion. 19:40:52 zpg: I use many forths, some python, lisp, scheme, c. I keep my hand in. :) but when I have an entire system from wall outlet to drivers to bootcode to whathave you to compare with, well, I feel like I have something to compare, at any rate. :) 19:41:12 Raystm2: it depends how you approach programming of course. a simple rule of thumb at this end is to treat any computer as a device that can either provide a solution to a problem / task, or not. if not, can i write a quick appliance to do so. the languages i use are the ones that facilitate that. including, say, emacs lisp. 19:42:15 & looking at cf, i see a host of limitations (for me). 19:42:56 they facilitate well, because they are already integrated. cf hasn't had that kind of development history yet. I get to right that wave. hahaha ( non-existant ripple more like it. ) 19:43:30 cf seems to eschew participating in a general purpose system. 19:43:43 and as such can't provide glue between other people's systems. 19:43:48 people treat it like it;'s finished. :)_ 19:43:52 "hey ray, could you parse the output of this programme for me?" 19:44:37 Raystm2, it doesn't have to be declared finished to be evaluated. 19:46:08 Agreed. Now, what to compare it with? Linix-on-a-floppy? I don't know what, but it seems to get compared to entire established systems frequently. 19:46:29 How much can you do with nothing? 19:46:36 as i said, i'm not of cf-bashing mind. however, the whole deal with strings, keyboard, colours & standalone nature all suggest that it may be an unproductive way to further knowledge of programming ... and write stuff you want to write. 19:46:55 Also agreed. 19:47:02 and that's before you broach the technicalities, as per Quartus' look at clashes in the dictionary. 19:47:05 Raystm2, my criticisms of cf are not dependent on the existence of any other given system. They are about cf's limitations. 19:47:27 I see. Okay, getting it now. 19:47:29 Its design flaws. 19:47:35 The limitations are mearly a wish list. 19:47:43 Its lack of utility. Its disadvantages. 19:47:50 Raystm2: i'm impressed by, say, Open Firmware. there's a real-world standalone forth system for you. 19:47:50 Sure. 19:48:08 I've not seen that one yet, but am aware. 19:48:45 i mean, i get that the cf is quirky, and most importantly -- to the users -- out of all the forths, its the one chuck is currently working with. 19:48:59 I have issues with it *as a language*, from a basic design perspective. The fact that it runs native is of little interest to me, as cf'ers are quick to point out that there is also a Windows version that runs under an OS. I could argue the utility of a native Forth for general-purpose application, but it's down the list from the other real problems cf has. 19:49:16 Whether or not it is hosted. 19:49:42 ya. 19:49:50 fair point, i don't have a very detailed critique. just inquiring into Raystm2's experience with the thing. 19:50:06 I don't have those issues. I'm not coding anything important with it. 19:50:23 I'm playing with it and learning what it can to with limitations. 19:50:39 Well, damn it, get on over and start coding with something that isn't a toy. If you want limitations, self-impose them. :) 19:50:53 sure, but if your goal is to learn programming too, i'd suggest it might over-complexify certain concepts (from what i've seen). 19:52:01 again, sitting over here i think i can hear jef raskin a'spinning... 19:52:27 hehe both. 19:53:44 try gforth. hey, it's quirky. the G comes BEFORE the F. 19:53:46 who woulda thunk it? 19:54:22 hehe. 19:54:26 I have gForth. 19:54:38 I coded B18Chess with gforth and Win32forth. 19:54:55 oh and MVP forth, a limited version. 19:55:22 good stuff. 19:55:38 After reading Starting Forth 3-4 years ago, the program just came to me, and practically wrote itself. 19:55:42 It's so ugly. 19:55:56 It works great. :) atleast for what I wanted it to do. 19:56:33 neat. 20:01:20 --- join: nighty_ (n=nighty@sushi.rural-networks.com) joined #forth 20:01:44 right, time for tea -- back in a bit chaps. 20:02:57 k 20:16:36 A study of colorforth covers these and more. You could get it anywhere else, but it's here as well, in a system you can fit in one head... How x86 instructions are coded in binary. How they are coded in Hex. What a forthlike system is like. How to code directly to the display. Multi-tasking. writeing your own device drivers and exploring the pic and the hardware. Huffman encryption, what it is and one way to do it. Preparsing source 20:16:51 where did it trunc? 20:17:41 Preparsing sourc 20:18:38 exploring the pic ? 20:18:46 what does that mean ? 20:19:08 e. Practicing 'safe' programming and being responsible for your code on a system so fragile that if you don't get it right there is no chance it will work proplerly and you could easily overwrite the kernel, 20:19:14 jumptables and arrays. 20:19:26 coding on a running system 20:19:53 translating display data to another os with the cunning use of PNG, crc and lz77 compression. 20:19:55 you could easily overwrite the kernel <===that sux 20:20:02 yup. 20:20:10 if your not carefull. 20:20:20 not so much a problem any more like the original version. 20:20:23 you should not have to worry about this 20:20:43 no, I think people don't because they think they don't have too. 20:20:49 to doh! 20:20:58 nighty_ exploring the pic ? 20:20:59 nighty_ what does that mean ? 20:21:47 Northbridge I think is the PIC. 20:21:53 or gives access. 20:22:03 NorthBridge like in PCI ? 20:22:09 ya. 20:22:13 what hardware are you talking about ? 20:22:19 URL 20:22:22 please 20:22:34 searching... 20:23:06 I mean the stuff you pasted 20:23:12 where does it come from ? 20:23:29 what harware is this ? URL please 20:23:34 pasted? sorry you mean me? 20:23:36 this is what I meant 20:23:45 Raystm2: yes 20:24:03 I'm not aware of having pasted anything. 20:24:19 oh that truncation. hehe that was me typing with out entering. 20:24:42 Raystm2: ok what hardware where you referring to then ? 20:24:51 but there is something you can look at about the Northbridge. 20:25:30 one thing is a RealTec net card. 20:25:42 RealTek 20:25:46 ya. 20:25:56 piece of shit net card 20:25:58 :) 20:26:06 chipset is crap 20:26:11 it's easy to get the docs. 20:26:14 yes 20:26:17 others not so easy. 20:26:23 this is why it is supported 20:26:28 by many 20:26:32 ya. 20:27:05 another is the AGP card but i've never done anything there, not yet. 20:27:21 so you made a tcp/ip stack ? 20:27:27 I imagine that's how Chuck renders the chip so well. 20:27:46 renders the chip ? 20:27:47 nighty_, I havn't but others have. 20:27:50 show me 20:27:52 URL 20:29:02 Tim Neitz has done some net code. UDP. Ipv4 and 6, other stuff that doesn't come to mind cuz i'm trying to think of a good url for you. :) 20:29:22 oh oh okay. 20:29:25 no UDP only ? 20:30:16 ARP for a single correspondant. 20:30:41 uhmmm 20:30:44 better than nothing 20:30:54 but not overly useful 20:31:23 Roman Pavlyuk uses it as an IRremote control for many devices. 20:31:41 the link tho... 20:32:09 net80211 stack exist ? 20:32:10 there is a movie of Chuck displaying his chip using okad, which is where colorForth comes from. 20:32:20 I have seen this 20:32:24 nighty_. I'm not sure. 20:32:33 any VGA card will do this 20:32:37 even ISA 20:32:40 or PCI 20:32:46 cool. good to know. 20:32:54 I've not done any of that yet. 20:33:01 nothing impressive there 20:33:35 there are some good books on this 20:33:40 or net ressources I guess 20:34:13 --- join: mark4 (n=foo@ip70-162-111-107.ph.ph.cox.net) joined #forth 20:34:27 though a better way would be NOT TO USE pci 20:34:41 PCI sux big time 20:34:56 got to go sleep 20:34:58 c u 20:35:00 --- quit: nighty_ ("Disappears in a puff of smoke") 20:36:09 good night :) 20:39:02 zpg; as you can easily see, I will have absolutely no competition as I spend a life of programming ( not all of my time but i'm sure i'll keep coming back to it) getting the thing to do stuff. :) 20:39:33 I can compete int at world. 20:39:48 ? 20:40:04 yikes sorry. 20:40:13 I can compete in that world. 20:40:40 why? 20:41:14 absentia: the system changes so slowly that even i can catch up. 20:41:25 ha! 20:41:42 took me nearly as long to learn retroforth because it changed so often. 20:44:51 You don't have that problem with an ans forth because it's standard. For me the proplem with ans is that it's a lot of words that make nearly no sence at all when a newbie see's it for the first time. And the systems that ANS tends to be implemented on are so vast as to stagger the mind. These toy forths are easier to grasp, not all that far from a 'real' forth, and are neat to run one-off ideas with. 20:45:57 That's a question documentation and tutorials, neither of which exist for colorForth, as far as I'm aware. 20:45:59 are you a forth newbie? 20:47:55 Q: you do lisp (too)? 20:48:13 absentia, not with any regularity. 20:48:13 Quartus: totally agreed. The only differance I can find in our agreement there is that there is really not that much more for newbie tutorials in Forth to begin with, and a somewhat healthy ( for want of a word) interest in colorforth means using a system that is small enough to grok and you have to search out every little detail for it to make sence. 20:48:34 There are very small Standard Forths, too. 20:48:42 everyone kept pointing me toward colorforth, but i finally passed on it 20:49:18 How large is colorForth? Could I actually keep people out of the tarpit by writing a Standard Forth that isn't any larger? :) 20:49:40 it looks more like a system monitor ... and appears to be nearly impossible to use (learn/quickly -- and doesn't seem to have much of any documentation, references or code... other than snippets here and there you have to painfully hunt down) 20:49:42 I think you very well could Quartus. Honestly I do. 20:50:03 so what is the target? How many K? 20:50:23 after bouncing 'round, I've kinda settled on gforth. 20:50:40 absentia, that's a good implementation, with some inherent portability. 20:50:52 Quartus: I don't think you use a limit like that for that purpose. not a competition. Enough to cover the basics and a few more to add some utility. 20:50:54 and second choice is rf 20:51:09 but it seems less "standard" -- reva looks appealing, but it's even more out there. 20:51:11 Raystm2, but how large is cf? 20:51:19 absentia: both execellent choises. 20:51:41 Quartus: hosted? native? 20:51:51 I don't know, give me the birds-eye low-down. 20:51:54 lets say Chucks origina. 20:51:57 absentia: i use gforth at this end too. (hey all) 20:52:01 hey zpg 20:52:09 wb zpg 20:52:19 thanks Ray, hi again Q & absentia 20:53:23 absentia: from experience, it takes a while for Forth concepts to sink in. if i'd chopped and changed between dialects i'd probably end up more befuddled than ever. so, i can't say "stick with ANS" as i haven't got a comparison. but i can attest to ANS being very nice to use when the concepts click. 20:53:51 There are a number of advantages to learning and working with standard code. 20:54:07 definitely. 20:54:53 and what gives me "ans" (standard) forth? 20:54:57 also, contrary to the anti-portability brigade, i'm on PPC OSX which is obviously not ripe with Forths. dialects aren't only different, but highly limiting for me. 20:55:03 absentia, what do you mean? 20:55:15 absentia: well, it's a standard. gforth is an ANS forth. 20:55:35 GForth is Standard. Quartus Forth is Standard. RetroForth is Standard if you load my layer (well, 99.99%). 20:55:37 q: like, "gforth = ans compat module" "rf + ans compat module" etc... or "ans forth" etc. 20:55:39 absentia: the standard itself is online @ http://tinyurl.com/nx7dx 20:56:03 etc. There are quite a few Standard implementations. 20:56:06 gforth is an ANS forth, not a forth with an ANS layer. 20:56:08 right -- so I'mdoing gforth... later will look into rf + ans .. I started with rf, but decided gforth was probably better. 20:56:11 (to start with) 20:56:37 absentia: what's your platform? 20:56:53 rf's differences from the Standard, without the layer, are predominantly arbitrary naming differences. 20:57:13 ... and ugly stack printouts :) 20:57:25 I don't know about ugly, but less-than-informative. 20:57:58 found it. the image is 63kb but that includes a couple applications. 20:58:01 almost entirely suse 10.x linux under vmware under some sort of windows. 20:58:17 Raystm2, 63Kb is huge. Easy to come in under that wire. 20:58:26 I'm certain. 20:58:28 absentia --? 20:58:36 ? ? 20:58:38 Was thinking how neat it would be if you did, Neal. 20:58:41 almost entirely suse.... 20:58:49 absentia: so, you run Win32 with an emulated Linux session? 20:59:17 Raystm2, rf with my Standard Forth layer already comes in under that. 20:59:42 well, I use to be entirely freebsd 5.x, then 6.x -- but I've switched over to suse because it had some nice professional touches to it -- when it came to the gnome/kde installations... etc. but I learned c++/Qt under freebsd, then switched to the suse desktop. I use to run freebsd native. 20:59:42 cool. didn't know that. 20:59:46 Quartus: "Compact! 2K bytes for core software." 20:59:52 also, my zaurus is debian - arm arch. 21:00:15 zpg, I saw that. A Standard 'core' needn't be any larger. 21:00:41 absentia, I didn't see what you were replying to, I guess. 21:00:45 there is a lot of space in a cf image. nearly half of every block is never used. 21:01:10 cf image ? 21:01:13 zpg: yes, am there now... my current location is a laptop on a lazyboy. laptop is some dell crap from work -- 2GB ram... etc. desktop is 2GHz thingy with 2GB ram.. .laptop at work is some dell pos with 2GB ram... I have purchased vmware workstation licenses for myself -- (long before it was free) -- etc. also last place where I worked, we went heavily into egenera blade systems and vmware gsx 21:01:17 color forth or compact flash ? 21:01:19 hi mark4 21:01:22 colorforth 21:01:24 hi :) 21:01:26 colorForth. 21:01:26 aha 21:01:27 :) 21:01:30 cf is too weird lol 21:01:33 sorry. 21:01:33 ayup 21:01:37 absentia: thanks for the backstory, but i'm just wondering what platforms you use regularly -- you could look into Win32Forth (http://www.win32forth.org/) too if you spend time in Windows. 21:01:47 not BAD weird 21:01:48 just 21:01:50 weird :P 21:01:53 that's why I asked about booting cf under vmware -- also, vmware is great to try livecds, etc. 21:01:55 no, it's bad weird. 21:02:09 I can't use windows... hurts my brain 21:02:18 well, you're running it. 21:02:30 (it woud seem) 21:02:34 *would, even. 21:02:49 youdont run windows 21:02:51 it runs you 21:02:51 base... I go vmware and full screen. the only time I nkow I have windows is when it actually breaks into my vmware session and pops up some lame window. 21:03:05 other than that, it's as if I'm on a straight linux box. 21:03:09 absentia: may i ask what the point is if you never use windows itself? 21:03:27 well, this is a work laptop... the sysadmin said something 'bout invalidating windows license if I wipe it.. 21:03:42 fair deal. 21:03:45 he/they also want to be able to "remote manage" laptops... they want to support vpn ...other standard apps. 21:03:48 none of which I use. 21:03:53 Windows doesn't run, you have to push it. ( sorry, salesmans joke about handtrucks when asked the price) 21:04:05 all of my personal laptops are straight linux or freebsd. 21:04:15 Raystm2: i'm amused by your inlined, rapid-fire apology :) 21:04:31 vmware is perfectly capable. I use virtualpc for a long timebefore that -- until ms bought it.. then I jumped to vmware. 21:04:43 absentia: okay, gforth it is. 21:04:50 * absentia grins. 21:05:11 (hey mark4) 21:05:23 whats a good free one taht can boot an existing linux partition ? 21:05:26 yea zpg ? 21:05:32 vm costs too much 21:05:34 hey as in "hello" 21:05:36 vmware is free 21:05:38 Good morning! 21:05:40 oh lol 21:05:42 hi ASau 21:05:50 and hi mark4 (if you missed that the first time) 21:05:52 hi ASau good morning 21:05:55 vmware server is free -- makes images... you can get images from their zoo -- free.. vmware player (sucks) is free. 21:05:57 the free one can boot an existing linux ? 21:06:12 What is better (at your opinion) for single-linked list: 21:06:16 vmware player and server .. are (now) free. 21:06:28 i dont want an image 21:06:37 (a) "map" that takes node argument; 21:06:40 i want to boot my existing linux partitions inside window 21:06:41 s 21:06:52 (b) "map" that takes data argument. 21:06:54 ? 21:07:13 "node" = link field + data 21:07:20 the only issue is that my "gl" is slow. vmware server is now optimized for graphics -- so guis can be slow.. when I tried player -- when it first came out, I didn't like the drop down stuff -- not sure if that has changed... workstation was the fastest for me -- and I already had a license. 21:08:14 what free one can i use to boot my existing linux installation ? 21:08:27 The problem is with "map", "for-each" and others: 21:08:31 ASau: presumably data cleans up the interface considerably. 21:08:33 mark4: don't think it works that way. 21:08:48 ASau: you have no need for manipulating the cells in the original list with map, so no need to deal with the whole node. 21:08:50 vmware will boot an existing linux installation 21:08:53 but its not free 21:08:57 ive done it before 21:09:08 printing can be done with: ( node ) ' ? for-each 21:09:08 you can make an image or you can boot an existing partition 21:09:25 ah. I always make an image. or use full disks (ie; via san) 21:09:37 oin case (b), or I have to define separate word in case (a). 21:10:13 why? 21:10:19 (i don't follow what you're saying) 21:10:58 If I get node as argument, I have to translate it to data pointer. 21:11:28 : new-? ( node ) list-data ( data ) ? ; 21:11:44 With stack comments inserted. 21:12:10 But when I profide ( node xt -- ) interface, 21:12:28 it becomes easier to write other constructors, 21:12:36 like searching or reducing. 21:14:08 Not reducing, but searching becomes easier. 21:14:31 Or freeing dyn. allocated nodes. 21:14:34 for me, your node loop looks something like ==> "( xt node ) begin dup while 2dup swap execute cdr loop 2drop" 21:15:45 I'm thinking about more complex, but more general definition. 21:15:56 but MAP really allows you to insert a "car" (or your oddly-named "list-data" -- surely its data for the node?) between 2dup and swap. 21:16:21 ASau: well, you can pass any XT to that code and it'll be executed on each node. 21:16:36 so then write a word that first of all fetches the node data. 21:16:45 and you have your two layers. 21:16:49 (if you must) 21:17:00 The problem with your code is you can't pass anything 21:17:00 except node. 21:17:11 'pass'? 21:17:11 \ : for-each ( list xt ) >r 21:17:11 \ begin ?dup while ( node ) r over >r execute r> list-next 21:17:11 \ repeat rdrop ; 21:17:11 21:17:39 Something like this can be used for filtering. 21:17:54 i see 21:18:00 #'remove-if and all that jazz. 21:18:03 1234 list @ ' filtering-. for-each 21:18:04 that's a poorer version of the code zpg posted above, isn't it? 21:18:21 It's obviously better. 21:18:24 off topic but I'm sure somebody knows ... how can I find out the mysql database name(s) on some linux computer? 21:18:34 it's certainly not obvious to me. What makes it better? 21:18:55 ASau: i find your return stack usage a little puzzling to follow. 21:19:35 Wrong paste. 21:19:37 * arke sleeps 21:19:38 \ : for-each ( list xt ) >r 21:19:38 \ begin ?dup while ( node ) r over list-next >r execute r> 21:19:38 \ repeat rdrop ; 21:19:38 i'd avoid a bloated definition to cover all cases. 21:19:40 21:20:04 what's "r" ? 21:20:08 R@ 21:20:12 Again, putting aside the non-standard rdrop and r (that I assume is r@), what is better about this? 21:20:39 you're executing an XT on the list-node and repeating through the list. 21:20:47 identical functionality. 21:20:52 I can free list with ( list ) :noname free drop ; for-each 21:21:18 Have another look at zpg's code. It's the same functionality, but shorter and without using the return stack. 21:21:40 zpg's code does not cover this functionality. 21:21:45 It does. 21:21:46 the free-list situation wouldn't work, sure. 21:21:57 well i'm CDRing after EXECUTE 21:22:13 easily compensated for of course. 21:22:19 Yes. 21:22:31 Also, I can use non-unary operations. 21:22:34 Like this: 21:23:10 1234 list @ :noname list-data over = if ." +" then ; for-each 21:23:42 yikes. That's unhealthy, it assumes a specific implementation for for-each. 21:24:01 yeah, over is unclear given that it refers to what's happening in the body of for-each. 21:24:15 That's a nasty coupling. 21:24:52 The only thing I should define is requirement XT to be ( something node --- something ) 21:25:04 it's still ugly. 21:25:10 if you modify for-each, you shoot yourself in the foot. 21:25:14 Yes, I don't like it either. 21:25:19 Only consume node. 21:25:58 Reducing is done with: 0 list @ :noname list-data @ + ; for-each 21:26:29 The same for MAX, MIN or other binary operation. 21:27:33 you're relying on your stack configuration to get that working. 21:27:38 i.e. in for-each. 21:27:42 Yes. 21:27:50 But I don't see why it is bad. 21:28:08 i see where you're coming from, but i don't like relying on the guts of one word in another. 21:29:54 I think it is a matter of custom. 21:30:04 all the same, given the brevity of these definitions, i'd probably maintain one that deals with conses/nodes and one that deals with their data. 21:30:09 You don't like it unless you get accustomed to it. 21:30:12 simplifies matters somewhat. 21:30:35 I see this distinction: 21:30:38 It's considered bad practice to have that kind of coupling. It makes the code more brittle. 21:31:08 Quartus: if you look carefully, you'll see he's doing return-stack arithmetic with flags too. 21:31:08 when I operate on nodes, it's easier to perform destructive 21:31:08 list operations; 21:31:36 when I operate on data, it's easier to operate on data. 21:31:45 of course. 21:32:12 if you're aiming for a functional list model, you want to avoid destructive list operations anyhow. depends on your approach. 21:33:05 zpg, I didn't notice. 21:33:12 :) 21:33:19 that's because it's invisible. 21:33:23 the worst kind of bad programming. 21:34:03 ASau: i don't see the point of a complex, general map/for-each word though. seems to be overkill. 21:35:21 The point is make simple things simple. 21:35:56 Slightly more complex for-each makes other things simple. 21:36:11 you can achieve complex functionality without writing a bone crunching word. 21:37:01 It is not that heavy. 21:37:40 not what you've posted, no. 21:37:42 There's only one trick to make it more general. 21:38:07 but it's already getting tangled when you use assumptions in these nonames about the state of the stack midway through for-each 21:39:14 We always make assumptions. 21:39:21 The code is clear enough. 21:39:41 Clear code can still be unwholesomely coupled. 21:39:42 "for-each" takes XT, list and the rest stack. 21:39:43 (1) deep, man (2) not true 21:40:16 XT should consume only one argument and leave return stack. 21:40:26 ASau: yes but your XTs manipulate the stack state of the stack inside the for-each loop 21:40:50 Your for-each does the same. 21:40:52 ASau: well, it should obviously leave the return in the state it found it. 21:40:58 *return stack 21:41:18 it would seem my communication skills have dramatically diminished in recent seconds. 21:41:29 So I don't see what's bad: 21:41:42 zpg didn't post any xt-words to go with his for-each implementation. 21:41:51 a) for-each : ... list xt -- ... 21:42:00 b) xt : ... node -- ... 21:42:20 Fine, as far as it goes, though it appears that the stack-diagram for for-each should be ( list xt -- ). 21:42:20 ASau: it's not for-each but the nonames that are troubling. 21:42:24 Only two obvious assumptions. 21:42:33 sorry. ( node xt -- ) 21:42:49 Compare with yours: 21:43:01 a) for-each : node xt -- 21:43:06 b) xt : node -- 21:43:41 Nothing in addition, except restriction to be strictly unary. 21:43:42 * zpg shrugs 21:45:07 Hm. 21:45:20 It seems I better provide two versions: 21:45:48 for-each ( ... node xt -- ... ) when xt is ( ... data -- ... ) 21:46:07 and for-each-node with xt being ( ... node -- ... ) 21:48:40 ASau: i retire from this btw. 21:49:50 Alright. 21:50:06 It seems resonable to provide two distinct words. 21:52:32 night all. 21:52:39 ciao! 21:52:57 cheerio 21:52:58 --- quit: zpg ("ERC Version 5.1.3 (IRC client for Emacs)") 21:53:44 Cheer I/O! 21:55:27 All Tempa-Cheer I/O! 22:10:46 Has anyone seen the code to support definition in the definition? 22:10:49 Like this: 22:11:09 : a-word ... [ :noname ... ; ] literal ... ; 22:12:17 : a-word ... false if [ :noname ... ; ] then literal ... ; ( ??? ) 22:13:32 I am happy to say I have not seen any support for that technique. 22:25:13 ouch 22:25:21 that hurt my brain lol 22:26:22 im trying to think of how that could ever be supported lol 22:26:32 or WHY lol 22:26:57 well, something implementation-specific, like [[ ]] could be written to branch over the intervening definition. It's ugly as sin on a Sunday, though. 22:27:21 I believe retroforth has something like it. 22:27:43 you could probably write it to move the inner definition into some spare text buffer to be compiled and resolved later :) 22:27:58 retro can do : xxx .... : yyy ..... ; 22:28:02 giving two entry points 22:28:16 I'm thinking of [[ ]], which I think are also in retroforth. Let me check. 22:28:49 Gforth has [[ ]] with different meaning. 22:28:53 they are ambiguous though, theres no standard (defacto or othewise) use for [[ and ] 22:28:59 ]] that i know of 22:29:19 : foo [[ 3 ]] [[ 4 ]] t/f ; 0 foo . -> 4 1 foo . -> 3 22:29:32 Oh yes, completely non-standard and implementation-specific. 22:29:54 i dont think i would ever define a [[ or ]] 22:30:06 simply because theres no COMMON useage for those names 22:30:52 Indeed. I don't like the names, either. But the technique, supporting embedded anonymous definitions, is what I'm talking about. 22:30:59 I don't like the technique, for all that. :) 22:31:08 heh 22:31:30 one entry point. one pupose. one exit point 22:31:35 I like it. 22:31:36 Yes. 22:31:39 tho... thats a bendy rule not hard fast lol 22:31:40 That is sufficient. 22:32:19 no "rule" should be hard fast 22:32:33 except the 10 specified by god :) 23:22:04 --- quit: mark4 (Read error: 110 (Connection timed out)) 23:33:44 --- join: Cheery (n=Cheery@a81-197-54-146.elisa-laajakaista.fi) joined #forth 23:55:20 hey cheery 23:57:13 hi Quartus 23:57:29 what's new with you? 23:58:24 not much, I decided to try (again) different approach in my language design, one which I actually liked. :) 23:59:34 so what's your new approach? 23:59:59 --- log: ended forth/07.01.03