00:00:00 --- log: started forth/02.03.30 00:42:34 --- nick: St3pan -> Stepan 01:55:57 --- join: rob_ert (~robert@h237n2fls31o965.telia.com) joined #forth 01:58:28 --- join: Soap` (flop@210-54-106-168.dialup.xtra.co.nz) joined #forth 01:58:55 Hi Soap` :) 01:59:18 Morning 02:20:48 happy easter 2 every1 02:21:23 Thanks :) 02:21:26 Same to you 02:22:27 Helpful tip: if you see rabbits leaving little brown balls around the countryside, they *might not be chocolate* 02:23:04 rob_ert: whats ur prg 4 easter? 02:28:23 1tom: Playing games, installing Debian...some coding too, maybe :) 02:29:00 It's nice weather here, so I might not spend all my time in front of the computer :) 02:41:44 well, the weather is also fine here... but there r so many things 2 read & 2 do.. 02:41:57 * onetom bb in ~3hrs 02:54:21 --- quit: Speuler (carter.openprojects.net irc.openprojects.net) 02:54:47 --- join: Speuler (~l@195.30.184.51) joined #forth 07:05:19 --- join: Fare (fare@samaris.tunes.org) joined #forth 07:34:17 --- join: herkamire (~jason@ip68-9-58-81.ri.ri.cox.net) joined #forth 07:35:52 can I make a forth with just two stacks? 07:36:07 use the return stack as the control stack 07:37:50 sure 07:37:55 some people have done it 07:38:13 what? a control stack? 07:38:18 the control stack is a compile-time feature that may be merged with the return stack at run-time 07:43:22 cool. so all I need is two stacks, a dictionary, and the code/data can use the rest of the memory 07:43:41 I keep thinking I'm leaving something out 07:44:02 what about the heap? 07:44:24 (a heap is a good way to manage the dictionary, too) 07:48:26 the heap is where you put stuff from comma? 07:48:40 or do you mean a memory manager? 07:55:45 yup. Comma puts stuff on the heap 07:55:53 memory manager, same thing 07:56:05 but forth is too low level for many purposes 08:48:23 you can make forth high level 08:48:44 the cool part is you can make it high level AND well suited to your project(s). 08:49:06 I can put my code in the heap too right? 08:49:33 that's what I meant my code/data 09:24:28 sure, the code goes into the dictionary.. 09:25:30 --- quit: futhin (Read error: 104 (Connection reset by peer)) 10:48:48 --- quit: herkamire ("Client Exiting") 11:21:20 --- quit: Speuler ("using sirc version 2.211+KSIRC/1.1") 13:02:16 --- join: Soap- (flop@210-86-40-91.dialup.xtra.co.nz) joined #forth 13:03:51 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 13:10:36 hi 13:11:38 I hate my ISP :/ 13:15:46 --- join: futhin (~thin@h24-64-174-2.cg.shawcable.net) joined #forth 13:16:03 hello 13:16:08 Morning. 13:19:06 soap-: do you know how to make guis in windoze? 13:21:59 --- join: herkamire (~jason@ip68-9-58-81.ri.ri.cox.net) joined #forth 13:38:48 Under forth? Nope. 14:12:21 huh? 14:26:03 --- join: St3pan (~stepan@p508473C7.dip.t-dialin.net) joined #forth 14:29:46 --- quit: Stepan (Read error: 110 (Connection timed out)) 15:11:10 yes, it's rather complex, making the guis 15:11:16 --- nick: MrGone -> MrReach 15:11:52 futhin: still alive? 15:47:40 --- join: I440r (~mark4@1Cust37.tnt1.bloomington.in.da.uu.net) joined #forth 15:48:03 fare! 15:48:16 heh 15:48:58 just so you can say "I told you so!" ... microsoft seems to have dropped support for windowsCE 15:49:31 hi 15:49:36 *** moogy has quit IRC ("vwait tillGatesPlaysFair") 15:49:50 hihi 15:51:32 heh 15:51:46 he has a long wait :P 15:52:10 heh, that is a TCL idiom that is usually written "vwait forever" 15:52:40 your prog will hang, handling background events, until the variable "forever" is changed 15:53:40 :) 15:53:48 its the idle loop then ? 15:53:55 yep 15:54:45 also incorporating "select" ... you can define procedures to be called on any number of file descriptor events 15:55:04 yes - that sort of thing is planned for isforth but theres a problem 15:55:22 yeah, callbacks are a royal BITCH in forth 15:55:22 every single process is going to have a verbatum copy of the isforth kernel 15:55:30 it has to copy on write 15:55:40 so they cant share common list space :( 15:55:54 if some taks modifies some variable none of the other tasks will see the change 15:56:04 yes, and hence the need for USER type variables 15:56:13 ugh 15:56:20 the original forth writers weren't idiots 15:56:25 i know that 15:56:34 but user variables are so MESSY 15:56:38 also 15:56:48 yes, a confusing level of indirection 15:56:51 every single defered word thats used in the kernel has to be a user variable 15:56:56 like key 15:56:57 emit 15:56:59 etc etc etc 15:57:05 yep 15:57:05 quit is defered in isforth now 15:57:08 too 15:57:13 excellent! 15:57:18 i think it was you that suggested it 15:57:25 either QUIT or COLD ... whichever 15:57:34 and it was in line with something thats been floating arround the back of my mind for a while 15:57:41 hang on let me get the soruce file and quote it 15:57:45 the comment that 15:57:46 is 15:57:51 tell me what you think about htiw 15:57:52 this 15:57:53 grr 15:57:58 mental note - leran to type 15:57:59 heh 15:58:10 well, a defered QUIT will oneday be neccessary for turnkeyed apps, regardless 15:58:25 hehe i can already turnkey 15:58:29 but its not 100% needed 15:58:32 ' myword is default 15:58:34 turnkey foo 15:58:35 or 15:58:39 ' myword is quit 15:58:41 heh, you're not writing apps, yet 15:58:43 turnkey foo 15:58:47 i am actually 15:59:21 according to the forth tradition the word quit is the main loop of the innter interpreter. 15:59:36 i have a slightly modified view of what quit is however, to me quit is the inner compiler. 15:59:38 ok, many definitions of TURNKEY require an xt of the start word on the stack, and patch the defered QUIT (or whatever) for you 16:00:06 ok, you might want to defer COLD instead 16:00:07 this is because during the development stage the compiler is the primary function of forth. 16:00:26 the interpret loop that quit calls is just a means of interfacing to the compiler and testing that which you compile 16:00:38 lemme double check ANS ... 16:00:56 once the development is complete and your new applicatiion executable is saved out the word quit is usually never referenced 16:01:13 in a turnkeyd application where all headers have been stripped otu of the target executable it would be silly to 16:01:27 ok, something you should be made aware of ... 16:01:33 make a reference to quit because that path eventually tries to search the dictionary 16:01:43 yes ? 16:01:54 QUIT is only supposed to reset the return stack 16:02:04 erm no - i disagree 16:02:04 not both the return and parameter stacks 16:02:08 its fucked up 16:02:12 here's why ... 16:02:15 have abort do one and quit do the other 16:02:37 you never restart at quit unless you have had an abort 16:02:45 if a program get mangled and throws an error ... it eventually calls QUIT and returns you to the top-level interpreter 16:03:01 or your inner loop 16:03:30 in such a case, knowing what was on the parameter stack can be invaluable in figuring out what went wrong 16:03:38 its one of the obfuscations i "fixed" from fpc. i hated the way it reset one stack over there and the other over here 16:03:47 errr... abort is an implied drop all 16:03:56 its ALWAYS been so 16:04:02 yes, I remember that caught me off guard, also ... but there was a reson for it 16:04:03 abort" foo" 16:04:15 abort" calls abort which dumps the p stack 16:04:25 then jumps to quit which dumps the r stack 16:04:39 you NEVER enter at the top of quit other than boot up or abort 16:04:54 so. as you have aborted anyway both stacks are cleared in quit 16:04:55 IF QUIT THEN 16:05:11 err. i wouldnt do that heh 16:05:16 or suggest it 16:05:18 it is also the basis for ASSERT 16:05:23 its like coding a gordian knot heh 16:05:31 yes, it's confusing 16:05:39 if you assert and it fails its an abort 16:05:44 brb 16:05:46 food 16:05:49 ill be quick :) 16:05:53 BUT there are times when you want to keep the param stack during an error 16:05:57 ok 16:14:03 4 o'clock ... I gotta go pull the alternator out of the truck 16:16:01 be back after dark (two hours from now) 16:16:07 --- nick: MrReach -> MrGone 16:16:30 --- join: qless (~cerberus@clgr000977.hs.telusplanet.net) joined #forth 16:16:55 Hi qless :) 16:17:00 heya rob_ert :) 16:17:47 rob_ert: it must b dark&cold out side ;) 16:17:56 hello qless 16:18:04 hiho onetom 16:18:20 onetom: It is. 16:18:24 01:15 16:18:43 And approx. 275 K outside. 16:18:53 K? 16:19:05 :) it's 7:20pm here 16:19:34 Kelvin? 16:19:54 Yes, Kelvin. 16:20:13 (Farenheit sucks, Celsius is a bit better, Kelvin rules ;) 16:21:03 just about every american mesurement unit sucks 16:21:51 Kelvin is cool. I've never heard of anybody but scientists use it though. 16:21:53 rob_ert: its also 1:29 here, not counting the +1h timeshift... 16:22:16 herkamire: *khm* & programmers... 16:22:31 "NASA immediately 16:22:31 delegated operational control of these projects back to the DoD agencies while it put its own house in order." 16:22:35 the thermo sensors w use in our 16:22:37 What does DoD mean in this case? 16:22:56 building control system give temp info in K 16:23:00 what is khm? 16:23:17 DefenceOfD.... 16:23:40 herkamire: khm is a throath sound 16:24:01 right :) 16:24:44 back :) 16:25:03 I suppose programmers like obscure things that almost nobody uses (because they are the best way to do it.) 16:25:08 --- nick: St3pan -> Steoab 16:25:16 --- nick: Steoab -> Stepan 16:26:59 herkamire: using K is very convenient, coz u dont have 2 deal w negative temperatures 16:27:19 (unless its Real Cold[tm]) 16:28:55 qless: :))) 16:29:23 there was a thread on debian-curiosa@lists.debian.org about 16:29:56 negative Ks. and quite interesting things has arosen from this idea 16:30:21 those debian jokers don't have more important things to do... sheesh :-) 16:30:30 coz it presumes the existance of negative kinetic energy 16:31:31 that would make for an interesting pool game 16:32:31 hey, thats the *curiosa* list! 16:32:44 they have fun there 16:32:50 cool :) 16:33:05 everybody needs havin phun, dont they? 16:39:04 --- quit: rob_ert ("(:") 16:43:47 bbl 16:43:48 --- part: qless left #forth 16:44:37 --- quit: futhin (Read error: 104 (Connection reset by peer)) 16:48:38 --- nick: MrGone -> MrReach 16:50:32 ok, altornator's out ... have a cup of coffee, then go get a new one 16:51:32 sure wish I could figure out how to get an old John Deer alternator I've seen to mount in there 16:52:46 would never have to worry about how much draw my 12v-120v invertor has 16:53:45 heh, it's so physically big, though, I'd I'd have to hold it with a floor jack while I put the bolts in. 16:54:31 rated "900 amps" ... the one I took out is 85 amps 16:54:58 three belts, it'd be a real job converting the engine 16:55:22 oh, on the tractor, the alternator also doubles as the starting motor 16:55:56 I should go find another channel to yak about this stuff 16:56:23 :) 16:56:39 probably, yes :) 16:56:41 hehe 16:56:41 nah 16:56:44 this channel isnt moderated :P 16:56:58 you can talk anything you want :) 16:57:12 I440r: sometimes one wants the parameter stack intact during an error 16:57:15 tho, i could talk about such things w him, but 16:57:27 i dont know the english terminology 16:57:29 :( 16:57:48 that is why it is so conventional for QUIT to leave it alone that they incorporated it into the standard 16:58:30 hmmm ... hasn't it been in every standard that way? clear back to FIG? 16:58:37 it just seems to be another way to obfuscate things tho 16:58:45 ive never seena condition where an error didnt eventually blow away both stacks 16:58:50 yes, confusing 16:59:07 and there's no recovery with a clean return stack 16:59:58 heh well ill keep it in mind - but moving the sp0 @ sp! into quit was one of the "fixits" i did heh 17:00:11 * MrReach nods. 17:00:32 I thought you might do something like that ... that's why I made certain to point it out to you 17:00:46 it's one of those things that's not immediately obvious 17:00:56 have you ever used the feature ? 17:01:01 yes 17:01:07 three times, in fact 17:01:24 when I couldn't for the life of me figure out why my app was bombing 17:01:33 i never have - abort has always cleaned both stacks 17:01:33 i use that 17:01:33 .. 17:01:38 empty parameter stack 17:02:16 well, done with my coffee ... off to the parts store to spend another $65 17:02:28 --- nick: MrReach -> MrGone 17:03:03 :) 18:03:32 --- quit: Stepan ("Client Exiting") 18:23:17 --- quit: I440r ("Reality Strikes Again") 18:26:18 --- quit: Soap- () 18:31:27 --- join: Soap` (flop@210-86-40-91.dialup.xtra.co.nz) joined #forth 19:27:45 --- nick: MrGone -> MrReach 23:59:59 --- log: ended forth/02.03.30