00:00:00 --- log: started forth/03.08.30 00:15:19 --- join: kc5tja (~kc5tja@66-91-231-74.san.rr.com) joined #forth 00:15:19 --- mode: ChanServ set +o kc5tja 00:16:18 After getting back from Aikido, I went out to observe Mars with my telescope. 00:16:35 * kc5tja is glad he did. 00:17:07 Gorgeous view of Mars, including patently visible southern ice-cap, and with some careful observation, some minor surface features as well. 00:17:57 Well, more like major surface featuers; we're not talking resolution high enough to resolve individual craters. But certainly some of the larger "canals" on the planet are visible. 00:18:32 * kc5tja wishes he had a 6" to 10" scope, so he could get better magnification without sacrificing detail. 00:19:07 Anyway, I think I'm going to head off to bed. 00:19:19 --- quit: kc5tja (Client Quit) 00:37:29 --- join: gilbertdeb (gilbert@fl-nked-ubr2-c3a-142.miamfl.adelphia.net) joined #forth 00:40:41 --- part: gilbertdeb left #forth 00:47:44 --- join: gilbertdeb (gilbert@fl-nked-ubr2-c3a-142.miamfl.adelphia.net) joined #forth 00:50:10 --- part: gilbertdeb left #forth 02:19:48 --- join: mur (murr@baana-62-165-184-29.phnet.fi) joined #forth 02:33:57 --- join: budmaddock (~bud@p5090383D.dip.t-dialin.net) joined #forth 02:34:36 --- part: budmaddock left #forth 02:54:02 --- join: gilbertdeb (gilbert@fl-nked-ubr2-c3a-142.miamfl.adelphia.net) joined #forth 03:31:03 --- quit: gilbertdeb ("Told you I could quit any time!") 04:28:48 --- nick: mur -> mur|bbl 04:58:09 --- nick: mur|bbl -> mur 06:45:18 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 06:46:13 mornin all 06:47:08 moi 06:47:14 terve gi 06:47:19 oh 06:47:22 gilbert gone 07:02:04 re 07:02:07 --- nick: onetom_ -> onetom 07:03:15 could any1 help me 2 find that linux based mini distrib what has a totally unusual dir structure & what applies gforth as its prompt 07:04:13 ok, got it -- cLIeNUX 07:09:33 --- quit: arke (Read error: 54 (Connection reset by peer)) 07:10:05 --- join: arke (~rk@ca-cmrilo-docsis-cmtsj-b-36.vnnyca.adelphia.net) joined #forth 08:29:35 --- join: SDO (~beos@co-trinidad1a-42.clspco.adelphia.net) joined #forth 08:35:51 --- join: hp48nik (~chatzilla@bc-van-reg-a53-01-46.look.ca) joined #forth 08:43:27 --- part: hp48nik left #forth 09:25:06 --- quit: SDO ("client exiting") 09:41:01 --- quit: onetom (Remote closed the connection) 10:28:30 --- quit: mur (Read error: 104 (Connection reset by peer)) 10:29:48 --- join: mur (murr@baana-62-165-184-29.phnet.fi) joined #forth 10:42:16 --- join: onetom (~tom@cab.bio.u-szeged.hu) joined #forth 12:03:45 --- join: I440r_ (~x@saturn.vcsd.com) joined #forth 12:04:00 --- nick: I440r_ -> I440r 12:04:07 im at work :) 12:04:11 <-- afk 12:22:10 --- quit: I440r (Read error: 104 (Connection reset by peer)) 12:31:10 --- join: gilbertdeb (gilbert@fl-nked-ubr2-c3a-142.miamfl.adelphia.net) joined #forth 12:43:27 --- join: mmanning (~mmanning@saturn.vcsd.com) joined #forth 12:45:58 --- nick: mmanning -> I440r 12:46:10 --- mode: ChanServ set +o I440r 12:58:27 --- join: skylan_ (sjh@vickesh01-4698.tbaytel.net) joined #forth 12:58:55 --- quit: skylan (Read error: 113 (No route to host)) 13:03:54 --- quit: skylan_ (Client Quit) 13:10:49 --- join: skylan (sjh@vickesh01-4698.tbaytel.net) joined #forth 13:22:23 --- join: jamc (~user@as3-6-8.asp.s.bonet.se) joined #forth 14:09:56 --- quit: Frek ("cubase") 14:20:23 --- join: TheBlueWizard (TheBlueWiz@207.111.96.163) joined #forth 14:20:24 --- mode: ChanServ set +o TheBlueWizard 14:20:28 hiya all 14:20:33 aloha 14:20:45 hiya gilbertdeb 14:20:59 tbw hi! 14:21:02 im at work!!!!!!!! 14:21:09 <-- working hard instead of 14:21:14 "hardly working" 14:21:19 hahaha. 14:21:25 I440r what are you working at? 14:21:48 hiya I440r!!! :) 14:21:56 satelite tracking stuff :) 14:22:06 cant say more ;) 14:22:09 I440r cool. 14:22:11 for who? 14:22:16 in chipforth/swiftx !!! 14:22:18 cool to hear that you're working!!! $$$ flowing at last! 14:22:23 virtex rsi 14:22:24 I440r NO WAY! 14:22:25 in texas 14:22:34 yup 14:23:00 no freaking way! 14:23:05 way 14:23:05 so you've moved to texas? 14:23:10 no its a contract 14:23:13 sounds like weird idea 14:23:17 terve 14:23:26 terve gillllberredeteretyeresrt 14:23:28 I440r and how did they come to be using chipforth? 14:23:36 they use forth alot!! 14:23:41 terve mur! :) 14:23:54 whats terve ? 14:23:59 finnish greeting 14:24:05 aha :) 14:24:28 it's short for tervetuloa, which means welcome in Finnish 14:24:29 I440r tell them they ROCK! 14:24:44 TheBlueWizard cool, mur never explained that! 14:24:59 :) 14:25:29 there is a Rad-Hardened Novix right? 14:25:35 == space applications? 14:25:43 yup 14:25:52 they also use linux :) 14:25:55 for cvs etc 14:25:57 all those cosmic rays hacking your code 14:26:07 lol 14:26:31 sounds fun though 14:26:37 im nearing completion on my forth~ 14:26:56 it is so far :) 14:27:49 I440r how long have they been using forth for? 14:28:45 tere TheBlueWizard! 14:29:04 mur: :) 14:29:32 how close are Finnish and Estonian? 14:29:47 uuter as close as hungarian is to it ? 14:30:09 those are the only two languages in that branch yes? 14:32:19 uuter: Finnish and Estonian are somewhat close; Hungarian is more distant, but in the same family, yes 14:32:54 uuter: and these are not the only ones....Karelian, Saami, and others are relatives of Finnish 14:32:54 i think russian has more to do with english than hungarian with finnish linguistically 14:33:04 .. 14:33:05 maybe 14:33:08 not sure actaully 14:33:20 those are the lappish languages? 14:33:21 it was many thousand years when they separated 14:33:27 if there are such things 14:33:32 there aren't 14:33:32 yes 14:33:37 ok 14:33:43 but sámi was the first nordic langauge 14:33:47 mur when they forked you mean? 14:33:50 which is now talked in north 14:33:53 lapland area 14:34:21 is it older than Icelandic? 14:34:34 or has it evolved 14:35:40 uuter: Saami is a Lapp language 14:37:23 sámi is not linguitically related to icelandic 14:37:35 icelandic separeted from norwegian 14:38:06 but sámi and old base fenno thing separeted to 2 branches 14:38:28 Icelandic is a Northern Germanic language, in same group with Norwegian, Danish and Swedish 14:40:09 yeah, i understand that, but im wondering if it as static as Icelandic 14:40:19 as it, has changed little 14:42:24 uuter: you're correct that Icelandic is very conservative...almost completely frozen (never mind those neologisms that Iceland people has to come up with for all those modern stuff like computers :) 14:42:55 yeah, i respect that in a language 14:47:12 http://murr.host.sk/tmp/lodsb/?DocName=Credits&Path=1 14:47:13 hehe 14:47:15 now it works ;) 14:48:08 Russian is a Slavic language. Slavic, Germanic, Romance, and several other language groups belongs to one big Indo-European language. But Finnish isn't an Indo-European language at all 14:48:32 yeah 14:48:49 i have heard it almost has a japanese syntax 14:49:36 which has? 14:49:37 is forth ??? :) 14:49:38 heh 14:49:58 Finnish 14:50:21 Japanese in what way? 14:50:28 not sure 14:50:35 LOL re: Forth supposedly have Japanese syntax (which one could make a somewhat convincing argument for! :) 14:50:44 Radio Finnland had a program discussing the language 14:51:03 but in November they stopped the English service 14:55:49 they were renewing the channels 14:55:55 it was not great success really :P 15:05:12 --- quit: mur ("Murr.") 15:06:11 --- quit: jamc ("I'm pretending I'm pulling in a TROUT! Am I doing it correctly??") 15:43:31 lol i can download at 100k per second here!!!!! 15:43:34 i need that at home! 15:46:45 :) 15:56:05 Hey 15:56:21 hiya Robert :) 15:56:50 I have been coding on a neat, small machine today. 15:56:59 &join #brainfuck 15:57:02 ooops 15:57:13 hello 15:58:11 what machine is that? 15:58:28 My speciel/designed brainfuck computer 15:58:30 8 LEDs 15:58:31 lol 15:58:34 4 switch buttons. 15:58:34 heh 15:58:46 not a machine...it's a programming language 15:58:58 A brainfuck interpreter 15:59:15 interesting that someone built a brainfuck computer 15:59:49 Running at 8192 instructions per second 16:00:02 Giving about 500 brainfuck instructions per second. 16:00:19 Robert url? 16:00:30 Today I coded an 'add two numbers' program dfor it, 16:00:51 gilbertdeb: None, so far... only schematic is on a paper, and the code is at home 16:00:55 On a windows computer 16:01:02 Now I'm at smoeone else's place 16:01:11 Robert this is an emergency :D 16:01:20 get a police escort and have it url'ed. 16:01:38 HEH 16:01:42 SDon't worry 16:01:50 I'll make it public :) 16:01:56 good good! 16:02:33 Hehe 16:02:39 heh 16:02:59 128 instructions *4 bits, 8 different instructions) program memory 16:03:10 16 bytes of RAM. 16:03:25 Takes forever to program 16:03:34 But it draws almost nothing. :) 16:04:09 power that is 16:04:27 is it on a circuit board by itself? 16:04:35 Yes. 16:04:41 wow. 16:04:51 ;D 16:05:34 impressive, considering 16:05:50 must be enough to outperform ENIAC ;) 16:06:07 Not quite 16:06:08 * TheBlueWizard will have to dig up the specs for ENIAC....nah 16:06:16 good. 16:06:23 heh 16:06:24 I know who to go to when i need retro-info. 16:06:33 TheBlueWizard do you have anything on the cdc 6600 ? 16:06:36 or the cray 1? 16:06:41 nope 16:06:46 An addition in brainfuck would be a O(2**n) algo 16:07:07 speedy :| 16:07:12 lol yeah 16:07:18 And a multiplication something like O(2**2n) :D 16:07:29 Robert can't you make it more efficient? 16:07:33 Maybe 16:07:45 who has the info on retro-computers? 16:07:46 In two pages of code... 16:08:16 http://robert.zizi.org/robert.html <<< my cmoputers, even the good ones are antiqwue 16:09:35 cool 16:09:51 i am looking for information on a rare computer 16:10:26 Heeh 16:10:40 The Swedish computer called 'compis' is cute 16:10:46 80186 CPU, 512kB mem 16:11:04 One or two external 5.25 floppies 16:11:07 CP/M 16:11:10 uuter which rare computer? 16:11:16 MCM 70 16:11:20 Pascal, and a lang called COMAL 16:11:22 or any of the MCM line 16:11:31 How many Swedish computers are there? 16:11:42 Which is something as rare as BASIC combined with Pascal 16:12:08 ahh...those retro computing stuff :) 16:12:49 Some idiot tried to build a compuiter out of strings 16:12:56 A totally mwechanical one. 16:13:05 hmm 16:13:17 cartier(?) looms were like that 16:13:27 Robert: the one published in SciAm? 16:13:53 TheBlueWizard: No idea. He was still thinking about how to solve some issues 16:14:04 Like optimising the XOR algo 16:14:10 oh...hmm...ok 16:14:12 heh 16:14:24 optimizing, i would be happy if it worked 16:14:32 Hm. 16:14:39 * TheBlueWizard wants to play with quantum computers :) He likes to totally mess up his brain 16:14:42 in strings that is 16:14:51 Building one out of transistors would be fun 16:14:54 i dig optimizing my programs 16:15:53 TheBlueWizard aaah, but they are just faster. 16:16:17 well, its not just speed 16:16:41 a 3 qubit computer could factor a 768-bit RSA key in 0 time i hear 16:16:55 gilbertdeb: no...not just faster; they're...well, different! 16:17:09 yes yes, as they have to be. 16:17:24 but i think the program 'disaperes' as it is evaluated 16:17:24 TheBlueWizard at least at their speeds, speed and memory requirements will be generally irrelevant. 16:17:40 heisenberg style 16:18:04 uuter: no, not 3-qubit...a 800ish-qubit computer can indeed factor 768 bit number in no time flat...visit http://www.qubit.org for more info 16:18:24 cool 16:18:56 uuter: the program doesn't disappear...the "total" data itself disappear as soon as you "measure" it. 16:19:03 difference there! 16:19:08 Hm 16:19:21 TheBlueWizard: Can they really computer several things at once. 16:19:23 ? 16:19:26 * TheBlueWizard has a fairly good grasp of quantum mechanics, but is no expert at it 16:19:47 Robert: in some way, yes! but it is really weird all the same 16:21:32 Hm. 16:22:18 --- quit: I440r ("User pushed the X - because it's Xtra, baby") 16:31:55 --- part: gilbertdeb left #forth 16:34:05 Robert: do you have any familiarity with quantum mechanics? 16:34:13 just curious 16:39:56 do you guys know of a way to reverse the implicit CR that happens when you use the syscall 'read' on a *nix system? 16:44:51 what do you mean by "reverse the CR"? 16:49:10 well, after you enter the line, it goes to the next line 16:49:35 so if i were to input this Forth string > 7 7 + 16:49:50 it goes to the next line to say OK 16:50:04 oh...I see....well, AFAIK you will need to use the raw mode in order to suppress the CR outputting 16:50:16 raw? 16:50:26 byte at a time? 16:50:30 there is a raw and cooked mode 16:50:50 you are talking Unix? 16:51:38 no...you set up some termios settings...or if you use curses library, just invoke a few functions to get into desired raw mode 16:51:42 yes 16:51:59 this is plain-jane syscall style 16:52:02 no libs 16:52:12 li r0, 4 16:52:13 sc 16:54:54 I think I440r has some code showing how to set up raw mode calls (I haven't looked at his IsForth code closely, particularly the I/O parts) 17:09:57 TheBlueWizard: NO 17:10:03 TheBlueWizard: Unfortunetley not :) 17:11:27 ok 17:12:18 if I have time I will look at various *nix call stuff...haven't messed with that in ages 17:14:21 its not a big issue 17:15:04 * TheBlueWizard nods...and is sure there are some solutions eventually...."Make it work, then make it pretty" :) 17:19:58 indeed 17:20:04 file access comes next 17:21:04 should be easier :) 17:34:30 gotta go...bye all 17:34:52 --- part: TheBlueWizard left #forth 18:25:57 --- join: Suzanne_ (~suzanne@65-73-37-205.bras01.mdl.ny.frontiernet.net) joined #forth 18:26:13 hello 18:26:22 hi uuter 19:03:30 --- join: kc5tja (~kc5tja@66-91-231-74.san.rr.com) joined #forth 19:03:30 --- mode: ChanServ set +o kc5tja 19:03:48 hello 19:03:56 Howdy 19:06:30 do you know of any good articles on flow control in forth, implementing it 19:06:43 No. 19:21:57 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 19:22:11 hi all 19:22:44 hello 19:23:43 * tathi checks the logs... 19:24:10 not much 19:24:31 you figure out the input thing? 19:24:35 i don't suppose you know of a source of information on implementing flow control? 19:24:45 the implicit CR? no 19:24:53 not working on it atm 19:25:07 ok. I have code somewhere if you want. 19:25:13 relatively simple. 19:25:22 oh, cool 19:25:36 flow control...hmm... 19:25:49 not off the top of my head. 19:25:53 for forth, I assume? 19:26:29 yes 19:27:40 grr...I've written way too many forths...it's getting hard to find the bit of code I'm looking for... 19:28:46 heh 19:28:57 this is my first, well mark II of the first 19:29:08 what platform/programming language? 19:29:18 PPC/asm 19:29:26 PPC/Unix 19:29:29 ah. excellent. 19:30:11 yeah, i dig RISC action~ 19:30:32 :) 19:31:02 well, and it's the platform I use, so I actually have some clue what I'm talking about 19:31:16 rad~ 19:31:31 your forth's were written for said platform? 19:31:39 yup. PPC/Linux 19:31:41 forths 19:31:46 kewl 19:31:50 GNU assembler 19:32:09 mine is totally portable across that line, it only depends on a few syscals 19:32:14 uh, i hate GAS 19:32:22 savage syntax 19:32:59 hmm, I didn't think it was that bad. Other than buggy crappy macro capability. 19:32:59 i ported/converted it to GAS for NetBSD a while ago 19:33:37 But the only other PPC assembler I've used was Apple's, from the MPW suite. 19:34:14 Apple's current OS X assembler is based on GAS, but i think it forked way back in the NeXT days 19:34:35 Apple Computer, Inc. version cctools-446.1.obj~1, GNU assembler version 1.38 19:35:06 ah. Didn't know that. 19:36:10 did you make your Forths public? 19:36:32 i have not seen any other than the usuall ones 19:37:33 no, they never got terribly far 19:37:52 I mean, I think I have about 4 versions that _work_ 19:37:59 ah 19:38:11 mine is doing colon definitions 19:38:24 but I'm more interested in fiddling with odd minimalistic forth systems than doing anything actually _useful_. 19:38:27 :) 19:38:32 i still have flow control, file access, and verifying DOES> to do 19:38:44 so...you doing some kind of threaded scheme? 19:38:51 or compiling to native, or what? 19:38:54 subroutine threading 19:38:59 bl xt 19:45:29 ok, http://qualdan.com/examples/term.s 19:46:08 see also termios(3) manpage 19:46:57 thanks 19:47:06 should help with the input stuff when you decide to mess with it 19:48:13 dunno what to say about flow control. 19:48:22 I mostly just compile to native code, so... 19:49:24 basically my control flow words just compile whatever code, and then push an address onto the stack 19:49:37 so the "closing" word can come back and patch up the conditional branch address 19:49:54 (and, of course, flush the bloody caches) 19:53:18 * Suzanne_ mumbles 19:53:37 i'm afraid my forth is somewhat lame, and not written in asm :P 19:54:26 :) 19:54:37 however... 19:54:53 the following code snippet from my test harness may display a bit more why its how it is right now :) 19:54:55 Forth *fth = [Forth new]; 19:54:55 [fth addExternalWord: @"testme" selector: @selector(testMe:) 19:54:55 hidden: NO target: test]; 19:56:18 don't mind me, it's just that I cut my teeth on asm 19:56:29 (and am therefore hopelessly stuck with a low-level mentality) ;) 19:56:35 tathi, same here, but RISC asm is too much of a headache 19:56:44 PPC is better than MIPs, i'll grant, but still 19:57:07 oi, is that Obj-C ? 19:57:11 uuter, yes 19:57:18 heh 19:57:25 I was just about to ask 19:57:48 * kc5tja loves MIPS. :) 19:57:58 kc, urgh, seek help :P 19:58:10 worst ISA evah, ok, ok, not worse than x86... 19:58:10 No, sorry. I've already been helped. 19:58:16 Uhhh... 19:58:21 How can you say that, and then say PowerPC is better? 19:58:26 The instruction sets are virtually identical. 19:58:28 heh, i prefer RISC 19:58:33 functionality isn't, tho 19:58:52 OK, that's a rather weird statement to make. 19:58:55 MIPs silently continues with bad behaviour on a blocking instruction, PPC blocks properly 19:59:23 its not a problem most of the time, unless you're dealing with COP stuff, but its still irritating 19:59:28 do you like delay slots? 19:59:34 I do, definitely. 19:59:45 'lo 19:59:47 i seldom find myself in want of them 19:59:50 I feel it's more useful to have delay slots than to have hardware with 3x the transistors to do the same job. 19:59:57 perhaps i just don't know how ho use them 20:00:07 It does take skill. 20:00:25 But those slots are intended for scheduling my high-level language compilers, not humans, generally. 20:00:45 Anyway, I have company over. 20:00:50 Need to "entertain." :D 20:00:52 --- nick: kc5tja -> kc-afk 20:01:28 heh, have fun 20:01:50 suzanne, are you a OS X programmer? 20:02:02 yeah 20:02:07 and do you actually have a Forth in Obj-C/Cocoa? 20:02:19 yeah, its far from complete tho 20:02:33 it sounds so painfull :) 20:02:41 run-time message passing and all 20:02:42 * Suzanne_ shrugs 20:03:07 IMP caching means it isn't so bad really 20:03:13 * arke is going to figure out how to connect his ti-83+ to his box, then make a z80 forth :) 20:03:30 arke, can't you write a decent palm forth ? 20:03:35 all the existing ones suck 20:03:37 Quartus 20:03:43 yeah? 20:03:46 uuter, its awful, IMO 20:03:47 * arke doesnt have a palm, sry 20:03:48 i heard it was respectable 20:03:57 dragon forth is better, but very 'odd' at times 20:04:21 * arke still has to find the perfect forth 20:04:56 why not create your own to fill that desire? 20:05:17 i am :) 20:05:17 uuter, i would, but i don't know enough about the palm API 20:05:35 its not like writing a console unix app, you can't just fgets and printf and so on :/ 20:05:42 :P 20:05:50 you have to go thru some bastard API that makes win32 (plain, not MFC) look 'reasonable' 20:05:51 yeah 20:06:20 ouch 20:06:31 they have that much depth on a 68k ? 20:06:45 its very similar to win32 in some ways, same kind of message loop system 20:07:08 i take it you program professionally? 20:07:10 sounds like fun :) 20:07:42 tathi, its probably fine once you're used to it... 20:07:46 and uuter, yes, and no 20:07:58 i'm 'self-employed' so really more like glorified hobbyist, these days 20:08:16 contractor? 20:08:25 nope 20:08:34 just 'do what i want, when i want' kind of self-employed 20:08:54 the talk about hating APIs gave me the impression you were forced to use it at one point 20:09:42 uuter, not the palm API, but APIs similar to it, yes 20:09:57 i programmed win16 'professionally' for a few weeks :P 20:09:58 yeah, APIs have a tendancy to suck 20:10:05 ew 20:10:13 whats your take on Cocoa? 20:10:15 uuter, it was worse, i was forced to use WinG :P 20:10:22 cocoa is beautiful 20:10:24 but... 20:10:48 its very deep and hard to grasp at first, because its so different to everything else (unless you've been programming NS/OS/GS for the past few years) 20:11:03 whats cocoa? 20:11:05 yeah 20:11:06 the elegance and readability pay off though, IMO 20:11:09 OS X API 20:11:28 arke, Apple's version of OpenStep for OS X - the 'real' OS X API 20:11:57 ah.'' 20:12:04 well, NeXT's latest itteration of OpenStep, with a Apple branding :) 20:12:29 Suzanne_: NS/OS/GS? 20:12:40 tathi, NeXTStep, OpenStep, GNUStep 20:12:42 NeXTStep (1988) -> OpenStep (1994) -> Rhapsody (1997) -> OS X Server 1.x (1999) -> OS X (2001) 20:13:18 approxmations on the dates 20:13:29 uuter, well, you should probably divide Object based NeXTStep and NSObject based NeXTStep as they are pretty different 20:13:44 so in reality, its more like NeXTStep (1991) -> OpenStep ;) 20:14:14 well, it was a one line IRC history of Cocoa :) 20:14:46 can't remember when they switched to NSObject, so i'm not sure if it was 2.x or 3.x 20:15:03 im thinking 3 20:15:12 yeah, me too, but i'm not 100% sure about it 20:15:45 btw, the most elegant part of Cocoa is this line (and the message it executes :) 20:15:45 [NSThread detachNewThreadSelector: @selector(connectWithPorts:) 20:15:45 toTarget: [ircObject class] withObject: portArray]; 20:16:11 basically, with the right code in the message at the other end, which isn't that complex, it completely threads objects 20:16:38 ie, i get a object pointer in the main program that points to a 'virtual' object, if i send the object a message, it executes in the thread assigned to the object transparently 20:16:51 so _that's_ what NS stands for 20:17:16 I played with cocoa a little, and was always wondering what NS in NSObject stood for 20:17:20 herkamire, yes :) 20:17:52 I was very impressed and excited about it. 20:18:15 I didn't use it enough to see how good it really was, but it was ofly fun 20:18:27 herkamire, you never stop learning with it :) 20:18:54 a few hours, and you can knock together simple programs using traditional programming techniques, a few weeks and you start to learn more 'weird' stuff that is just beautifully elegant when you think about it 20:18:56 Suzanne_: never stop learning cocoa? or are you learning otherwise usefull stuff? 20:19:02 like, as i said, using DO to get threadded objects 20:19:34 herkamire, never stop learning cocoa, there is always something else 'a little bit different' to it that is left to learn 20:19:38 Suzanne_: threaded as in multiple processes running at once? 20:20:01 herkamire, threaded as in each object can have its own execution thread that is totally transparent to the program accessing the objects 20:20:11 and even more... 20:20:32 once you do that, you can take it one step further, and execute the object's code on another machine entirely, and it still be 100% transparent to the calling program 20:20:49 sounds aweful 20:20:57 basically, you can make a cocoa app clustered just by adding a couple of dozen lines 20:22:01 herkamire, its really easy, really, just a matter of beginning a thread with that object controlling it, and passing a virtual object reference back to the main program, rather than allocating the object locally 20:22:40 OO makes my skin crawl 20:23:15 depends on the OO paradigm in use, IME 20:23:44 the Objective-C/Smalltalk way of doing things is completely different to the C++/Java way of doing things 20:23:53 how do you debug it? 20:24:01 gdb 20:24:08 yeah, just use gdb ;) 20:24:15 sounds aweful 20:24:24 The OS X tool chain in pretty much Apple+NeXT modified GCC 20:24:49 uuter, have you looked at the XL compilers from IBM's VisualAge suite yet ? 20:25:05 I'll stick with my home-brew forth 20:25:31 no 20:25:39 well, I read the articles 20:25:54 uuter, i installed them thursday or whenever they were announced, seem pretty good 20:26:01 i suppose they provide improvements to PPC 32 code as well 20:26:07 IBM say it requires a G5, but they seem to be lying, runs fine on my G4 20:26:22 yeah, the PPC ISA is 32+64-bit 20:26:27 well, one of the benchmarks claimed a 97% improvement over gcc on a G4 20:26:41 (and 210% on a G5 on the same benchmark) 20:26:47 still only 32 GPRs, and instructions are still 32-bits in size 20:26:50 yeah 20:27:04 well, 32 GPRs if you use 32bit code ;) 20:27:24 like MIPs, if you use 64bit data, it chains 2 GPRs together 20:27:49 logical way of doing it really, rather than that mess in x86 :) 20:27:56 32 by 64-bit 20:28:16 when executing 32-bit code, you still only have 32 by 32 GPRs 20:28:24 uuter, thats not what my IBM ref manuals state, it claims 16x64 or 32x32 20:28:28 only 5-bit GPR field in the instructions 20:28:37 WHAT@#@!@ 20:28:40 but that manual is a few years old, its possible the 970 isn't a true implementation to the specs 20:28:46 IBM has manuals out? 20:28:50 oh 20:29:00 Yeah, probably 20:29:07 uuter, its a oh, 5 or so year old 32/64bit PowerPC Reference manual 20:29:12 PPC/AS maybe 20:29:17 probably written with the 620 in mind 20:29:23 heh, maybe 20:33:13 --- quit: fridge ("http://lice.codehack.com") 20:33:23 * arke is away: f00d 20:48:46 --- quit: tathi ("leaving") 21:35:04 mmmmm G5 21:35:19 I wonder if I'll ever get one 21:37:07 I don't use much of the speed in my G4 ATM. 21:37:39 maybe some day I'll get a faster computer to play with fractals or new graphics cards or something. 22:47:36 --- join: SDO (~SDO@co-trinidad1a-42.clspco.adelphia.net) joined #forth 22:53:25 --- quit: SDO ("Vision[0.9.6-0203]: i've been blurred!") 22:54:13 --- join: SDO (~SDO@co-trinidad1a-42.clspco.adelphia.net) joined #forth 23:26:14 --- nick: kc-afk -> kc5tja 23:26:41 howdy 23:27:03 re 23:28:45 Suzanne_: But chaining two GPRs together is pretty much how "the mess with x86" came to be. 23:28:57 AH and AL are two different registers, which together form AX. 23:29:04 EA EAX 23:29:07 Ditto for BH and BL -> BX, etc. 23:29:07 i think 23:29:26 uuter: My point still stands. 23:29:45 kc, thats ok for AX 23:30:00 kc, for EAX it gets messy, you can't easily access the upper word without doing word-swaps 23:30:17 Unless you're doing hard-core graphics, why in the world would you want to? 23:30:18 kc, and x86-64 allegedly has the same limitation, the upper 32bits aren't directly accessible 23:30:27 Suzanne_: I'm well aware of that. 23:30:44 kc, because, the situations where you might need to, are the situations were performance most likely matters :) 23:30:54 * kc5tja doesn't feel overloading register semantics is ever a good idea. 23:31:16 Suzanne_: Which is only hard-core graphics. 23:31:26 kc, even so, it is a kludge on the x86 23:31:28 in which case, you're better off using dedicated coprocessors anyway. 23:31:32 chaining GPRs isn't that bad, IMO 23:31:59 I think it's horrible. 23:32:07 * Suzanne_ shrugs 23:32:11 It creates an artificial distinction between 16/32-bitness and 32/64-bitness. 23:32:12 what's horrible about it ? 23:32:22 it provides a bridge to 64bits without breaking the 32bit ISA 23:32:35 That bridge existed long before, without register chaining. 23:33:23 so what is your suggestion? a complete seperate set of GPRs ? or just have an extended register shadow the 32bit register ? 23:33:37 The PowerPC architecture needed only a "load word signed" instruction. 23:34:00 32 GPRs, each 64-bits wide. Loads and stores access the appropriate subfields in the register. 23:34:07 Just like every other RISC instruction in the architecture. 23:34:14 umm 23:34:19 MIPS uses register chaining 23:34:26 SPARC does too, from what i recall 23:34:27 And I disagree with it. 23:34:35 I do not recall SPARC using register chaining. 23:35:03 But it wouldn't surprise me if it did. 23:35:15 i haven't used UltraSPARC asm much, but from what i remember, storing a 64bit value clobbers an even/odd pair of 32bit GPRs 23:35:22 Point is, they already had a perfectly servicable solution to handling arbitrarily extending the register size. 23:35:29 chaining is EVIL 23:35:41 And they decided not to use it. 23:36:41 uuter, i fail to see how its evil, personally 23:36:48 The real reason they did things that way is so they wouldn't have to dedicate additional transistors for the registers. 23:37:03 compilers can take it into account automatically, and asm programmers should know enough about their target to deal with it :) 23:37:08 Suzanne_: Well, it halves the number of registers you have, for one. 23:37:20 kc, there's that... but 23:37:55 you're unlikely to be dealing with *all* 64bit values, and you're going to take a cache penalty if you just assume the register space is the same, anyway 23:38:00 yes, SPARC uses register chaining for the floating point registers. 23:38:03 for double and quad precision. 23:38:17 rpc, i was talking about 32bit vs 64bit :) 23:38:23 ahh 23:38:57 kc, the other advantage of register chaining, is that the code can usually run pretty much the same on a 32bit version of the chip, if you're careful 23:38:58 its just wrong 23:39:08 a word sized value should be atomic 23:39:11 since most '32bit' compilers support a long long that dumps it in two chained registers 23:39:19 5-bits to specify the GRP 23:39:22 Suzanne_: No, I don't think you will. 23:39:29 The register set is independent of the cache. 23:40:05 Suzanne_: I will concede to the 'long long' thing. 23:40:06 kc, well, if you have double the register space, its goint to take double the cache to fill them ;) 23:40:20 Suzanne_: So don't load them with 64-bit quantities. 23:40:26 That's why PowerPC has signed/unsigned loads. :) 23:40:33 thats assuming you don't 'use 32bits when it makes more sense' but if the registers are 64bit atomic, then the chances are most developers won't bother 23:41:24 also, iirc, there are a couple of PPC that do some 'odd things' with the GPRs 23:41:45 Well, that's not my problem that they deviate from the PowerPC standard specification. 23:41:57 by odd, i mean 'the GPRs don't exist as seperate entities, but are actually just a cache line' 23:42:20 that sounds rather drastic, to still be called PPC 23:42:50 uuter, saves on transistor count, i can't remember which models do it, but it/they are in the embedded lineup 23:43:11 Well, the thing is, if the registers form a cache line, then it's a hardware optimization to support faster context switches when multitasking. 23:43:15 400 maybe 23:43:23 uuter, might be the 40x yeah 23:43:24 As such, the layout of the register storage space is implementation dependent anyway. 23:44:12 It's not that I don't appreciate their attempts at optimizing the architecture for compatibility's sake, it's just that I feel that they are persuing a perceived need that doesn't actually exist. 23:44:32 Just my opinion. 23:45:07 kc, i suspect it is VITALLY important in the case of the PPC, for apple at least 23:45:32 I feel that, as soon as one starts to deviate from a standards document that was expressly written to take into consideration 32-bit and 64-bit operation, all to support backward compatibility of processor lines that didn't follow the spec originally, I think that's sacrificing the sanctity of the essence of what makes PowerPC distinct from x86 -- cleanliness and orthogonality. 23:45:53 totally 23:45:58 kc, well, the PPC spec has always, as far as i can tell, dictated register-chaining for the PPC 23:46:34 the 32/64bit reference manual certainly dictates register-chaining for 64bit, and it appears that (the one i have) is (c) 1995 23:46:45 Suzanne_: I will verify that at a future date; I have the PowerPC Users Manual and the PowerPC 601, 603, and 604 manuals, and I'll attempt to cross-correlate them. I believe the spec for the 620 did not use register chaining. 23:47:16 But, whatever. 23:47:24 It's not terribly important. 23:47:34 What's done is done, and I have no power to control any of that stuff. 23:48:03 The only thing I can do is design my own 32-bit stack processor and say, "Screw you all, I'm going home," in the best Cartman-impersonation I can muster. 23:48:11 lol 23:48:26 just don't make another 'java-chip', mkay? 23:48:38 No Java -- it'd be a Forth processor. 23:49:03 hence why i quoted it, i mean the success/usefulness of the java-chip, not 'run java bytecode' 23:49:15 * kc5tja nods 23:49:24 both of them were totally useless 23:49:47 the first (the bytecode->SPARC translator chip) was slower than executing bytecode native, by the time it was finished 23:49:59 the second (execute bytecode 'natively') just wasn't much good :) 23:50:00 * kc5tja nods 23:50:21 it doesn't get at the root of the problem: java sucks 23:50:40 Now a bytecode->SPARC coprocessor, which runs over the bytecode once as-needed, would probably make up for its slowness in a useful way. 23:50:40 herkamire, it was, at one point, a nobel cause 23:50:46 unfortunately, Sun botched it 23:50:57 kc, you mean a JIT processor? 23:51:05 * kc5tja still insists Oberon has always been, and always will be, overwhelmingly superior to Java. 23:51:14 really? 23:51:31 What Object model does it use? 23:51:36 Suzanne_: Basically, yes. A JIT coprocessor would be useless, but in some niche market, I can see some limited use for one. 23:51:36 Simula? 23:51:52 uuter: It uses the Oberon object model. :) 23:52:07 Suzanne_: maybe it was noble, but it was misguided 23:52:08 Object-Pascal like? 23:52:13 uuter: Google for Oberon System 3, and check out the ETHZ Oberon webpage. 23:52:19 i have 23:52:23 herk, no, it was only misguided AFTER sun botched it 23:52:25 i played with it a while back 23:52:29 uuter: More like AmigaOS-like. 23:52:37 Suzanne_: are you saying that sun boched the java language? 23:52:40 maybe i will look again 23:52:50 my problem with oberon, is the environment 23:52:59 herk, basically, but its a little lower level than that 23:53:07 uuter: I'm talking Oberon-1 here. Oberon-2 uses type-bound procedures in addition; TBPs are Oberon's equivalent of virtual methods in C++. 23:53:28 Suzanne_: So don't use the environment. :) 23:53:32 herk, when java was conceived, it had totally different goals, sun mutated it into a 'get away from MS by making a cross-platform VM that can run office apps' type of thing 23:53:45 kc, last oberon i looked at, you had no choice 23:53:52 I have met a lot of people who say, "Oberon is nice, but not the environment." Then they complain that there are a lack of Oberon compilers that are independent of its environment. 23:53:55 kc, it was 'integrated' somewhat like Smalltalk/V or Squeak 23:54:01 Suzanne_: oo2c for Linux? 23:54:12 kc, might have been, dunno, it was a couple of years ago 23:54:35 Suzanne_: No no -- oo2c for Linux. Oberon 2 C 23:54:40 I don't actually know much about java. I know that few java programs I've tried have worked. I know that very very few java programs I've used ran at an acceptable speed, and I've heard from many people that java is a poorly designed language. 23:54:42 oh, ok 23:54:43 Suzanne_: It has no environment. 23:54:53 kc, unfortunately, i don't have much faith in preprocessors ;P 23:55:01 Suzanne_: It's not a preprocessor. 23:55:14 call it bad experience with the original gnat if you like :) 23:55:21 kc, it converts oberon into C, doesn't it ? 23:55:24 The "C" that it generates is a bastardization and raping of GCC to get it to produce near-ideal assembly language for its output. 23:55:37 kc, yeah, thats what GNAT did, and it was awful :) 23:55:41 Suzanne_: oo2c has its own internal optimization. 23:55:52 Suzanne_: It gets the job done, and works well. 23:56:00 Moreover, you don't actually see the C code. 23:56:09 (not unless you explicitly tell it to) 23:56:14 you didn't with GNAT, usually 23:56:38 --- quit: Herkamire ("gotta call it a night. bye all") 23:56:47 You normally just type oo2c topModule and it compiles topModule and all dependent modules for you into a single executable. 23:56:55 the problem was always when you came to link against the Ada code, you had to dig into the GNAT output to look at the name mangling 23:57:17 yeah, gnat was the same, except you had to seperately link it with, iirc gnatbind 23:57:37 Oberon is compiled and linked by the same program. 23:57:52 Well, oo2c is. 23:57:57 well, thats an improvement, but it doesn't dispel my fears of pre-processed 'compilers' ;) 23:58:05 If you have an Oberon-aware environment, each module exists as a separate executable. 23:58:13 Suzanne_: Fears such as? 23:58:20 * kc5tja notes that all compilers are pre-processors. 23:58:25 kc, as i said, just bad experience from using them 23:58:41 mostly early gcc stuff, tho 23:58:44 Objective-C is also a preprocessor. :D 23:58:45 gnat, gpc, etc 23:58:53 kc, no, its not 23:58:57 pfft 23:59:10 kc, it was originally, gcc implements it at the front-end level tho 23:59:25 Look in Cox's original Objective-C specification, and he provides literal equivalents of Objective-C and its normal C code. 23:59:36 yes, stepstone was a pre-processor 23:59:43 but so were early C++ implementations :) 23:59:51 so was the first C++ compiler 23:59:59 Yeah, before C++ became C++. 23:59:59 --- log: ended forth/03.08.30