00:00:00 --- log: started forth/03.04.28 00:15:57 --- join: ramnull (~nicad@12-241-145-39.client.attbi.com) joined #forth 00:34:16 --- quit: ramnull ("This isn't Happy Hour!") 01:16:45 --- join: fridge (meldrum@zeus.zipworld.com.au) joined #forth 02:23:02 --- join: gilbertdeb (~gilbert@fl-nked-ubr2-c3a-74.dad.adelphia.net) joined #forth 04:22:04 --- join: mur_OUT (murr@baana-62-165-185-105.phnet.fi) joined #forth 04:22:26 --- nick: mur_OUT -> mur 04:27:30 Hi mur :) 04:30:49 hello Robert 04:31:13 how are you? 04:32:40 Fine 04:33:29 * mur woudl like some embed counter that woudl count users. php might be good. do you know any places to start serching for good counter? 04:44:02 terve mur 04:44:04 google :D 04:45:24 sf doenst 04:45:32 terve gilbertdeb! 04:55:07 http://www.ekstreme.com/phplabs/phpcounter.php < this seems more than decent (i wonder how large the data files will grow! :O) 04:58:31 * mur was thinking he coudl only use to gather information and then create own report utilities 05:06:57 ugh. i think i may have to create my own one :P 05:07:02 very light one 05:52:49 --- join: PoppaVic (~pfv@s31.waters.gtlakes.com) joined #forth 05:53:53 Hi PoppaVic 05:54:17 Howdy.. What's shakin'? 05:55:14 Haven't got anything to do.. :/ 05:55:26 Bummer 05:55:39 Right... well, maybe I should read a bit,. 05:56:10 TINSTAASB 05:56:21 Silver Bullet. 05:56:45 Hunting were's, eh? 05:56:59 http://www.techdirt.com/articles/20030428/027205.shtml 05:57:08 can Forth save the days to come? 06:00:41 --- join: BFox (~blood@splavXXI.natm.ru) joined #forth 06:01:35 domain forth.bespin.org no resolved :( 06:04:14 --- quit: BFox (Client Quit) 06:40:20 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 07:09:14 --- quit: gilbertdeb (sterling.freenode.net irc.freenode.net) 07:09:14 --- quit: ianni (sterling.freenode.net irc.freenode.net) 07:09:14 --- quit: Robert (sterling.freenode.net irc.freenode.net) 07:11:31 --- join: Robert (~snofs@h138n2fls31o965.telia.com) joined #forth 07:16:02 --- quit: mur ("MURR!") 07:23:02 --- join: gilbertdeb (~gilbert@fl-nked-ubr2-c3a-74.dad.adelphia.net) joined #forth 08:22:28 "hmm.. Quiet.. Too Quiet.." 08:32:26 :) 08:32:56 well, I updated SOME of my primgen code.. Back to working with my autofoo shitzu. 08:34:38 ..wrote a columnizing 'words', and added it to autofoo.tests.fs; got '\S' to work properly and aliased to 'EOF+++' as well. 08:35:16 So, usefulness is getting there, and readability is looking decent. 08:50:25 --- join: PoppaVic_ (~pfv@s31.waters.gtlakes.com) joined #forth 08:50:30 --- quit: PoppaVic (Killed (NickServ (Ghost: PoppaVic_!~pfv@s31.waters.gtlakes.com))) 08:50:36 --- nick: PoppaVic_ -> PoppaVic 08:59:53 EOF+++ test: 08:59:53 autofoo.tests.fs:47 ...Invoked Exit. 08:59:53 [Autofoo Loading Completed. ]********************* 09:00:00 heh 09:25:43 --- join: kc5tja (~kc5tja@ip68-8-206-137.sd.sd.cox.net) joined #forth 09:30:02 --- join: ianni (ian@inpuj.net) joined #forth 09:37:57 --- join: I440r (~mark4@dialup-65.58.214.18.Dial1.Cincinnati1.Level3.net) joined #forth 09:39:40 Hi I440r 09:40:57 hi :) 09:42:11 yo 09:43:07 hi :) 09:43:39 * PoppaVic rotates between 'autofoo', and the wife/home/property gig.. 09:46:02 :) 09:52:00 brb, making coffee 09:52:39 --- quit: PoppaVic ("(I don't need a reason)") 10:14:14 --- join: kitsune (foxchip@adsl-209-182-168-45.value.net) joined #forth 10:14:34 Hi kitsune. 10:14:44 re kitsune 10:15:14 I440r: Got a lot of material up on my ATM ARNI page yesterday. 10:18:58 --- join: I440r_ (~mark4@dialup-64.154.96.231.Dial1.Cincinnati1.Level3.net) joined #forth 10:38:32 OK, I have to go. English homework requires additional research at the library... 10:38:52 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 10:38:54 l8er!! 10:39:01 Too.. l8. :) 10:40:07 can someone translate the last few comments? 10:40:36 I can't. 10:41:04 l8er = later 10:41:08 duh 10:41:18 I think he meant.. 10:41:20 19:38:50 -!- kc5tja [~kc5tja@ip68-8-206-137.sd.sd.cox.net] has quit ["THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK"] 10:42:00 :) 10:42:31 --- quit: I440r (Read error: 110 (Connection timed out)) 10:51:09 --- join: deluxe (~deluxe@pD950F7E6.dip.t-dialin.net) joined #forth 10:51:13 lo 10:51:38 Evening :) 10:52:32 hello Robert. :-) 10:52:46 foxchip? 10:53:23 hmm reminds me at ? 10:54:13 some forthers? 10:54:28 What? 10:54:56 hello kitsune 10:57:56 Robert: i'm using xchat atm (=seeing hostnames right away) 10:58:31 I'm using irssi, I see them whenever someone joins. 11:00:56 Robert: so.. i'm wondering where the hostname foxchip might come from 11:01:50 Hostname? That's his user name. 11:02:08 hello speuler, you there? 11:02:34 Robert: erm, right 11:02:37 chipchuck... foxchip. Hehe, I get so strange associations ;) 11:04:12 Chuck wanted to call Sh-Boom by the name Buffalo Chip. 11:04:58 He also wrote 'How many chips could a chipchuck chuck if a chipchuck could chuck chips?" 11:05:31 Heh.. cheap chipchuck humor :) 11:06:24 I never gave F21 a name like many chips have. Chuck once called it the Foxchip so I have occasionally used the name. 11:08:25 Silicon Composers copyrighted the name FOX and FOXCUB for its 'Forth Optimized eXecution" 11:09:21 kitsune: your current chat client is running on a f21 atm? ;-) 11:12:21 We may be able to get the software we wrote at iTV off the shelf and have more modern Forth hardware/software Internet appliances to play with again. I have an old iTV board but have not converted it (small change) to run with an F21 instead of an i21. But I may do something like that if I can 40S off the shelf. 11:12:54 Or I might add all the net protocols and some other parts from 40S into the Aha0S. 11:13:39 ic good idea :-) 11:14:10 We were doing browsing/email/chat and other net stuff as far back as 96 and it was fun to use a browser or email program running on a tiny Forth chip. 11:15:26 No one was building internet appliances that could fit on a stamp. We had some very nice features in the product from the point of view of a Forth programmer. 11:18:18 deluxe: yes 11:20:57 bbl, gotta go walk the doggies :/ 11:20:57 --- quit: I440r_ ("Reality Strikes Again") 11:21:51 Speuler: was that you who chatted online while sitting in the train? iirc you mentioned that once, though not on #forth 11:23:45 --- join: PoppaVic (~pfv@s53.waters.gtlakes.com) joined #forth 11:25:58 deluxe: probably stepan 11:26:07 on the way back from freiburg ? 11:26:25 hi PoppaVic 11:26:26 Speuler: oh now, yes :-) 11:27:36 kitsune: forth might be in some cell phones, no? 11:28:01 deluxe: none that I know of. 11:28:43 howdy - sorry, was getting more coffee 11:29:12 I used to have a Richochet modem on my laptop when I worked at iTV and it worked everywhere I went in the Bay Area, except for Chuck's house. I occasionally did webcasts from my car or iTV or SVFIG meetings. 11:29:52 It is too bad that they went out of business. I think they tried to expand coverage to too many cities around the country. 11:31:52 I am told that some hackers have gps receivers attached to their laptops that along with a wireless ethernet card and a database of all the open wireless networks in the bay area stay connected as they move around the bay area. 11:32:26 "hacqueers" 11:32:46 It is all sort of automatic though, like it was with Richochet. I expect the next generation of connection will do that sort of thing one way or another. 11:38:59 kitsune: what would be the use of the gps receivers? 11:39:24 ..apparently to reconnect alla' time 11:41:26 Every Starbucks and many companies have 'open' wireless networks. While a database of all the networks and their overlapping coverage is all that is needed to search for the nearest coverage area if you leave one coverage area with position information one can go directly to the most appropriate network. 11:41:58 --- join: serg (~serg@h138n2fls31o965.telia.com) joined #forth 11:42:46 It is also possible to aim an antenna if you know where you are and where the network is. 11:43:03 wireless talks ? 11:44:15 Yes, the idea is continuous wireless internet connection via a cheap wireless ethernet pcmcia card sort of thing while one is in the car or on the train or wherever. 11:44:47 Hi serg 11:44:50 oops, SSH login way too slow over modem :((( 11:44:57 hi 11:45:10 I use ssh login ove modem 11:45:23 have nothuing to say - exhausted by work and Postal 2 :)) 11:46:22 ic thx kitsune :-) 11:46:27 about to get FidoNet point over IP 11:46:30 Richochet only sold 33k but the modems supported several hundred. Very high speed wireless interconnect is more of a political issue than a technical issue today. 11:46:50 Robert: is Fido alive in Sweden ? 11:47:55 gotta ZZZ, bye ! 11:48:29 --- quit: serg ("Lost terminal") 11:53:08 --- nick: deluxe -> edeluxe 11:56:50 --- nick: edeluxe -> deluxe 12:02:45 --- quit: PoppaVic ("couldn't care less ;-)") 12:33:52 --- quit: TreyB (Read error: 113 (No route to host)) 12:39:51 --- quit: kitsune () 12:48:36 --- join: kc5tja (~kc5tja@ip68-8-206-137.sd.sd.cox.net) joined #forth 13:01:54 --- quit: Robert (sterling.freenode.net irc.freenode.net) 13:01:54 --- quit: a7r (sterling.freenode.net irc.freenode.net) 13:01:54 --- quit: XeF4 (sterling.freenode.net irc.freenode.net) 13:01:54 --- quit: sifbot (sterling.freenode.net irc.freenode.net) 13:01:55 --- quit: ChanServ (sterling.freenode.net irc.freenode.net) 13:03:07 --- join: Robert (~snofs@h138n2fls31o965.telia.com) joined #forth 13:03:07 --- join: a7r (~a7r@206.72.82.135) joined #forth 13:03:07 --- join: XeF4 (xef4@lowfidelity.org) joined #forth 13:03:07 --- join: sifbot (~sifforth@h0010b5845c9f.ne.client2.attbi.com) joined #forth 13:10:28 --- quit: sifbot (sterling.freenode.net irc.freenode.net) 13:10:28 --- quit: a7r (sterling.freenode.net irc.freenode.net) 13:10:28 --- quit: XeF4 (sterling.freenode.net irc.freenode.net) 13:10:28 --- quit: Robert (sterling.freenode.net irc.freenode.net) 13:10:56 --- join: Robert (~snofs@h138n2fls31o965.telia.com) joined #forth 13:10:56 --- join: a7r (~a7r@206.72.82.135) joined #forth 13:10:56 --- join: XeF4 (xef4@lowfidelity.org) joined #forth 13:10:56 --- join: sifbot (~sifforth@h0010b5845c9f.ne.client2.attbi.com) joined #forth 13:21:09 --- quit: deluxe (Read error: 104 (Connection reset by peer)) 13:28:51 --- join: ramnull (~nicad@12-241-145-39.client.attbi.com) joined #forth 13:29:45 --- join: mur (murr@baana-62-165-185-105.phnet.fi) joined #forth 13:45:26 --- join: karingo (karingo@142.portland-11-12rs.or.dial-access.att.net) joined #forth 13:54:17 --- quit: karingo () 14:32:10 --- quit: sifbot (sterling.freenode.net irc.freenode.net) 14:32:10 --- quit: XeF4 (sterling.freenode.net irc.freenode.net) 14:32:10 --- quit: a7r (sterling.freenode.net irc.freenode.net) 14:34:15 --- join: XeF4 (xef4@lowfidelity.org) joined #forth 14:52:27 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 15:01:14 --- join: wossname (wossname@HSE-QuebecCity-ppp81894.qc.sympatico.ca) joined #forth 15:09:24 --- quit: wossname (":(") 15:46:14 --- join: karingo (karingo@89.portland-13-14rs.or.dial-access.att.net) joined #forth 15:54:20 --- join: a7r (~a7r@206.72.82.135) joined #forth 15:57:17 Wasssup!? 15:57:42 null 15:57:57 mur: Watching a game, having a Bud? 15:58:05 * ramnull snickers 15:58:06 uhg? :) 15:58:17 i dont do neither 15:58:27 mur: Youve never seen that Budweiser commercial? 15:58:44 where there are green "free friends"? 15:59:08 Aaaarg. Nevermind. 15:59:35 probably wrong continent 15:59:58 Maybe. 16:00:29 Just dropped in. Taking a break. 16:01:12 :) 16:01:25 take a break, have a kit kat 16:01:29 ? :) 16:01:39 mur: Ever been to the radsoft.net website? 16:01:48 no 16:02:18 I'm thinking about tackling some of thier projects for the nix platform. 16:02:49 do they do interfaces or RAD in IDE sense? 16:02:51 They did a Windows Explorer replacement that's less than 10k. 16:03:02 errr... 10kbytes. 16:03:07 :) 16:03:31 I'm thinking a replacement for Gnome Midnight Commander less than 10kbytes. 16:04:25 You know, tiny GUI apps, that actually look good. 16:05:38 And I could string em together inside a Forth. None of this Object Broker bullshit. 16:05:59 ramnull: true, true ... 16:06:18 kc5tja: Wasssuuuuuup!? 16:06:31 Object Brokers serve an important service. 16:06:57 all applications shoudl be small 16:07:00 yes! 16:07:01 What you're looking to do is to run everything inside a single address space, which will work, but requires highly trusted code. 16:07:40 kc5tja: Unless I fork the Forth process. 16:07:43 Even then, remote procedure calls and remote method invokations are highly desirable. 16:07:48 ramnull: Even then. 16:08:08 ramnull: If you fork a process, then you must resort to using a (local) socket interface or pipe to talk to the master process. 16:08:16 Which brings you right back to using an object broker. 16:08:26 Might not be CORBA, but the code will still be there in one guise or another. 16:09:03 kc5tja: True. Unless I use native interfaces. Semaphores and queues and such. 16:09:10 uhh 16:09:10 no 16:09:17 That just specifies the semantics of the communications channel. 16:10:09 You still need to (a) convert a request into a serialized form, (b) transmit that request to the master server, (c) the master server reads the serialized form and re-constructs what you want to do, (d) does it, (e) serializes the results, (f) passes the results back to your client process, and (g) your client process reads the results from the serialized form. 16:10:42 Note that serialization here can be writing it to a file, or could be stuffing a data structure that is passed via shared memory or message queues. 16:11:00 And frankly, CORBA isn't that bad. 16:11:07 kc5tja: Hmmm...Alright then. A core Forth using ASN.1 should be faster than a huge object broker. 16:11:23 It's incredibly bandwidth efficient (it transmits its requests using raw binary). 16:11:25 Bzzzt. 16:11:26 Nope. 16:11:39 People think that because the ORB is 200K in size that it's slow. 16:11:42 That's patently false. 16:12:15 The performance bottleneck in any CORBA system I've seen, save one, has always been the TCP/IP I/O bottleneck. 16:12:17 Alright, maybe the ORB could be the way to go. 16:12:22 Local performance has always been quite high. 16:12:40 The ONE case where it hasn't been the I/O bottleneck ahs been with the MICO ORB. 16:13:14 KDE dropped Mico because "CORBA was too slow," (and the rumor has since propegated like wildfire, without performance measurements to prove it), and switched to their own system. 16:13:24 Meanwhile, GNOME dropped MICO back before 1.0 was released, and switched to ORBit. 16:13:28 Perhaps an XML-RPC "server" would do the trick. Or an re-engineered ORB-lite. 16:13:37 ORBit is currently one of the fastest ORBs on the planet. 16:14:00 I think a hand-written ORB using IIOP would work just fine. 16:14:28 Just specify the IDL for your objects, and any language which has a CORBA ORB for it will be able to use it. 16:14:44 It's actually rather easy to write a hand-made, purpose-built ORB. 16:15:04 It won't be fully CORBA compliant, but it'll be "mostly" CORBA compliant. :) 16:15:30 kc5tja: I have almost null experience with Object Brokers. Hows does COM compare? 16:15:44 Same thing. 16:15:59 COM is actually worse in remote performance, but is slightly faster than CORBA for local objects. 16:16:19 I see. 16:16:27 See http://www.sourceforge.net/projects/gcom <-- mine... :) 16:16:39 (Assuming they still have it; they might have taken the site down) 16:17:24 brb -- bathroom 16:17:36 Well, the page is still there. 16:17:44 Are all your applets going to be trusted -- that is, are they all going to play nice with each other? 16:17:51 If so, why not just send raw Forth strings to be executed? 16:18:24 AmigaOS had a primitive system built on REXX (ARexx it was called), which worked quite well for many years. 16:18:28 (Still is, actually) 16:18:34 anyway, brb 16:18:59 * ramnull nods 16:21:41 Writing up words for parsing fs data. 16:22:17 Oh. You dont HAVE to register with binfmt_misc, but it helps. 16:25:20 Gotta go. Library time 16:25:25 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 16:35:42 --- quit: CaffeineJunkie (Read error: 110 (Connection timed out)) 16:36:29 --- quit: karingo () 16:36:30 --- join: CaffeineJunkie (~Speuler@mnch-d9ba49db.pool.mediaWays.net) joined #forth 16:38:40 --- join: semtex (~Speuler@mnch-d9ba49db.pool.mediaWays.net) joined #forth 16:39:10 --- quit: Speuler (Read error: 110 (Connection timed out)) 16:40:29 Ah. Heres a little gem that might help get around the dlopen() glibc call. 16:40:34 uselib() 16:42:54 --- quit: mur ("MURR!") 17:00:05 --- quit: ramnull ("This isn't Happy Hour!") 17:13:25 --- join: TheBlueWizard (TheBlueWiz@pc96dn1d.ppp.fcc.net) joined #forth 17:13:29 hiya all 17:33:00 --- join: karingo (karingo@208.portland-06-07rs.or.dial-access.att.net) joined #forth 17:33:36 hiya karingo 17:35:53 TheBlueWizard: which threading techniques do you know? 17:35:59 --- quit: karingo (Client Quit) 17:36:28 several...subroutine, direct, indirect...I am weakest on token threading 17:36:31 why? 17:36:45 is there a succinct way of representing them all? 17:37:21 --- join: Neuro1ogic (~frozboz@63.227.144.217) joined #forth 17:37:23 in terms of description? or in terms of code? 17:37:30 in terms of description. 17:37:33 welcome Neuro1ogic. 17:37:38 hiya Neuro1ogic 17:37:40 hey 17:37:59 seems my suggestion succeeds in "reeling him in here" :) 17:38:07 i guess i should install forth 17:38:10 brb 17:38:12 TheBlueWizard: some have the touch, I don't. 17:38:14 :) 17:38:19 ah... 17:38:20 --- join: snowrichard (~cpu2@c66.190.103.147.ts46v-01.mrshll.tx.charter.com) joined #forth 17:38:54 to conceptually explain the threading concepts, I find it easiest to start with subroutine threading 17:39:00 wha is a good debian forth 17:39:02 no nickserv today? 17:39:04 Neuro1ogic: gforth 17:39:09 ok 17:39:12 hiya snowrichard 17:39:14 -dmwaters- {global notice} Hi all, we just lost one of our main eu hubs that also contains services, we are looking at the situation, and further messages will be given in wallops 17:39:17 snowrichard: ^ 17:39:51 snowrichard: yup...and no chanserv either...so go ahead and molest a nick (j/k :) 17:39:51 let's see if it vlists 17:40:05 um...try "words" 17:40:08 Neuro1ogic: also isforth and bashforth from forthfreak.net 17:40:30 vlist is an older way of listing words 17:40:32 what happened to the isforht link? 17:40:50 hehe. how much older? 17:41:00 well this is my registered one 17:41:02 they are synonyms . 17:41:42 I tried isforth.clss.net and it is still there 17:41:44 don't tell me you use forth for cgi-scripting 17:42:01 gilbertdeb: vlist is perhaps from early 80s 17:42:13 Neuro1ogic: some do. the possiblities ... 17:42:26 TheBlueWizard: I find it easiest to start with subroutine threading 17:42:27 :) 17:42:43 in fact I had to learn that new word "words" when I discovered about 5 years ago that vlist doesn't work on Win32Forth :) 17:43:14 OK...I shall disciss three forms of threadings, starting with subroutine threading 17:43:55 s/disciss/discuss/:P (:P suffix means this command will execute with a lot of raspberry sound added) 17:44:38 vlist still works :) 17:44:58 for subroutine threading, there are two cases: the COLON case and the CODE case. Let's consider the COLON case 17:45:00 there are more words though there used to be about 300 17:46:31 no command history 17:46:50 emacs style command line editing. 17:47:08 let's consider the sequence : a-word do-1 do-2 do-3 ; --- this would get translated to a sequence of assembly code: CALL DO-1; CALL DO-2; CALL DO-3; RET 17:47:15 gilbertdeb: can you get the last command? 17:47:23 Neuro1ogic: p 17:47:31 gilbertdeb: thx 17:47:47 Neuro1ogic: gforth uses the emacs style . 17:47:55 where CALL is the assembly code for calling a subroutine. Pretty straightforward, I trust 17:48:24 --- quit: snowrichard ("using sirc version 2.211+KSIRC/1.2.4") 17:48:38 gilbertdeb: i normally vim not emacs i'll muddle through 17:49:01 Neuro1ogic: me too but there aren't that many of the editing commands though 17:49:35 interesting, it has files not block and it has pipes...curious 17:49:49 now, for the CODE case, CODE a-code ..... END-CODE would get translated to a:code: .... --- that is it....note that it doesn't put a RET there; that's the responsibility of the programmer 17:50:22 s/a:code:/a-code:/ 17:51:11 ok...that's pretty much it for subroutine threading (note that I am completely ignoring the issue of optimization....whis is immaterial to the discussion of threading) 17:51:24 mkay. 17:51:29 next case :D 17:51:40 I'm trying to absorb all I can about threading. 17:51:53 not terribly easy to find info on it from google. 17:52:02 now, the direct threading looks similar to subroutine threading, but with a twist: 17:54:23 for the COLON case, you "omit" the CALL part of the assembly codes, thus turning it into a list of addresses...thus saving a bit of space. But since you cannot just call straight into a list of addresses, you need to have a way to "interpret" that list, so it's typically done by putting a CALL COLON prior to the start of the list. 17:55:05 s/CALL COLON/CALL DO-COLON/ 17:56:51 so, : a-word do-1 do-2 do-3 ; becomes CALL DO-COLON; DW DO-1, DO-2, DO-3, DO-SEMI where DW declares a data area consisting of addresses of routines. Note that we have to replace RET with DO-SEMI 17:57:42 the DO-COLON and DO-SEMI here works on the return stack and sets up the IP to point to the list of addresses 17:57:52 s/works/work/ 17:58:16 my brain is dead tonight...thank goodness explaining these concepts isn't hard 18:00:21 :D 18:01:29 for the CODE case, all it has to do is to just jump into the code just "ahead" of itself, so CODE a-code .... END-CODE would become a-code: JMP _tothis; _tothis: .... --- note that this time, to "return" to the caller, the programmer would need to type CALL NEXT, not RET, since it now has to manipulate return stack and IP 18:01:39 clear so far now? 18:02:02 yes especially the subroutine bit. 18:03:24 now, the direct threading takes threading one level "above" subroutine threading, so indirect threading takes threading another level "above" direct threading 18:04:58 this is done for two reasons: it makes the COLON encoding completely regular, and makes it more portable in some way, though it is at cost of an extra address data fetching 18:07:29 so, : a-word do-1 do-2 do-3 ; becomes DW DO-COLON, DO-1, DO-2, DO-3, DO-SEMI --- note that there is no CALL instruction at the beginning...that is because the NEXT routine actually thread through the DO-COLON into the routine that performs the work of DO-COLON 18:10:13 to see how this works, I shall present a grossly simplified (by that I am ignoring the pointer incrementing and other distracting stuff) NEXT routine for both direct and indirect cases: for direct version, it basically does a CALL @IP (PDP-11 flavor ;), and for indirect, it does a CALL @@IP (do fetching two times in a row) 18:10:48 * TheBlueWizard hrms 18:11:21 did you play with pdp-11's? 18:11:33 make that s/CALL @IP/JMP @IP/ ans s/CALL @@IP/JMP @@IP/ --- as I said, my brain is dead tonite 18:12:33 yes...albeit with BASIC PLUS-2...I tried to get at the assembly language level...never had...but I did see a few PDP-11 assembly codes 18:16:00 anyway, for CODE in indirect case, the CODE a-code .... END-CODE becomes a-code: DW _thread_into; _thread_into: ..... --- note that it is necessary to do a "list" of one address word, which points to the code just "ahead" of that list...clear now? Of course the programmer must do a JMP NEXT at the end for a RET 18:16:37 I believe that is all, conceptually 18:17:12 any questions? 18:17:47 i gotta go my eyes are blurry 18:18:10 --- part: Neuro1ogic left #forth 18:18:38 hehe 18:19:13 hmmm 18:19:19 no not yet. 18:19:53 --- join: tgunr (~user@A17-205-45-104.apple.com) joined #forth 18:20:01 ok :) 18:20:07 thanks man 18:23:21 np...a basic thought: subroutine threading - 0-level address fetching (just a series of CALLs, basically); direct threading - 1-level address fetching (fetch an address, then JMP into it...the stacking is done by DO-COLON/DO-SEMI); indirect threading - 2-level address fetching (fetch an address, then fetch an address pointed to by that address, then JMP into it...the stacking is done by DO-COLON/DO-SEMI) 18:25:17 token threading is in some way a variation of indirect threading, but insteading, it use some sort of table lookups Exactly how that is accomplished is I am vague on....of course token threading is slowest of them all, but it is also completely portable (minus the code portions) 18:25:39 I know Open Firmware uses token threading 18:27:34 whats slow to a 2ghz machine? :D 18:28:36 hehe...so we believe in wasting CPU cycles... 18:28:45 yes we do. 18:28:52 LOL 18:29:15 I think the most important thing about moore's law is that as chips become faster and faster, we will waste even more clock cycles. 18:29:30 we simply don't know what to do with so much speed! 18:30:44 ah...that's M$'s approach...its slogan: "Let's waste more CPU cycles playing wityh Clippity!!!" 18:33:51 TheBlueWizard: the only way we'll learn to conserve and not waste clock cycles is if we had a reversal of moore's law. 18:34:48 or if we have a massive energy crisis 18:35:31 the two are similar aren't they? 18:35:46 huge suv's exist because we can afford the fuel... 18:36:26 come shortages and people scramble for the festiva's and the civics. 18:37:25 in some ways they are indeed similar, but they are on a different level...for example, a 2GHz Athlon is like lighting up a 100 watt light bulb....but a SUV consumes a lot more energy (no idea how much)... 18:38:50 also, SUVs require gasoline, while Athlons require electricity...it's possible to have a gas crisis (extremely unlikely at this point) and still have electricity, and vice versa 18:39:52 mmm not completely likely. 18:40:10 anyway I must go...bye! 18:40:12 electricity is created by boiling water and using the steam to drive turbines. 18:40:16 gas boils that water :D 18:40:23 happy threading! :) 18:40:27 danke. 18:40:47 electricity can come from coal, nuclear, geothermal, ..... 18:40:54 gas boils the water that forms into clouds to feed the rivers that hydroelectric dams use 18:40:55 gas being the cheapest... 18:41:20 for now, yeah...though I think natural gas is cheaper 18:41:20 so electricity is affected by crude in some ways ... 18:41:47 yup....economy of energy utilization is quite complicated 18:41:52 anyway, bye! 18:41:54 ciao 18:41:58 --- part: TheBlueWizard left #forth 18:57:38 --- quit: gilbertdeb ("Monk has left the building") 19:23:35 --- join: njd (melons@njd.paradise.net.nz) joined #forth 20:11:52 --- join: snowrichard (~cpu2@c66.190.103.147.ts46v-01.mrshll.tx.charter.com) joined #forth 20:16:45 --- part: snowrichard left #forth 20:26:32 --- quit: Robert (Remote closed the connection) 20:34:45 --- join: Robert (~snofs@h138n2fls31o965.telia.com) joined #forth 20:41:25 --- join: a7r_ (~a7r@206.72.82.135) joined #forth 20:42:12 evening 20:44:41 --- join: ChanServ (ChanServ@services.) joined #forth 20:44:41 --- mode: sterling.freenode.net set +o ChanServ 21:39:53 --- quit: tgunr (sterling.freenode.net irc.freenode.net) 21:39:53 --- quit: TreyB (sterling.freenode.net irc.freenode.net) 21:41:10 --- join: tgunr (~user@A17-205-45-104.apple.com) joined #forth 21:41:10 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 21:52:41 --- join: kc5tja (~kc5tja@ip68-8-206-137.sd.sd.cox.net) joined #forth 22:24:25 --- join: snowrichard (~cpu2@c66.190.103.147.ts46v-01.mrshll.tx.charter.com) joined #forth 22:24:36 hey guys. 22:25:23 re; about to go to bed soon, though. 22:25:34 I have finished version 0.1 of my michael language. 22:25:58 http://opensourceincome.com/files/Michael_Manual.html 22:26:47 Cool 22:27:06 yoh 22:27:41 Interesting; var takes a size parameter on the stack. 22:27:46 * kc5tja wouldn't have thought of doing that. 22:27:55 Sure beats having to ALLOT for structures. :) 22:28:16 that way I can allocate an array 10 4 * var myarray 22:28:39 * kc5tja nods 22:29:09 or structure yes 22:29:49 Well, I don't mean to be rude, but I have school in the morning. 22:29:55 later 22:29:56 I must be going. 22:30:22 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 22:33:29 hello a7r_ 22:34:04 how's it going? 22:34:19 fine I've been working on this code for a few days now 22:35:34 its written in gcc 22:36:27 but only used standard C library functions, it would compile on other systems too 22:37:43 I'm listening to a jazz station on shoutcast 22:40:07 later 22:40:10 --- part: snowrichard left #forth 23:03:56 --- join: snowrichard (~cpu2@c66.190.103.147.ts46v-01.mrshll.tx.charter.com) joined #forth 23:04:59 well I tried running it on my VAX and there must be some dependency in my code on the byte order because it didn't work. 23:05:38 * Robert runs away to school. 23:10:13 bye 23:32:57 --- part: snowrichard left #forth 23:59:59 --- log: ended forth/03.04.28