00:00:00 --- log: started forth/06.09.05 00:00:45 --- join: ayrnieu (n=julian@pdpc/supporter/sustaining/ayrnieu) joined #forth 00:16:34 --- join: Quiznos (i=1000@unaffiliated/quiznos) joined #forth 00:55:04 --- join: Cheer1 (n=Cheery@a81-197-19-23.elisa-laajakaista.fi) joined #forth 00:56:32 --- quit: Cheery (Read error: 110 (Connection timed out)) 01:19:02 --- quit: JasonWoof ("off to bed") 02:17:46 --- join: Anbidian (i=anbidian@S0106000fb09cff56.ed.shawcable.net) joined #forth 02:18:30 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 03:53:02 --- quit: Anbidian () 04:11:30 --- nick: Cheer1 -> Cheery 04:23:51 --- join: PoppaVic (n=pete@0-1pool73-205.nas24.chicago4.il.us.da.qwest.net) joined #forth 05:47:42 --- quit: PoppaVic ("Pulls the pin...") 06:12:19 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #forth 06:13:18 good morning 06:41:52 --- join: PoppaVic (n=pete@0-1pool46-242.nas30.chicago4.il.us.da.qwest.net) joined #forth 06:46:59 Quiznos: how goes? Ever peer at that doc? 06:47:33 It's way, Waaaayyyy overkill - but interesting. 07:40:04 lo 07:48:59 blech 10:02:35 --- join: JasonWoof (n=jason@unaffiliated/herkamire) joined #forth 10:02:35 --- mode: ChanServ set +o JasonWoof 10:29:31 --- quit: PoppaVic ("Pulls the pin...") 10:35:38 --- nick: Raystm2 -> nanstm 11:26:58 --- join: Quartus_ (n=Quartus_@209.167.5.1) joined #forth 11:31:33 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-119-000.pools.arcor-ip.net) joined #forth 11:32:18 --- quit: Snoopy42 (Nick collision from services.) 11:32:53 --- nick: snoopy_1711 -> Snoopy42 11:34:00 --- join: uiuiuiu (i=ian@dslb-084-056-223-004.pools.arcor-ip.net) joined #forth 11:55:57 --- join: Astrobe (n=astrobe@c-real.rouen-wireless.net) joined #forth 12:29:16 --- quit: Astrobe ("Leaving") 12:30:57 --- join: Astrobe (n=fred@c-real.rouen-wireless.net) joined #forth 12:57:54 hey all. 12:58:12 hey Quartus_ 13:02:47 what's new? 13:04:37 did you find a good approach for your book yesturday? 13:06:32 Yes, I'm considering two books under one cover. 13:09:24 sometimes, the more easy option is the best one! 13:10:22 I think it may be. Both halves can work from the same example sources. 13:11:29 it also means 1.5 more writing. 13:12:32 I'm not sure it does. 13:15:49 --- quit: Quartus_ ("used jmIrc") 13:28:02 Even if it turns out to need more words, I think the writing and reading will both be easier. 13:28:48 I came up with something and I would like your opinion on it. Two lines of code: 13:29:11 : VARIABLE THERE 13:29:30 : TAG HERE THERE XCHG , ; 13:29:48 : FREE THERE @ @ DUP TO THERE CELL+ TO HERE ; 13:30:10 :hmmm, there's XCHG too... 13:30:12 What is THERE? Does XCHG exchange the cell contents of two addresses? 13:31:06 : XCHG DUP @ >R ! R> ; 13:31:45 I'm afraid I dont follow what XCHG is meant to achieve. Is it intended to exchange the contents of two addresses? 13:31:50 XCHG ( n adr -- x ) exchanges content of cell at adr with n 13:31:57 Oh. 13:32:22 And THERE is what? 13:32:29 no, it's VARIABLE THERE (no colon) 13:32:37 Oh. 13:32:57 So what are TAG and FREE for? 13:32:59 sorry if there's mistake I translate from my dialect to ANS 13:33:09 The idea is: 13:33:53 reserve easily in an temporary manner some bytes in the dictionnary 13:34:12 In what way is the data temporary? 13:34:22 In other words, how is the memory reclaimed? 13:35:11 in this way : FOO TAG HERE stuff , stuff , PROCESS FREE . 13:35:11 Oh, I see. TO HERE. That's not valid in most systems. 13:35:38 TO THERE wouldn't be either, if THERE is a VARIABLE. 13:35:49 with the idea that process may as well comma things if it needs too, without conflicts 13:37:14 I think I follow the general outline. You'd need to use ALLOT to negatively allot the space in most systems. 13:37:16 I can do it in my system. and you guess that my ALLOC is basically something like HERE +! 13:37:26 Exactly. 13:38:56 HERE in virtually all systems returns the current address. It is a wrapper around a variable often called DP. It could be implemented as a VALUE, but I haven't run across any systems that do it that way yet. 13:40:35 FREE as a name conflicts with the Standard name FREE; RECOVER might be an alternate choice. 13:40:54 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 13:42:54 : : TAG HEE THERE XCHG , . 13:43:09 ... is how it is actually spelled in my system, 13:43:23 so as for ANS names conflicts.... :) 13:43:45 Well, I assume you're posting it here in the channel in semi-ANS form in order that it might be shared and discussed, so. 13:44:32 indeed. 13:47:17 I could now make a small lecture on the annoyance of arbitrary and capricious naming choices in systems that evidently pride themselves on being different at the cost of intercommunication. :) 13:48:54 Well I started this system in my garage. I could I foresee I would discuss it years later on irc? :) 13:49:15 You could fix it now. :) 13:50:03 oh, yeah, and I could stop smoking, too. Doing both at same time would probably kill me... 13:50:22 Oh, perhaps you would recover from the blow. Certainly the smoking will kill you. 13:50:53 Anyway. You see the problem it tries to address? 13:51:24 I see it, I have done similar things without naming it, by a process of HERE >R and then the appropriate calculated negative ALLOT later. 13:52:00 Or simply by leaving HERE on the stack, while interpreting, and then performing an appropriate calculated negative ALLOT based on that. 13:53:06 More generally I occasionally find the need during compilation to not only make a temporary data structure, but temporary words to work on it, and I'll use MARKER in systems that allow that. 13:53:34 I did this things too. 13:54:48 Failing the availability of MARKER, I'll leave the data and temporary words there. Seldom do they occupy so much space as to be a worry. ) 13:55:23 So I thought making a pair of words for that, that removes the burden of the neg allot would be useful 13:56:37 They might. I do it so seldom, and on those occasions prefer MARKER, but this might have some utility. 13:59:41 Perhaps they can be written more simply. 14:00:18 Hears wide open 14:00:43 or eyes. 14:00:58 I am having trouble following the sequence of steps, and what leaves what where and when in your code. 14:01:03 Do you store the previous value of THERE on the stack? 14:01:37 no, in the dictionnary. it is "comma't'ed" 14:01:44 Oh. 14:02:08 And all FREE must be done in reverse order to the TAG. 14:02:38 Yes, it works the stack way, with some chain'ing 14:05:55 This works: 14:05:58 VARIABLE THERE 14:06:02 : TAG HERE THERE @ , THERE ! ; 14:06:08 : RECOVER THERE @ DUP HERE - ALLOT @ THERE ! ; 14:08:03 ALLOT @ 14:08:04 ? 14:08:14 Yes. Let me space it out. 14:08:16 where's the address for @ coming from 14:08:19 variable there 14:08:25 : tag here there @ , there ! ; 14:08:34 : recover there @ dup here - allot @ there ! ; 14:08:46 ahh, the dup 14:08:48 That shows the phrases. @ there ! is fetching from the there @ dup 14:09:42 some kind of linked list? 14:10:03 Yes, astrobe's notion of using dataspace at HERE in a temporary way. 14:10:54 Alternatively: : recover there @ dup @ there ! here - allot ; I'm not sure which order I prefer. I think the former one. 14:12:18 Boy, am I busy. It's hard to write code in-between dealing with all the death threats. :) 14:13:27 so it's a linked list of places on the heap you can roll back to 14:13:34 That's the idea. 14:13:42 it seems to work. nice shot! 14:13:49 Though it's dataspace, and not the heap as such. 14:14:03 --- join: vatic (n=chatzill@ool-45740b1c.dyn.optonline.net) joined #forth 14:14:04 isn't that what "heap" means? 14:14:26 in my vocabulary HERE points into the heap 14:14:29 I think of dataspace as being some finite, allocated chunk of the heap. 14:14:45 ahh 14:14:48 Of a given heap, in fact, depending on the OS. 14:15:10 I've not made a forth where there's seperate places in memory except for the stacks 14:15:41 Most hosted Forths do not assume they have all machine memory available to them. :) 14:15:52 I've always put the dictionary, code, and data in the heap 14:16:12 no, 14:16:21 I think of the heap as the memory chuck that is available 14:16:32 probably not including the stacks 14:16:34 but it could be 14:16:36 You can have a hosted Forth in which dataspace is an allocated chunk from a heap, where dictionary, code, and data are still mixed. I'm learning that on Pentium systems with native-code generation, that can slow things down a lot, but it can still be done. 14:17:10 yeah 14:17:18 I prefer to leave 'heap' with its existing meaning in the context of the OS, and use dataspace to refer to that region of memory that HERE and ALLOT act on. 14:17:21 PPC has seperate data and code caches 14:17:28 so it's probably quicker to keep them seperate 14:17:40 sounds good 14:17:44 certainly isn't confusing 14:17:45 Pentiums do too, but if the memory areas overlap, changes to data can invalidate the code cache. 14:19:06 right 14:19:14 ppc you have to invalidate the code cache yourself 14:22:27 any new devs in the forth world? 14:23:16 Nothing I would mention to you, virl; you would spit on them. 14:29:49 how ugly my first version was! Thanks Quartus. I think I can further replace the ALLOT by a direct store to HERE in my case. 14:30:18 now it's late. Good bye all! 14:30:21 --- quit: Astrobe ("leaving") 14:30:21 Take care. 14:47:52 I would spit on them? ehm.. 14:57:11 --- quit: Ray_work (Read error: 113 (No route to host)) 15:30:08 Yes. You would find something negative to say about each and every one. 15:34:54 well, when you think.. I think it's not true. 15:35:01 --- quit: virl (Remote closed the connection) 15:45:44 --- join: slava (n=slava@CPE0080ad77a020-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 15:45:44 --- mode: ChanServ set +o slava 15:46:50 --- join: Anbidian (i=anbidian@S0106000fb09cff56.ed.shawcable.net) joined #forth 16:18:20 --- quit: Anbidian () 16:31:40 --- join: Quartus_ (n=Quartus_@209.167.5.1) joined #forth 17:33:16 --- nick: Quiznos -> GoogleMaster 17:33:33 --- nick: GoogleMaster -> Quiznos 18:17:46 --- join: nighty (n=nighty@CPE00119576a9c5-CM0012c90d36fc.cpe.net.cable.rogers.com) joined #forth 18:18:54 Hi nighty. 18:18:59 hi 18:19:35 re 18:19:52 made some headway writing lispy words 18:20:06 it's really fascinating, the posibililities 18:20:25 i also wrote some words for accessing the vm regs 18:26:35 what is best to use 18:26:53 debian stable or some other version of debian ? 18:27:06 whatever you know best 18:27:18 Hell I know BSD 18:27:25 stick with it 18:27:26 I don't care about Linux 18:27:32 But I have to use it 18:27:37 dont change cuz it's new 18:27:43 I don't 18:27:48 well, slackware is bsdy 18:27:48 I don't want to 18:27:53 my work requires it 18:27:55 ok 18:28:08 there are some bsd'ers in ##Linux 18:28:16 join us 18:28:26 Linux and BSD aren't all that different. 18:28:28 nah I'd feel dirty :) 18:28:34 lol 18:28:40 agreed 18:29:17 just having to use Linux makes me sick enough 18:29:43 nighty try slackare 18:29:46 slackware 18:29:49 Perhaps you're in the wrong line of work. :) 18:29:53 heh 18:30:02 Quartus: am I ? 18:30:16 Quartus: BSD works pretty well for embedded 18:31:06 So does Linux. 18:31:25 Quartus: I don't like Linux 18:31:36 Quartus: it is against my religion 18:31:55 But technical specifics aside, feeling sick simply because you are required to use a given tool is perhaps not the most adaptive reaction for someone in the technology field. :) 18:31:59 Quartus: it is so NOT NICE :) 18:32:38 Quartus: who said I was adaptive ? 18:32:41 hey nighty, join linux for a flame fest pls :) 18:32:50 we havent had one in a long time bahaha 18:32:53 nighty: the one advantage to Debian stable is that you won't feel compelled to upgrade often. Unstable seems happiest when you're upgrading on a weekly basis. 18:33:15 You're working with new technology; I would think adapatability would be a key requirement in that role. 18:33:21 vatic, thanks that's the answer I wanted :) 18:34:15 Quartus: that is YOUR opinion :) 18:34:16 nighty: Debian is also a pretty FAT distribution. If you use BSD, you might wonder why it's installing all sorts of stuff you'll never use. 18:34:43 nighty, yes indeed it is. 18:34:58 nighty: But it has everything as binaries... 18:35:11 vatic, ok I tried gentoo 18:35:23 vatic, but it is , like ANAL 18:35:50 vatic, apart from the spash installation screen 18:35:56 vatic, that looks nice 18:36:10 vatic, everything else is just ... 18:36:36 nighty: I've been pretty satisfied with Debian, but I'm starting in on an LFS installation... 18:36:46 LFS ? 18:37:15 nighty: http://www.linuxfromscratch.org/ 18:38:02 uhmm 18:38:21 I have to use Buildroot 18:38:31 that is the only reason I am installing linux 18:38:46 but I think I will make buildroot work in BSD 18:39:04 since it is cross compiling anyway 18:39:31 Hi Quartus! 18:39:49 wow, i mention what i'm doin with my forth and no one present cares 18:40:13 Quiznos: you could tell us more about the lispy part... 18:41:22 Hi vatic. 18:42:58 Quartus: things have been crash free with that version of Quartus. My guess it's cleared up the problem... 18:43:11 I'm glad to hear that, vatic. 18:43:26 vatic i coded up the words for cons, car, cdr, null, eq, atom and cond 18:43:30 those are the core words 18:43:41 to do applicative coding 18:44:06 i've got a decent doc on lisp 18:44:06 Quartus: My speculation about the problem was that my Westell DSL modem gets screwed up and the Palm TX wifi chokes. 18:44:08 to use 18:44:45 i still need to code a couple of heap words and one or 2 words for [rd]stack switching 18:44:47 Quartus: The unclean exit from the wifi stuff must have been hitting some piece of your Forth... 18:45:37 It's hard to say from here. I'm glad you've got a stable setup now though. 18:45:53 Quiznos: so are you writing a Lisp in Forth or is your Forth a Lisping variety? 18:46:05 forth with lispy flavor 18:46:21 with an eye towards being able to do functional coding 18:46:23 fp 18:47:11 afaict, i need only one code-word to switch stacks 18:48:06 Quartus: Well from here too. But that's my speculation. Always seemed like I would reset the modem, spend an evening using the TX web app, and the next morning, Quartus would be resetting the PDA. 18:48:10 i'm also thinking of forthifying Backus's fp functions into words 18:48:22 like his `reduce' word 18:48:50 vatic, had it continued, deleting the workspace would have been a good next step. 18:48:54 but his tokens are char, while I want to get away from char-at-a-time processing 18:50:04 Quartus: Maybe it'll come back now that I've spoken about it, but yes, I looked for the workspace and know where it is... 18:51:19 Quiznos: are you going to collect garbage? 18:51:24 Let's keep our fingers crossed, vatic. :) 18:51:58 vatic i think i can see it being implied when the called-word returns to parent 18:51:59 Quartus: I'm sure you'd be happiest if you never hear about it again ;-) 18:52:12 I have a note about it in case it ever crops up for anybody else. 18:52:34 or it could happen explicitly, but afaiu the concept lispy things require persistence 18:53:30 vatic i'm still studying these concepts, but it seems to me that heap-stacks with peristence (lispers tell me) is used for continuations (need to study that) 18:55:20 Quiznos: You're working in area I don't have much experience, but it sounds great. I've put my exploration of continuations on the shelf for the time being... 18:55:42 vatic yea. i also wanna port some concepts from Icon 19:11:53 --- quit: nighty (Client Quit) 19:19:00 --- join: nighty (n=nighty@CPE00119576a9c5-CM0012c90d36fc.cpe.net.cable.rogers.com) joined #forth 19:19:08 wb 19:19:21 cool I have an excuse for not running Linux 19:19:27 ew 19:19:33 debian does not run on my laptop 19:19:41 try slack 19:19:48 can't detect the cdrom at install time 19:19:57 firewire 19:20:14 what lappy model? 19:35:05 --- nick: Quiznos -> PisdPurpleSmurf 19:35:52 --- nick: PisdPurpleSmurf -> PurpleSmurf 19:37:27 --- nick: PurpleSmurf -> HarryMudd 19:39:33 acer travelmate 3012WTmi 19:39:52 I have an older travelmate here somewhere. Nice machines. 19:40:16 it is a subnotebook 19:40:18 core duo 19:40:34 Yes, mine was a sub too. But older, nothing so fancy as a core duo. 19:40:57 --- nick: HarryMudd -> Quiznos 19:56:55 --- quit: nighty (Client Quit) 20:27:03 --- quit: vatic (Remote closed the connection) 21:12:08 --- join: segher_ (n=segher@dslb-084-056-129-190.pools.arcor-ip.net) joined #forth 21:22:51 --- quit: segher__ (Read error: 110 (Connection timed out)) 21:53:29 --- join: neceve (n=claudiu@unaffiliated/neceve) joined #forth 22:48:14 --- quit: JasonWoof ("off to bed") 23:28:24 I don't know what kind of computer I'm using; I'm not allowed in the machine room 23:28:59 Can't even peer through the wire-reinforced glass? 23:30:00 glass? ;-) 23:31:21 All raised floor rooms have at least one small pane of glass, if only in the main door. 23:31:25 Like a prison. 23:33:39 oh 23:33:51 maybe the "machine room" is really a decoy 23:33:58 hehe 23:34:29 Heh. A fake door. 23:34:45 a trap door! 23:35:33 What's new with you, fission? 23:38:28 not much... I've just been so busy with mundane chores that I haven't been online much 23:38:31 how about you? 23:38:48 Busy too, but usually here in my office, so online is a default. :) 23:42:55 ahh, I see 23:50:01 --- part: slava left #forth 23:59:59 --- log: ended forth/06.09.05