00:00:00 --- log: started forth/03.12.13 00:00:08 lol 00:00:15 I don't see the relavence. 00:00:30 kc5tja, arke does :-) 00:00:30 I'm running Linux, running Linux software. 00:00:47 What the folks who buy Windows do is none of my concern. 00:01:00 running kernels is k00l 00:01:08 I like my Mach 00:01:35 do you like gnome kde or other? 00:01:38 jdrake: You run Mach? 00:01:52 Darwin :-) 00:01:54 I like them both insofar as they let me run the apps I want to run. 00:02:03 Personally, I prefer to use ROX-Filer for my desktop environment though. 00:02:05 --- nick: Robert_ -> Robert 00:02:09 uses a modified mach or something or so apple says 00:02:25 rox-filer was interesting when I looked at it one time 00:03:36 kc5tja: know anything about sparcs? 00:03:59 arke: No, other than the fact that they have register windows and that it's a RISC processor. 00:04:15 (And that MIPS and PowerPC both blow them away in terms of overall performance, but I digress) 00:04:38 register windows? 00:05:04 The registers are treated as a pseudo-stack, to ease the overhead of calling functions written in C. 00:05:23 ? 00:05:30 Never mind 00:05:41 .. 00:07:04 http://www.sics.se/~psm/sparcwin.gif 00:07:10 http://www.sics.se/~psm/sparcstack.html 00:07:19 read to your pleasures 00:08:13 ty 00:09:54 wow 00:09:58 thats neaet 00:14:27 http://homepage.ntlworld.com/matthew.overment/paperclip.jpg 00:14:36 this is what people are really complaining about msoffice 00:18:30 OK, I'm off to bed. 00:18:38 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 00:20:28 --- nick: jdrake -> jdrake`sleep 00:20:33 same :-) 00:45:44 --- join: [Forth] (~Forth@12-160.lctv-a5.cablelynx.com) joined #forth 00:55:09 --- quit: [Forth] ("abort" Reality Strikes Again"") 01:02:29 --- join: [Forth] (~Forth@12-160.lctv-a5.cablelynx.com) joined #forth 02:02:32 --- quit: forth-bot (Read error: 104 (Connection reset by peer)) 02:23:07 --- quit: fridge (Remote closed the connection) 02:35:26 --- quit: Robert (Read error: 113 (No route to host)) 02:38:17 --- join: Robert (~snofs@c-305a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 04:55:13 * warp0x00 is back (gone 28:09:45) 04:59:11 --- join: schihei (~schihei@p5085D72E.dip.t-dialin.net) joined #forth 06:09:02 --- join: aktnot (ident@181.80-202-66.nextgentel.com) joined #forth 07:01:21 --- nick: arke -> chrisw 07:01:30 --- nick: chrisw -> chrisrw 07:07:25 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 07:33:06 Is there a word to compile a string into the dictionary, and return it's address at runtime? Something like : test ," print me" type ; ? (yes, I know that's what ." does, type is just an example of something to do with the string) 07:45:19 Depends on the Forth 07:45:27 I think some Forths use S" for that. 07:45:43 IsForth doesn't have anything like that, there you have to do something like: 07:45:58 create mystring ," This is my string" 07:46:03 mystring count type 07:46:44 but you can modify it to your liking then 07:46:53 uunlike ANS 07:52:18 k 07:52:22 --- nick: jcw -> jc 08:24:42 These constant segfaults are getting to be no-fun. 08:25:06 isforth? 08:25:26 Yea. It's my fault, but constantly being thrown out of the environment is getting frusterating. 08:26:04 what ar you doing? 08:37:41 --- quit: tathi ("leaving") 08:44:27 --- join: jcw (~jcw@68.215.194.38) joined #forth 08:44:36 --- quit: jc (Read error: 110 (Connection timed out)) 08:49:32 jc what are you trying to do ? 08:49:52 i REASLLY need to trap segfaults 08:57:30 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576567.sympatico.ca) joined #forth 09:28:31 --- quit: schihei (Client Quit) 09:29:04 --- join: schihei (~schihei@p5085DAF0.dip.t-dialin.net) joined #forth 09:47:33 --- quit: I440r ("Leaving") 09:52:08 --- join: aktnot_ (ident@181.80-202-66.nextgentel.com) joined #forth 10:00:52 --- nick: jcw -> jc 10:03:48 --- quit: aktnot (Read error: 110 (Connection timed out)) 10:52:00 * chrisrw is away: work 11:00:46 --- quit: schihei (Client Quit) 11:15:52 --- join: Robert_ (~snofs@c-305a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 11:16:56 --- quit: Robert (Read error: 104 (Connection reset by peer)) 11:17:45 --- nick: Robert_ -> Robert 11:52:04 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 12:26:39 --- quit: madgarden (Remote closed the connection) 12:26:40 --- join: ratziggurat (~madgarden@Kitchener-HSE-ppp3576567.sympatico.ca) joined #forth 12:27:10 --- quit: ratziggurat (Client Quit) 12:27:29 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576567.sympatico.ca) joined #forth 12:27:35 --- quit: madgarden (Remote closed the connection) 12:28:46 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576567.sympatico.ca) joined #forth 12:51:31 --- quit: tathi ("leaving") 13:25:07 --- join: I440r (~mark4@12-160.lctv-a5.cablelynx.com) joined #forth 14:00:51 --- quit: I440r ("Leaving") 14:00:59 --- part: madgarden left #forth 14:13:49 --- quit: aktnot_ ("Changing server") 14:16:38 --- join: aktnot (ident@181.80-202-66.nextgentel.com) joined #forth 14:26:31 --- join: TheBlueWizard (TheBlueWiz@pc3edn1d.ppp.FCC.NET) joined #forth 14:26:33 --- mode: ChanServ set +o TheBlueWizard 14:26:47 hiya all 14:27:22 hi TheBlueWizard :) 14:29:26 terve 14:34:38 Hmm, the G'Gugvunts and the Vl'hurgs are going at it 14:36:22 hiya Herkamire 14:36:28 terve mur 14:44:00 --- join: I440r (~mark4@12-160.lctv-a5.cablelynx.com) joined #forth 14:44:56 hiya I440r! :) 14:45:01 --- quit: jc (orwell.freenode.net irc.freenode.net) 14:45:01 --- quit: wUoNrFk (orwell.freenode.net irc.freenode.net) 14:45:12 --- join: jc (~jcw@68.215.194.38) joined #forth 14:45:12 --- join: wUoNrFk (~unfy@ip68-99-27-190.om.om.cox.net) joined #forth 14:46:17 tbw :) 14:46:22 went to a gun show :P 14:46:31 small one but fun 14:46:49 :) 14:49:51 did they kill people there? :P 14:50:49 dont be fucking stupid 14:51:02 i was just kidding :) 14:51:48 well its not funny 14:55:10 I think ianp doesn't like irreverent humors 14:55:26 s/ianp/I440r/ 14:58:02 i was also sarcastic 14:58:31 mur: I take it you are anti-gun right, eh? 14:58:57 guns are made only for killing. i'm against killing 15:00:32 I see where you're coming from, mur 15:01:05 not to start an argument or anything (personally I don't like guns) but many people believe that guns are for protection 15:01:57 * TheBlueWizard is "gun neutral"...i.e. gun rights is ok with him, but doesn't actively support that 15:02:16 i dont wish to argue either, but so called protection is derrived from possiblity that you may be killed. 15:03:26 and if you are fearing to get killed and get gun, it only promotes other to get guns, and makes generally whole area less safe 15:03:49 Herkamire, ok - no arguement but if you make a law against guns is the criminal going to be botherd by that? 15:04:22 what about if you make a law requiring everyone to always have a gun with them at all times - you think the criminal ISNT going to be bothered by that? 15:05:51 I believe guns should be legal 15:06:07 I just don't like them 15:06:12 ok 15:06:24 personal choice. 15:06:27 I won't have one. 15:06:30 methunks you never spent a day at the range :) 15:06:42 shooting range? 15:06:47 I440r: nope. 15:07:57 --- join: forth-bot (~Forth@68.215.194.38) joined #forth 15:07:58 forth-bot greets his fellow 'bots 15:08:55 shooting is stupid. i've done it enough. even with automatic rifflegun :P 15:09:31 lol thats MY bot :P 15:09:37 whose stealing my bot lol 15:09:37 Very good! 15:09:49 forth-bot, all your base are belong to us. 15:09:51 jc, What you say?!? 15:10:21 It's pretty much a one trick pony, right now. 15:10:30 someone patched my bot to allow it to talk in here lol 15:10:52 someone == jc 15:10:57 the numerics stuff REALLY needs to be rewritten 15:10:59 yea i figured 15:12:11 The name matching is lame. 15:12:13 problem is i dont like case statement 15:12:22 forth-bottle, tell me a story 15:12:23 jc, What you say?!? 15:12:38 i think i want to do the whole engine over using some sort of live BNF parser 15:12:39 He kind needs work on delimiters for nicks. 15:13:22 But it's been educational. 15:14:38 ya 15:25:20 where guns are illegal, only outlaws have guns. 15:27:08 jc: is forth-bot written in forth? 15:28:10 Yes. 15:28:13 cool 15:28:17 It's I440r bot, with a little work. 15:28:25 No offense to I440r, but it's not very bright :) 15:28:59 hehe. well someday you'll catch up with the bots in #lisp :-) 15:29:18 suuuuure 15:31:36 forth-bot, what's new with ya? 15:31:37 TheBlueWizard, What you say?!? 15:31:58 forth-bot, please don't parrot, dude! 15:31:58 TheBlueWizard, What you say?!? 15:32:04 :) 15:32:05 And now you've reached the limit of his smarts. 15:32:45 hehe :) 15:32:50 :) 15:32:55 yeah :) 15:33:08 An IRC agent in Forth is a very good demonstation of just how much a pain in the ass strings in Forth are. 15:33:14 forth-bot: repeat after me "What you say?!?" 15:33:15 mur, What you say?!? 15:34:51 * TheBlueWizard tries to teach forth-bot some bad words ;) 15:35:38 heh 15:36:15 A proper bot should know how to swear in a least 5 languages. 15:37:19 hehe 15:38:09 no offense talke, in fact its DUMB for a bot :)O 15:39:06 hehe 15:39:30 * TheBlueWizard only know English and Yiddish obscenities 15:39:52 i only know ONE yiddish word 15:39:58 and it sums up alot of C coders :P 15:39:59 nebbish 15:40:13 you mean you can't swear in forth? :D 15:40:51 pick! 15:40:59 roll! 15:41:18 --- quit: aktnot ("leaving") 16:16:14 pluck 16:37:00 --- quit: I440r ("bbl -- food") 17:12:33 --- quit: forth-bot ("abort" Reality Strikes Again"") 17:13:21 --- quit: warp0x00 (Excess Flood) 17:14:13 --- join: warp0x00 (~warpzero@dsl.142.mt.onewest.net) joined #forth 17:43:28 Supposing you're building a vectored execution table. Something like this: 17:43:37 defer xfoo 17:43:40 defer yfoo 17:43:42 defer zfoo 17:44:02 create vectab 17:44:09 ," stringa" ' xfoo , 17:44:14 ," stringb" ' yfoo , 17:44:19 ," stringc" ' zfoo , 17:44:21 0, 17:44:40 Once we locate a string in the table, and get the address of yfoo, how do we jump to it? 17:56:46 n/m 17:57:48 --- join: I440r (~mark4@12-160.lctv-a5.cablelynx.com) joined #forth 17:58:28 hiya I440r again 17:58:37 tbw hi ::) 17:58:47 are you still here or did you exit and come back ? 17:58:59 um...is that a four-eyed smiley? 17:59:06 me? 17:59:13 yea - you were here before lol 17:59:23 your not usually arround for this long heh 17:59:27 so i wondered 17:59:34 I was here all the while :) 17:59:44 ah...hehe 18:00:23 I finished explaining my long standing math problem on #math :) 18:00:53 it's a hard one, and I sort of freaked out one guy on #math with that problem :) 18:01:09 whioch problem ? 18:01:24 i know i freaked out a math professor with my "trisection of an angle" hehe 18:01:29 --- join: dubious (~marc@209.71.234.197) joined #forth 18:01:38 he thunked i had done it for a while :) 18:01:47 hi dubious 18:02:08 dubious, are you new in #forth or is this just an alternate nick for someone i already know ???? :) 18:02:29 I440r: hiya. mind if I idle for a while, listening on #forth to familiarise myself with the people in here? 18:02:44 thers no rules in #forth 18:02:45 I440r: only been here once before, and very briefly. 18:02:56 dubious is a really dubious nick don't you think dubious? 18:02:59 we sometimes even talk abou tFORTH in here! 18:03:02 --- nick: jdrake`sleep -> jdrake 18:03:07 the most general problem: Find a n-th degree polynomial equation whose roots are k-th powers of the roots of a given n-th degree polynomial equation, expressed in terms of the coefficients of that original equation. 18:03:13 I440r: I just came back from comp.lang.forth, very dissapointing. hope I'll find something more interesting in here. 18:03:37 jdrake: couldn't agree more ;) 18:03:38 c.l.f seems to be one big flame fest about Jeff sucks or the other guy sucks, and why colorForth sucks. 18:03:41 dubious: sure you can lurk...no one will kill ya :) 18:03:56 CLF has its uses - but it has warts too 18:04:12 they are way too in love with the ans NOTforth standard though 18:04:12 Blue: it's just that I'll be programming in another screen session and wouldn't want people to get annoyed because I don't answer. 18:04:22 are you familiar with the forth language at all ? 18:04:36 i thought colorForth was just replacing certain pieces with colour 18:04:51 dubious, nobody will get annoyed, on irc thats the nature of the game :) 18:05:10 some channels get anal on you if you talk off topic or "shock horror" IDLE!!! 18:05:12 but not here heh 18:05:13 There's more to colorForth than that. But that seems to be a major piece of it. 18:05:24 I440r: yeah, but not in practice. I intend to use it as an interpreter for my OS, so I'm preparing by listening to what people say about the language. 18:05:47 dubious, my forth IS the operating system, linux is my BIOS :) 18:05:49 *snicker* 18:05:56 i think the best way to use colorForth might be to get it for syntax highlighting or something, not that I know enough yet to say anything :-) 18:06:01 dubious and I440r: unless someone is really obnoxious/disgusting, then s/he would be kickbanned of course 18:06:04 I440r: does your forth run at privilege level 0? 18:06:09 i would like to see some SANE sources for colorforth 18:06:29 dubious, some day i wouldnt mind making it a kernel loadable module :) 18:06:46 but no, i was just being funny.... 18:07:09 dubious, what forth do you use ? 18:07:17 I440r: be careful if you do, I've followed the evolution of the linux kernel to know it's API (nevermind ABI) changes even between patch releases. It can be frustrating to maintain such a module. 18:07:33 I440r: I have only tinkered with gforth 18:07:46 dubious, ive LOOKED at the kernel sources and i consider them to be CLOSED source 18:08:07 dubious, the "kernel module" thing is a pipe dream atm 18:08:09 I440r: how so? I don't understand. 18:08:31 I440r: pardon my unfamiliarity with the english language, what is "pipe dream"? 18:08:35 dubious, you can read the sources but what they do and how they do it are very very well kidden inside very complex sphagetti code 18:09:00 a pipe dream is like vapor-ware in this case 18:09:22 a pipe dream is what you get from smokin wakey-tobakey :) 18:09:31 I440r: what do you mean by "kernel modules" being a pipe dream? There are kernel modules in 2.x series 18:09:48 no - i mean making isforth a kernel module 18:09:51 I440r: the source is in constant evolution, and that has its advantages and disadvantages. I don't blame them for that and all I was doing was giving you words of warning, not jugement on the quality of the linux source code. 18:09:52 thats the pipe dream 18:10:41 dubious, i understand that but im of the opinion that the linux kernel sources are very poorly formatted 18:11:31 they are very difficult to get to grips with because of the nested includes to the umpteent level - you have NO fscking idea what item X really is because you have NO idea where its defined 18:11:47 I440r: I think that if you have to read the source code to write a module, the problem is not the code but the lack of documentation. The latter is where open source projects differ from more corporate projects, though not always. 18:11:58 you have file a include file b which includes file c which includes file d... e.... f... g..... .... .... z 18:12:09 true 18:12:12 dubious, thats why its closed source 18:12:39 as i pointed out today - when a man page for a syscall has nothing in it except "you do not need to know this" you are being VERY closed source 18:12:41 I440r: interesting, that just made me think vim should be able to automatically open an include file with some control command. wish I knew more of the source to add that neat feature, would act somewhat like IDEA. 18:12:49 i might not NEED to know it but i WANT to 18:13:24 most forth editors ive seen will let you point at a word and jump directly to the file that defines it 18:13:59 isforth doesnt have an editor, i may never write one - might just go by $EDITOR 18:14:03 I440r: vim does file jumping as well, to a certain extent. The only limitation is that it doesn't perform PATH searches. 18:14:18 right 18:14:41 dubious, i tried gforth once... once :) 18:14:53 to compensate for my lack of knowledge with the source, I might just send an email to molenaar or whatever his name is ;) 18:14:59 i never really liked any of the forths ive seen for linux - the exception being lib4th 18:15:06 that guy knows his shit 18:15:39 i wrote to linus on a problem iw as having with grows down memoyr mappings 18:16:03 the grows down will ONLY occur on a PUSH to the stack, not a "write to memroy below current allocation" 18:16:10 ok dudes, I'll be idling now, I'd really like to get rid of this piece of code I've been working on since this morning. hope I'll be able to code more interesting things tomorrow. 18:16:39 which is why i have to do "xchg ebp, esp - push ebx - xchg ebp, esp" to push to the return stack 18:16:48 * dubious will drop by on occasion, of course. brb 18:17:03 good luck with the code :) 18:17:48 actually i think i stopped allocating the return stack buffer as a grows down because 2.2 kernels didnt support them 18:18:02 not sure if anyone using isforht is using any 2.2 kernels or not 18:18:05 theyt MIGHT be 18:21:08 you could put a compile option in isforth to use certain code for 2.2 series and another code for 2.4 series...but that'd be violating the spirit of isforth design, hm? 18:23:06 except i have deliberatly avoided adding any sort of conditional compilation 18:23:39 i dont want to have 500 different versions of isforth all interleaved into one huge unreadable BLOB of crap in the same source files 18:23:42 like C does 18:25:52 * TheBlueWizard nods 18:34:20 is 'rot' considered questionable form? 18:35:03 what do you mean by that? 18:35:24 : strcmp ( a1 a2 -- f1 ) 18:35:24 count \ get length of a2 18:35:24 rot count \ get length of a1 18:35:24 rot dup -rot <> if \ save length for cmp, compare 18:35:24 3drop \ no match, drop a1, a2, len 18:35:26 0 \ indicate no match 18:35:28 exit 18:35:30 then 18:35:34 comp \ lengths same, compare strings 18:35:36 ; 18:35:41 When playing with the 8 bit forths, rot was always very expensive. 18:35:46 no rot is good 18:35:58 And it was kind of beaten in to me that rot was bad, because of it's expense. 18:36:11 its usually considered bad form to manipulate more than just the top three items but thats a SOFT rule 18:36:22 its ok in moderation to go beynd 3 :) 18:36:46 k 18:37:27 rot dup -rot <> if could be rot dup <> if 18:37:32 dont need the -rot 18:37:45 Yea you do. 18:37:59 dup <> just compare anything to itself. Always false. 18:38:06 oh ya 18:38:07 lol 18:38:09 du 18:38:14 then say tuck <> 18:38:16 Already bit myself with that :) 18:38:20 no dup - no rot 18:38:31 rot tuck <> if 18:38:43 Whta's the stack picture for tuck? 18:39:01 what's the point of that function? why not just: : strcmp dup c@ comp ; 18:39:08 : tuck ( n1 n2 --- n1 n2 n1 ) swap over ; 18:39:12 erm i lied 18:39:19 ( n1 n2 --- n2 n1 n2 ) 18:39:20 lol 18:39:38 Because Herkamire, strings that match for the short length, like MatchA and MatchAB would match, if MatchA is the first one used. 18:39:52 jc: but the first byte is the count right? 18:39:55 jc thers another solution 18:39:59 Yes. 18:40:00 coun t -1 /string cmp 18:40:12 let me explain that better 18:40:19 jc: so AB and A will fail in COMP on the first byte (the length bytes are different) 18:40:24 you have address a1 and a2 on the stack - bothy pointing to counted strrings 18:40:27 : strcmp dup c@ 1+ comp ; 18:40:32 you say count -1 /string comp 18:40:48 But it won't compare the last byte of the string. 18:40:49 and you will compare COUNT BYTES too!!! 18:41:01 Yea, that would Herkamire. 18:41:15 : strcmp ( a1 a2 --- f1 ) count -1 /string comp ; 18:41:18 jc: heh :) I spotted the same bug. 1+ will fix that 18:41:31 yes it would -1 /string increments the count byte, and decrements the address 18:41:46 you dont need the 1+ 18:41:54 For Herkamire's solution, you do. 18:41:57 because the count byte is incremented by /string 18:42:21 oh heh 18:42:26 I440r: what's /string ? 18:43:22 erm /string is used inside parse - it chops off part of the string - ( a1 n1 n2 --- ) a1 n1 is the string n2 is how much to chop off 18:43:36 it decrements the length byte n1 by n1 18:43:41 and advances address a1 by n2 18:43:41 Gotta run to Wal-mart. Just found out we're outta dog food for the morning. Back in a bit. 18:43:51 -1 /string decrements the address and increments the count :) 18:43:58 And I440r, you solution works. I wasn't understanding /string well enough to see it as a solution. 18:44:00 jc: noooo!! you're supporting the takeover of america by a corporate giant! 18:44:06 * MysticOne kills jc to save the world 18:44:07 jc :) 18:44:14 i know - i use -1 /string all the time heh 18:44:17 Yea, well, if Publix was open after 10PM, I'd go there. 18:44:25 yay, publix 18:44:26 It's a damn sight closer, too. 18:44:30 I love publix 18:44:31 MysticOne, i have reservations about walmart too heh 18:44:37 I440r: my wife works there :) 18:44:47 ive worked in the hardware department before :/ 18:44:50 not a fun job 18:44:56 hehe 18:44:58 i still have nightmares about it :)P 18:45:06 hehehe 18:45:11 she's been a cashier there for about 2 years 18:45:14 please dont make me put more lightbulbs on the shelf.... 18:45:21 ill be a good boy.. i promis! 18:45:24 hehe 18:45:37 lol 18:45:50 < I440r> it decrements the length byte n1 by n1 18:45:55 you mean by n2? 18:46:03 no by n2 lol 18:46:05 typo 18:46:37 : /string ( a1 n1 n2 -- a1-n2 n1-n2 ) 18:47:04 yes 18:47:12 under+ under+ is the laxen and perry definition 18:47:14 ok. got it 18:47:43 * chrisrw is back (gone 07:55:44) 18:47:50 wb chrisrw 18:48:05 err chrisrw have we talked before ? im really bad with names heh 18:48:09 i cant remember :) 18:48:12 thanks war :) 18:48:15 eer 18:48:18 mark 18:48:21 lol 18:48:26 guess who i am 18:48:28 i guess we have talked before :P 18:48:29 i remember now 18:48:33 seems unnesesary silly for jc's word because count increments the address, and then you're going back and decrementing it. 18:48:33 chrisrw: chris? 18:48:34 :) 18:48:38 :) 18:48:42 better to leave it be I say. 18:49:12 I440r: which regular isnt here right now? thats me. 18:49:19 yes - " count -1 /string" seems silly :) 18:49:26 chrisrw: you're kc5tja?! 18:49:31 naaaah 18:49:39 :) 18:49:43 the OTHER regular 18:49:44 kc is samueel falvo 18:49:49 yeah, I know who kc is :) 18:49:55 * MysticOne is just being silly 18:50:00 soo who am i? 18:50:11 heck if I know, I'm not regular enough to know all the regulars 18:50:17 me either! 18:50:18 lol 18:50:27 well i know your not CLOG 18:50:52 ianp asua 18:50:55 --- nick: chandler -> notchandler 18:50:58 thin 18:51:04 --- nick: notchandler -> chandler 18:51:05 ....yuo bastards dont count me as a regular? :( 18:51:07 thin isnt regular :P 18:51:20 he was, and he likes to change nicks on me :) 18:51:45 thin has more nicks than amelda marcus has shoes 18:51:50 arke 18:52:04 Herkamire: :) 18:52:05 oh yea - thats prolly who it is lol 18:52:11 * chrisrw is away: food 18:52:17 lol 18:56:02 so maybe dup c@ 1+ is better 18:56:22 its also smaller 18:57:31 less chars :) same word count 18:57:37 simpler to read I think 18:58:04 mostly because I didn't know what /string does 18:58:05 /string is somewhat obscure if you dont know it 18:58:20 hehe "obscure if you don't know it" 18:58:30 its prolly a laxen and perry word - i know its part of their "parse" 18:58:36 lol 19:03:07 gotta go to bed...bye all! 19:03:08 nite 19:03:30 bye I440r 19:03:33 --- part: TheBlueWizard left #forth 19:14:41 --- join: Sonarman (~matt@adsl-64-169-95-58.dsl.snfc21.pacbell.net) joined #forth 19:14:54 --- join: I440r_ (~mark4@12-160.lctv-a5.cablelynx.com) joined #forth 19:15:08 --- quit: I440r (Read error: 54 (Connection reset by peer)) 19:33:15 --- quit: dubious ("Leaving") 19:38:07 soooooo..... 19:38:41 --- join: kc5tja (~kc5tja@66-91-231-74.san.rr.com) joined #forth 19:38:41 --- mode: ChanServ set +o kc5tja 19:38:42 ja> 19:39:03 * chrisrw is back (gone 00:46:52) 19:39:14 kc5tja: who am I? 19:40:04 chrisrw: arke. 19:40:53 SEE YOU BASTARDS? HE KNEW ME RIGHT AWAY!!! 19:41:13 I must have missed something really important or something. 19:41:49 And why are you calling the rest here bastards? 19:42:15 he is being his standard moronic self 19:42:27 he gets enjoyment out of it daily 19:43:13 because they didnt know who I was and i said i was a regular with a diffrnt nick and it took them forever to figur it out 19:50:58 arke like scalling us bastards :( 19:51:05 all day with his dvoark keyboard, and we were all bastards ... 19:51:11 my parents were married when I was conceived! 19:51:46 brb 19:52:58 back 19:53:01 Just caught up on the logs. 19:53:03 yay! 19:53:32 * MysticOne is eating chili he made with tofu 19:53:32 jdrake: Another critical issue with ColorForth is that ColorForth sources store the current running state of variables; therefore, ColorForth applications are largely orthogonally persistent. 19:53:43 (this applies to Chuck Moore's specific implementation of ColorForth of course) 19:54:58 why am I tempted to call it ColourForth 19:55:26 jdrake: because you're either Canadian or British 19:56:30 je suis Canadien! 19:56:38 * MysticOne kills jdrake 19:56:47 sorry, had to do it 19:57:02 jdrake: do you eat poutine? 19:58:36 MysticOne, define poutine first 19:58:53 jdrake: fries, gravy, cheese 19:59:06 OH GOD NO 19:59:37 it sounds discusting 19:59:41 okay 19:59:44 you're allowed to live 19:59:53 apparently they sell it at KFCs and stuff in Kanadia 20:00:01 I think it's disgusting too 20:00:37 i don't go to KFC ( http://www.kfccruelty.com/ ) 20:01:43 are you a veggie? 20:02:40 can't say I am 20:02:50 k :) 20:03:03 yeah, I do think it's cruel of them to cram them in places like that 20:03:13 though I'm not against eating animals 20:03:13 but it is an ideal that would be nice to aspire to some time 20:03:29 I'm trying to get into some more soy stuff 20:03:33 to see what I can eat that way 20:03:36 i point to things like unturkey 20:03:36 mainly for health reasons 20:03:40 unturkey? 20:03:43 like ... tofurkey? 20:03:43 i am afraid of soy 20:03:49 afraid of soy?! 20:03:50 how?! 20:03:52 similar, but I think it was grain 20:04:01 i had this little problem with soy when I was younger 20:05:06 do tell :) 20:05:08 * MysticOne is curious 20:05:13 maybe like my mom and cottage cheese and tuna fish 20:05:50 i am not too eager to experiment whether or not I will get the dire and repeated necessity and have to head to the water closet 20:07:08 the specific thing was a chocolate soy drink 20:07:09 :( 20:07:19 I'm not big on soymilk or anything like that 20:07:32 because apparantly my mother had a hell of a time finding anything I could drink when younger 20:07:53 because I couldn't take cow's milk (which I DO NOT drink any of that these days, but used to) 20:08:02 i couldn't take soy milk either 20:08:31 wow ... 20:09:14 --- join: cara (~cara@cs6625132-244.austin.rr.com) joined #forth 20:09:19 oops 20:09:21 --- part: cara left #forth 20:09:26 it was a girl! 20:10:06 lol 20:10:07 yup 20:10:11 whats more she CODES!!!! 20:10:14 just not forth :/ 20:10:14 hehehe 20:10:17 c++ 20:10:18 ick! 20:10:31 so she meant to join #C++, but joined #Forth instead? 20:10:33 what if she programmed with D 20:11:41 I program in n/a 20:11:42 :) 20:12:00 --- join: imaginator (~gps@166.70.196.201) joined #forth 20:21:54 --- join: Smerdyakov (~adam@206.169.168.190) joined #forth 20:22:45 welcome Smerdyakov 20:23:06 hi 20:23:21 * kc5tja loves soy milk. I drink chocolate soy milk all the time. :) 20:23:21 imaginator, Smerdyakov you two new in here ? 20:23:30 kc5tja: yeah, but you're... you 20:23:30 * I440r_ icks 20:23:31 lol 20:23:34 * MysticOne runs! 20:23:38 I drink no milk whatsoever 20:23:58 i drink milk, its got lotsa calcium in it and its in coloidial form too 20:24:04 the ONLY way to take minerals 20:24:07 Smerdyakov is a static typing master, he would never go for lack of typing 20:24:08 I eat cheese 20:24:11 mmmm, cheese 20:24:15 I'm just watching. 20:24:22 I heard you have entertaining arguments here sometimes. 20:24:27 Smerdyakov, lol 20:24:35 * kc5tja should probably /ignore him right now then. :) 20:24:35 im having a day off :P 20:24:53 i could start one just for you tho.... 20:24:57 how about this 20:25:02 OK, that would be super! 20:25:05 "typing is a crutch for poor programmers" 20:25:08 -- chuck moore 20:25:08 :) 20:25:14 I440r_: :) 20:25:16 Is that an argument? 20:25:18 kc5tja: after watching this DT video today... I saw some bands playing on SNL and stuff (reruns on Comedy Central) and it was so ... crappy. Like, they were so elementary in hwo they do everything 20:25:21 I mistook it for a quote. 20:25:25 no wait, let's just disappoint Smerdyakov and argue about tabs-vs-spaces 20:25:26 its a statement that could produice an arguement :) 20:25:37 kc5tja: makes me realize just how shitty the music industry is 20:25:41 I440r_: ive presented him that quoote a feew times :) 20:25:45 and how the good bands are largely ignored 20:25:49 Smerdyakov: It is a quote. 20:26:16 Sonarman: lol 20:26:34 i can use my "object obfuscation" (tm) statement!!! 20:26:35 MysticOne: Precisely why I don't listen to the radio anymore. 20:26:45 kc5tja: oh I haven't listened to music radio in AGES 20:26:51 kc5tja: I listen to NPR a lot, and that's it 20:26:53 or CDs 20:26:58 NPR is good. 20:27:01 * MysticOne nods 20:27:12 I wish I were more musically inclined, so that I can create my own progressive rock tunes. 20:27:55 i remember listening to a radio station in california when i was in the airforce. they had 15 minutes of news on the hour and half hour. leaving half anour of the hour for music. however - they had at least 15 minutes of adverts per hour and 10 minutes of chitchat 20:28:00 leaving 5 minutes per hour for music 20:28:01 erm 20:28:15 is it just me or is there something drastically wrong with that ? 20:28:39 heh 20:28:40 ouch 20:29:01 * I440r_ avoids npr 20:29:16 I440r_: Of course you do. You're a neocon. 20:29:32 but i listen to rush limbaugh on occasion. i do detune when he goes on about how great HE is.... 20:29:36 And all conservatives want NPR to be shut down (some even publicly stated this). 20:29:46 no 20:29:51 i dont want it shut down 20:30:01 i think they have EVERY right to say everything they do 20:30:14 i would defend that right if anyone ever tried to take it away from them 20:30:25 i like "Wait Wait! Don't Tell Me" 20:30:26 i would use my guns to protect their first ammendment rights 20:30:36 I440r_: Then you better start defending, because they're routinely under attack from conservative interests. 20:30:37 How many of you here are American Libertarian Party type people? 20:30:39 kc5tja: mark is only a 4th conservatist :) 20:30:40 would they use their first ammendment rights to defend my second ? 20:30:57 Smerdyakov: I'm green party. 20:31:01 kc5 i know - thers are bad sheep in every flock 20:31:02 Smerdyakov: I'm me party. 20:31:13 I'm not talking about actual party membership. 20:31:15 I allow nobody else to define anything I believe in. 20:31:24 I'm talking about "the market is the best" style beliefs. 20:31:31 * I440r_ is a gun totin hard core conservative. 20:31:39 only hardcore as a backlash against the clinton era 20:31:46 I am patently not in agreement with "The market is the best" philosophy. 20:31:47 i have serious reservations about bush however 20:31:54 he is destroying the constitution 20:31:57 No. I am the best. 20:31:59 ashcroft is a traitor 20:32:21 i think the single most important thing bush could be doing right now is recess appointments 20:32:28 he is TOO much of a wimp to do them though 20:32:48 I think the single most important thing bush (I won't even grant him the honor of a proper noun) can be doing right now is packing his bags. 20:32:50 I think the single most important thing people could do now is stop worrying about elected leaders and take control of their own lives. 20:33:14 Oh, an O'reilly "Sobriety and Personal Responsibility(tm)" adherent. 20:33:23 bullshit. That would be really bad. They should give me control of their own lives. 20:33:25 Smerdyakov, were heading for another revolution methunks 20:33:27 As if I'm not already personally responsible for all my actions already. 20:34:02 I440r_: yes. In this revolution I will take control. 20:34:09 Smerdyakov: But my personal responsibility has not given me student financial aid. No, it's taken it away, in fact. It hasn't given me a job -- no, once again, it's taken it away. 20:34:11 kc5 you only think you are - for instance in the united states you do NOT own your land (assuming you have any) the governmetn does. you rent it off them 20:34:12 FUCK personal responsibility. 20:34:19 kc5tja, I think you're misinterpreting what I said if you've now concluded I'm "a conservative." 20:34:21 It's time for the GOVERNMENT to take responsibility for ITS actions. 20:34:25 chandler no way - im going to be dictator of the world 20:34:32 I440r_: no. I am much smarter than you are. 20:34:33 kc5 !!!!!!!!! 20:34:35 I also believe in reason. 20:34:35 bingo!!!!!!!!!! 20:34:35 You don't have problems with governments if you don't have governments. 20:34:39 Smerdyakov: please dont pollute this channel as yoou did hprog 20:34:40 whoa, I left for just a few minutes and now we're into politics! 20:34:41 i have bigger guns than you do :P 20:34:56 chrisrw, sorry too late - :) 20:35:01 I440r_: are you really sure? 20:35:16 Smerdyakov: I'll agree with that. A sound "hear-ye" too. 20:35:25 chandler if not ill MAKE new ones... well. i almost had that ability a while back 20:35:35 almost bought a barrel lathe 20:35:37 I440r_: which is why i lft hprog 20:35:40 one that does the rifling too 20:35:49 wht is hprog ? 20:36:12 I440r_, sorry I was busy. no I'm not new. I was formerly _gps_ or gps_ when I came here. 20:36:16 of course, not having governments means people have to be intelligent 20:36:16 #forth diveges into these sorts of discussions every now and then - its not Smerdyakov 20:36:18 I440r_: and im pretty sure hees pasting what i write there to make fun of me 20:36:19 in the US, I don't see that happening 20:36:26 oh yea i remember :) 20:36:44 MysticOne, why not? 20:37:14 I440r_: yes, but i hate them and so do many others 20:37:16 the sheeple are too stupid to know they are having the wool pulled over their eyes 20:37:18 Smerdyakov: because we're a nation of morons who couldn't care less about the rest of the world 20:37:21 It's time for the smart people to disassociate themselves from humanity and leave it in the dust. 20:37:33 MysticOne, and that all changes in a generation with reformed education. 20:37:47 chandler, Atlas Shrugged advert? 20:37:47 I only care about it to the extent it affects me, including the fact that humanity is wasting a lot of resources I could be using. 20:37:50 Smerdyakov: which requires government :) 20:37:52 Smerdyakov: no, me advert 20:37:56 MysticOne, how so? 20:37:59 Smerdyakov: nice dream, but I just don't see it happening in the forseeable future 20:38:03 chandler, are you an Objectivism fan? 20:38:04 who's going to reform education? 20:38:10 MysticOne, people. 20:38:10 Smerdyakov: no. I'm a me fan. 20:38:25 chandler, the two are not mutually exclusive, so your answer doesn't make sense. 20:38:58 Smerdyakov: and these people would be...? 20:39:09 Smerdyakov, btw who told you we have intesting arguements in here ? 20:39:10 MysticOne, the people who see the benefit of it, which should be a lot of people. 20:39:15 * I440r_ prepares to op/kick/ban :) 20:39:21 I440r_, chrisrw and jdrake. 20:39:26 Smerdyakov: you won't hear me ever say I'm a "fan" of an idea somebody else came up with. If that makes me an Objectivist you may describe me as such, but only for descriptive purposes on certain issues, not as a matter of identity. 20:39:37 --- nick: I440r_ -> I440r 20:39:41 Smerdyakov: yes, all the people who also don't vote only along party lines, the people who do all they can now to try and change things, but who's voices are stifled by the moronic majority 20:39:43 --- mode: ChanServ set +o I440r 20:39:47 :) 20:39:48 Smerdyakov: isn't going to change for a long, long time 20:39:51 --- mode: I440r set -o I440r 20:40:06 chandler, OK. Good thing not everyone thinks like you, or we'd have no scientific progress. No one would want to say "I'm a fan of the integral calculus." :) 20:40:44 Smerdyakov: you can't be a fan of a mathematical concept. That's kind of silly. :-) 20:41:06 anyway, I don't agree with the objectivists on a few things, including morality 20:41:08 Why not? I'm using "fan" to mean "a person who appreciates the value of an idea and may use it to guide his future decisions." 20:41:14 I'm a fan of lots of things 20:41:16 I'm a fan of fans 20:41:34 * kc5tja is a fan of Forth. 20:41:37 grr the AC in my car is busted. grr 20:41:41 Smerdyakov: ah. in that case then, I'd say "no". I'm not a fan of Objectivism. 20:41:54 I440r: That's because you're not a fan of the fan. :) 20:41:56 chandler, is that like objectiv c ? 20:42:03 heh 20:42:12 I440r: I do appreciate the value of ObjC :-) 20:42:20 Objective C rocks. 20:42:21 though the word "fan" means fanatic 20:42:25 I'm not fanatical about anything except Dream Theater 20:42:30 and Stargate SG-1 20:42:34 Objective C. Bleh 20:42:45 Smerdyakov: Whatever. 20:43:07 Smerdyakov: don't you have some types to be declaring or something? 20:43:12 no its because its an old car thaqt used to have freon in it - i recently had it recharged but they arent allowed to use freon. unfortunatlyu when you recharge an older car with NOT-freon you also have to replace every single seal in the ac shystem because the new crap eats throu the old seals 20:43:44 chandler, I guess if you're in the baiting mood, I'd might as well ask you all to convince me to use Forth. 20:44:09 Smerdyakov, i think your a lost cause - you probably couldnt learn forth now :) 20:44:35 Smerdyakov: imagine that you could actually take portions of your compiler, and instead of running them on your computer, run them on your brain 20:44:39 and you would take how forth puts almost every other languaqge to shame as a PERSONAL insult :) 20:44:48 OK, Mr. I440r has had his say. Anyone else? 20:45:00 then your brain could perform type checking and all this nifty stuff 20:45:06 Well, how about this. 20:45:12 This is a channel regarding Forth. 20:45:28 If you don't appreciate Forth, then your presence here is probably not going to satisfy you. 20:45:29 tho we do digress... 20:45:41 now, then since your brain is running part of the compiler, and doing the type checking and all the rest, your computer doesn't really need to do it 20:45:44 he cant appreciate forth till he learns it 20:45:57 if thats his intent then being here is a good way to start 20:46:01 "bleh" to ObjC? bah 20:46:07 * kc5tja is a fan of both typeless, dynamically typed, and statically/strongly typed languages. I do not exclusivize one at the expense of the others. They all have their place. 20:46:08 then, the output language from your brain then would be Forth 20:46:24 er, delete one of those "then"s 20:46:34 It also happens that 99% of the world's software is written in software which is not strongly typed. 20:46:44 "would then be" not "then would be" 20:46:45 (e.g., C, C++, Python, Perl, et. al.) 20:47:08 Nearly every extremely strongly-typed languages, Oberon, eiffel, et. al., have failed, save one, Ada, and only because of government intervention. 20:47:22 "strongly-typed" is a misnomer. Say "statically typed" 20:47:23 Speaking of which, I absolutely *love* Oberon. 20:47:25 I wouldn't say ML or Haskell has failed. 20:47:32 chandler: No, I mean strongly typed. 20:47:38 They have tremendous followings. 20:47:41 Smerdyakov: I would. 20:47:52 kc5tja: define "strongly typed" then 20:47:59 typedef int foo; 20:48:01 kct some woudld say forth has failed 20:48:01 typedef int bar; 20:48:02 kc5tja, what defines them as failures? 20:48:03 foo a; 20:48:04 bar b; 20:48:12 a = b; /* in a statically typed language, this is legal. */ 20:48:21 /* In a strongly typed language, this is ILLEGAL. */ 20:48:35 chandler, OK, now you just said something about brain output language. Can you explain why that should make me want to use Forth for software development? 20:48:36 I440r: Forth has failed. 20:48:38 Failed miserably. 20:48:38 ok. AFAICT, the definition of "strongly typed" is not really witten down anywhere 20:48:59 kc5 i dont think it has really - i think alot of companies use it but keep that secret :) 20:49:09 Smerdyakov: because my brain is much faster than my computer, and so can run this part of the compiler and produce better output code providing the programming of my brain is good 20:49:15 Perhaps, but that's a failure as far as I'm concerned. 20:49:18 actually i agree it has failed 20:49:22 hmm 20:49:22 but not totally 20:49:28 chandler, OK, and how have you evaluated the truth of that statemen>? 20:49:32 it will never gain universal acceptance 20:49:32 It was a success for Charles Moore. 20:49:33 Having a few highly narrow niche markets for a language is not conducive towards 'success.' 20:49:43 Smerdyakov: I said it. Therefore, it's true. 20:50:06 thats forths one flaw 20:50:17 imaginator: "Nobody programs in Forth anymore. It's sad that we're all sitting here, talking about it." -- Chuck Moore 20:50:18 ans is its other flaw 20:50:20 If you're not in the mood to try to convince me, that's fine. But I was kind of hoping you'd have some argument to make. 20:50:37 Smerdyakov: I just did. If you don't really accept that last statement, then forth probably isn't for you 20:50:46 what does chuck program in now then? :) 20:50:52 ianp: Forth 20:50:57 but the bottom line is that my brain can do code transforms at both a high and low level simultaneously and quite fast 20:51:04 ianp: colorforth, I think 20:51:06 But just because he uses it, doesn't mean it is a commercial success. 20:51:09 chandler yeh 20:51:16 seems as if 20:51:21 Of course, technologically, it's successful -- it works, it's turing complete, does everything any other language can do, et. al. 20:51:23 forth is obviously financially viable still 20:51:25 What about the OpenFirmware programmers? What about Fedex? 20:51:26 But, nobody uses it. 20:51:27 thats one thing i want to try 20:51:29 Nobody makes money from it. 20:51:35 chandler, and how do you weight that vs. software engineering properties like readability of code by others? 20:51:41 There is precisely 1 Forth dialect for every 1 person who uses it, etc. 20:51:51 but then again, economic value is not the only measuring of success 20:52:05 Smerdyakov: not very often. I use Common Lisp most of the time. but the argument I presented is indeed a valid argument for using Forth, if this ability is of use to you 20:52:11 kc5tja, is that why I have the urge to make my own forth? 20:52:13 imaginator: OK, that's one company who uses it in ONE product, who expressed a strong desire to change it over to C. 20:52:17 ugh 20:52:22 :( 20:52:23 forth succeeded in making a new type of language, it seems 20:52:39 imaginator: OpenFirmware is going nowhere. It's used in every machine except the one that matters most, and I don't think it's going forward as a standard. 20:52:39 Well I guess I'm in love with a corpse. 20:52:54 chandler, it doesn't sound like it's of use to me. 20:53:01 imaginator - hey, that's ok. i can think of lots of dead peopple i'm in love with :) 20:53:01 Smerdyakov: I440r wouldn't ban me or anybody else unless they actually did something. 20:53:07 whom i never met 20:53:08 Smerdyakov: It's invaluable when bringing up new hardware. 20:53:10 Smerdyakov: perhaps the exersize gained by trying this out is actually of use to you too 20:53:24 Smerdyakov: he reespects opinion 20:53:25 Smerdyakov: er, exercise 20:53:45 To me the biggest problem with Forth is that people that program in it try to use such short words. 20:53:49 Smerdyakov: because Forth involves training your brain to do part of the compilation phase, which means (ultimately) making you smarter 20:53:52 Oh, I'm entirely in agreement with the use of Forth in testing new hardware platforms. 20:53:56 ' is completely illogical as a dictionary search word. 20:53:57 But that's certainly a "nice" use. 20:54:04 Smerdyakov: unlike you and your backstabber pet 20:54:12 I'm also convinced of its use as a non-human generated target for compilers. 20:54:38 chandler, that doesn't necessarily mean you'll produce the software you want more quickly. 20:54:53 LISP inspired Forth, and it's pretty much dead too. At least as dead as Forth, yet to me it will never die. 20:54:58 Smerdyakov: not necessarily, but making yourself smarter isn't exactly a bad side effect 20:54:58 Smerdyakov: Interestingly, I disagree with that. :) My friend Billy and I have had some discussions on this, which we've just agreed to disagree with. But I digress. 20:55:03 imaginator: Not true! 20:55:09 the lisp community is /far/ less depressed than forth 20:55:11 imaginator: Lisp is actually more alive than Forth is. 20:55:19 chandler, I guess I prefer math for making myself smarter. :D 20:55:22 in over 8 years of irc ive banned ONE person 20:55:26 and that was on undernet 20:55:28 :P 20:55:35 partly because we're not moping around saying "lisp is dead; nobody's using it" 20:55:40 I440r: for what? :) 20:55:42 we're building better programming tools 20:55:42 * kc5tja banned somewhere close to 20 to date. 20:55:53 Smerdyakov: math tickles different parts of the brain than programming 20:55:55 * kc5tja is much less tolerant when it comes to my banning criteria. 20:56:06 and Forth can teach one much about code structuring 20:56:07 chandler, I tend to believe they tickle the exact same parts. 20:56:25 correciton, I think they tickle the same parts in different ways 20:56:25 kc5tja: would you ban me as I am now? :) 20:56:36 just as different parts of math tickle in different ways 20:56:53 chandler: Well, I'm not sure that's the reason. I think the reason is that nobody is using Forth to write mission critical applications. I'm intending on changing that for myself, via FS/Forth (again, 1 user, 1 forth). 20:56:55 in particular, programming relies much more on the ability to predict the result of a complex operation 20:57:00 err i ferget :) 20:57:07 chrisrw: I've considered it, especially when you called everyone bastards. :) 20:57:15 chrisrw: Just do go loopy on me, and you'll be fine. 20:57:21 I'm writing my own Forth too, so I guess I contribute to the 1 user, 1 forth statement. 20:57:24 chandler, writing proofs relies on the ability to predict the results of complex operations. 20:57:29 yes, it does 20:57:37 but in kind of a different way 20:57:46 at least, such is my view 20:57:50 kc5tja: er? 20:57:54 imaginator: Precisely why I prefer to think of Forth not as a specific implementation, but a philosophy. 20:58:05 kc5tja: explain the lattr line... 20:58:09 maybe we can hook up forth users to a MEG and see what portions of their brains are tickled :-) 20:58:20 chrisrw: Don't worry -- I'll let you know when I'm intending to get administrative on you... :) I always warn people first. 20:58:31 I agree that it's a philosophy. In fact I felt that way before I read Charles Moore say that. 20:58:54 I think of Forth more as a Jazz musician thinks about music. 20:59:03 hey, I play jazz :-) 20:59:10 To me, Forth is jazz -- software improv, but within a form. 20:59:20 There are different types of jazz, and thus, different types of Forth. 20:59:23 jazz is goood... :) 20:59:55 You have ANSI Forth (straight-ahead jazz), non-ANSI, but punctuated Forths (bebop jazz), and you have your various ColorForth variants (avante guarde jazz). 21:00:01 The parallels are very, very, very similar. 21:00:15 :) 21:00:30 "I *am* the Kenny G of Forth!" -- new sig? 21:00:36 UGH 21:00:43 Kenneth G? 21:00:45 Languages in the C family are more closely related to rock or blues, while Oberon/Ada/et. al. are more closely related to classical music. 21:00:52 Dude, Kenny G is *NOT* a jazz musician. 21:00:54 kc5tja: I was going to ask where Lisp fits 21:00:58 He's an elevator music musician. 21:01:03 hee hee 21:01:03 he's a musician? 21:01:07 haha 21:01:20 chandler: I think that's more in the jazz arena too; I cosnider Forth and Lisp to be very, very, very close cousins. 21:01:32 What are ML and Haskell related to? 21:01:44 I'd like to claim Keith Jarett of Forth, but I'm not /that/ good 21:02:00 * MysticOne just wishes everyone could be as good as DT :( 21:02:06 Smerdyakov: I think those are more closer to classical music a la Mozart and Beethoven, due to their clarity and purity, simplicity, yet rigidity. 21:02:07 of course, then DT wouldn't be so phenomenal ... so maybe not 21:02:52 so Java is a boy band? 21:02:58 ML is probably inspired by LISP. I think it came later. 21:03:08 So here's a question. How do you guys feel about mobile code and Forth? Would you want to run applets written in Forth, have Forth programs downloaded to your smart card, etc.? 21:03:08 chandler: Java is in the same camp as Brittney Spears 21:03:14 kc5tja: same type of stuff 21:03:26 I'm trying to figure out what the electronic music I listen to is 21:03:29 kc5tja: heeh 21:03:36 Java has big fake boobs. 21:03:41 imaginator: hahaha 21:04:32 Smerdyakov: Good question. I'm not sure I'd have an answer for that right away. My immediate response is, "On the condition that I can fork a separate address space easily," with the keyword being easily. If it couldn't be done easily, then I'd just assume use Oberon. 21:04:33 The Brittney analogy is good. The managers would be the boobs. 21:04:53 imaginator: Java has lots of boobs. That's why all the managers are attracted to it. 21:05:10 I like boobies though 21:05:21 boobs ar good :) 21:05:26 Smerdyakov: hm... maybe I'd pick Eiffel for that. not sure. 21:05:38 kc5tja, separate address spaces are lame when you don't need to have them for well-behaved programs. 21:05:48 --- join: Soap_ (~lave@202-0-42-22.cable.paradise.net.nz) joined #forth 21:06:14 Most Smalltalk systems that came before Windows and the Mac were single-address-space systems. 21:06:38 And they didn't have core dumps, and other problems that so many of us deal with now. 21:06:40 Smerdyakov: Even with well-behaved programs, I'd like the option to have them simply because every so-called "safe" environment has had holes in them that can be exploited. 21:07:12 * kc5tja LOVES single-address space system.s 21:07:21 They're fast, they're clean, and easy to maintain. 21:07:27 * kc5tja pats his Amiga 500. 21:07:37 :) 21:07:48 Proof-carrying code is pretty damn safe. What exploits do you know of for a PCC system? 21:07:56 So let's build a SAS system on top of the PC and call it uhm... ColorForth :) 21:08:06 Smerdyakov: Define a 'proof-carrying code.' 21:08:43 kc5tja, proof carrying code is a technique where a machine code program comes with a machine-checkable proof that it has the properties you care aout. 21:08:44 about 21:08:50 Like only accessing memory it ought to access. 21:09:20 there are an infinite number of possible logic flaws in any system 21:09:32 Smerdyakov: Well, to answer your question, I want to say this: just because a flaw hasn't yet been discovered in a PCC system doesn't mean that one doesn't exist. 21:09:40 I'd rather the sources were easy to read and the people working on it could communicate clearly about their intentions for the code 21:09:53 Smerdyakov: On that basis alone, I would feel safer running mobile code in separate address spaces. 21:10:10 chandler, why is that? Sounds inefficient to read the source of every program your smart card downloads. 21:10:23 Smerdyakov: oh, I meant for the humans working on the project 21:11:01 chandler, OK. How does this help you feel safe running mobile code? 21:11:05 heh, im getting a sparc 20 for free :) 21:11:14 chrisrw: where from? 21:11:33 my friends dad 21:11:48 Smerdyakov: heh. well all the assurances in the world wouldn't make me feel 100% secure anyway. Even telling me it uses PCC doesn't help 21:11:57 chrisrw: oh. I'm looking for a source for one :-) 21:12:18 Smerdyakov: so, if I were to advocate a language, I'd rather pick something that helps the people who are writing it write code without logic flaws 21:12:18 chandler, it should help. You can look at the proof checker code, since it should be very small. 21:12:21 :) 21:12:52 chandler, ah, but good type systems accomplish BOTH of those! :D 21:13:02 Oberon's type system is pretty much a proof-checker in its own right. 21:13:19 And it's remarkably good at it too. 21:13:20 hey, I love typing. 21:13:26 Native Oberon is a rock-solid system. 21:13:34 you will never hear a common lisper say anything bad about typing. We depend upon it. 21:13:35 rocks are rock solid I've heard 21:13:44 kc5tja, the problem is that it's still pretty complicated, requiring a large trusted computing base. 21:13:53 kc5tja, not to mention dealing with code not written in Oberon. 21:13:59 Which Oberon doesn't do. 21:14:00 :) 21:14:11 And of course you need a large, trusted computing base. 21:14:16 So does any other 'trusted' system. 21:14:31 Any trusted system needs a sufficiently large, untrusted core on which the trusted code is built. 21:14:46 (by untrusted, I mean unchecked and `assumed' to be good) 21:14:49 Nah, not so large. 21:14:53 See "foundational proof carrying code." 21:15:01 I don't see what is so large about Oberon's runtime environment. 21:15:06 anyway, bottom line is that I don't trust systems. I don't use e-cash et al, and I use a combination of debit cards and credit cards wisely. So all this is irrelevant to me :-) 21:15:08 URL? 21:15:29 http://www.cs.princeton.edu/sip/projects/pcc/ 21:15:35 I guess I've said enough nonsensical stuff in there that I'm ignored :) 21:15:49 Oberon's runtime is small compared to most. 21:15:51 IMO 21:16:45 I'm a member of a project making something even niftier than FPCC, with a bit larger trusted computing base. 21:16:57 It's still forgeable. 21:17:16 Smerdyakov: are you at a university? 21:17:23 Forgeable? No, not forgeable; possibly exploitable for a while with a bug in the teeny tiny (relatively) trusted base. 21:17:34 But the concept of "forging" is not related to proof carrying code. 21:17:41 chandler, yeah 21:17:49 which, if I could ask? 21:18:01 UC Berkeley 21:18:25 aah. Bezerkely. 21:19:01 Smerdyakov: I'm not seeing how it can't be forgeable. 21:19:23 kc5tja, familiar with formal logic and proof systems? 21:19:26 Also, does this concept apply to all languages, or is it strictly ML- or Haskell-based? 21:19:30 kc5tja: have a little understanding. The man's from UC Berkeley. 21:19:39 All type safe languages 21:19:51 "type safe"? 21:19:52 Or I suppose I should just say "safe languages" 21:20:00 heh. wow. you are quite the troll 21:20:05 Smerdyakov: So it depends on the correctness of the compiler to generate proper PCC. 21:20:13 If the language is such that only programs that have certain properties are allowed, it should be easy to produce proofs of those properties for programs. 21:20:22 chandler, sorry. It's a technical term in my research area. 21:20:32 kc5tja, no. 21:20:42 kc5tja, it only depends on the correctness of the proof checker. 21:20:49 Then it should be applicable also with Lisp or Forth as well as C. 21:20:57 Smerdyakov: it's a technical term only because the static typing people wish to piss everyone off 21:20:59 kc5tja, if the compiler breaks, the worst that happens is that your checker says "hey there Pal! Don't run this program!" 21:21:15 Smerdyakov: oh. and what if your compiler is trojaned? 21:21:17 kc5tja, to different extents, sure. 21:21:26 Hmm... 21:21:29 kc5tja, can Forth programs 'segfault'? 21:21:34 Yes. 21:21:36 Absolutely. 21:21:51 mine dont but jc's using my compiler do :) heh 21:21:53 Forth hides nothing from the programmer. If you really wanted to, 0 0 ! will happily segfault most Forths under Linux. 21:22:06 oh yea lol 21:22:08 Then Forth isn't safe. 21:22:15 You'd have some trouble proving memory safety of its compilation results. 21:22:16 Smerdyakov, no - its MORE safe 21:22:22 The problem in general is probably undecidable. 21:22:26 Smerdyakov: So it depends on the correctness of the compiler to produce properly matching PCC for the emitted raw binary. 21:22:37 Smerdyakov: can a ML program produce a run-time error? 21:22:37 I440r, maybe safer from the point of view of smarty pants human beings, but not dumb compilers. 21:22:59 chandler, only things like running out of memory. Everything else is handled in a well-defined way. 21:23:02 Smerdyakov, the compiler is supposed to be dumb 21:23:10 hers a quote i apply to forth too 21:23:19 Smerdyakov: errors are well defined too. That didn't answer the question. 21:23:24 I440r, yeah. So we consider this when choosing what is reasonable to expect compilers to do. 21:23:31 "unix wasnt designed to prevent people from doing stupid things because that would stop them doing clever things" 21:23:38 yet unix is considered very secure 21:23:43 I440r: bwahahahaha 21:23:51 windows on the other hand was designed to stop people doing stupid things 21:23:53 go figure 21:23:59 chandler, an ML cannot have a segmentation fault. It can't try to execute a bad opcode. Etc. Of course errors broadly defined can still show up. 21:24:00 that's a WIB argument. 21:24:05 s/an ML/an ML program 21:24:06 wib ? 21:24:12 Smerdyakov: I wasn't asking about from the machine perspective 21:24:20 I asked if it could encounter a run-time error of any sort 21:24:24 I think it's safer to say that Forth is not *intrinsically* safe. Neither is C. However, Perl is more safe. 21:24:25 I440r: "worse is better" 21:24:28 Smerdyakov: However, Oberon cannot segfault (unless you import the SYSTEM module, which marks said module as 'unsafe' anyway). 21:24:29 But I've made Perl segfault, too. 21:24:40 I440r: http://www.dreamsongs.com/WorseIsBetter.html 21:24:42 chandler, define "run-time error." 21:24:51 Smerdyakov: you try to open a file that does not exist. What happens? 21:24:53 chandler - it seems that way but its not exactly a right fit for that label 21:25:12 chandler, a function return indicates an error, or an exception is raised, or something else similar. 21:25:13 I440r: I was referring to a term Richard P Gabriel defined in that article 21:25:13 forth doesnt protect the coder from himself 21:25:15 What about Prolog? 21:25:17 Writing in Forth is no more or less safe than writing assembly. 21:25:18 foot in self shoot 21:25:22 Smerdyakov: ok, so ML has exceptions? 21:25:27 chandler, yes. 21:25:34 Smerdyakov: and such exceptions can go unhandled? 21:25:47 Define unhandled. 21:25:51 chandler, sort of. There's a top level handler that does something like tell you which exception went unhandled. 21:26:00 languages that protect the developers from themselves are LESS safe in my opinion 21:26:00 Most microprocessors don't have divide by 0 checking. 21:26:01 ok. and this is "safe"? 21:26:21 because they HURD the developers into "acceptable" useage 21:26:21 chandler, yes. It prevents buffer overflows and other such nasty things. 21:26:57 It prevents a program for screwing over any other program, even if they share an address space. 21:26:58 I440r, there are some things you say that just make me laugh. 21:27:18 Smerdyakov: how about race conditions? :-) 21:27:21 jc for instance ? 21:27:29 "languages that protect the developers from themselves are LESS safe in my opinion" 21:27:43 chandler, that level of problem is much easier to solve when you don't have to worry about wild memory accesses. 21:28:17 a good paralell might be "a government that protects its citizens from themselves CANNOT be trusted" 21:28:33 chandler: Another thing to consider is that such a PCC-based system won't protect the programmer from writing buggy algorithms, only buggy code. 21:28:40 No, that's not a good parallel 21:28:44 ok. my point is that there are an infinite number of ways to write a crappy, vulnerable program. You can seal a few of them off, sure, but what is most important in writing good secure code is not so much what the compiler does for you as whether you have a team of people who understand each other and the code, and actively seek out any security vulnerabilities in it 21:28:49 on /an/y level 21:28:51 E.g., if an algorithm is bad, then the proof for that algorithm must also be bad as well. 21:28:55 You're talking about free choice vs a stupid piece of silicon. 21:29:10 and "much easier" doesn't get you much when dealing with an infinitely hard problem 21:29:10 ! 21:29:19 chandler, the percentage of exploits that involve buffer overruns and other simple attacks argues against your viewpoint, from a practical standpoint. 21:29:36 Barring the fact that many people are stupid, a piece of silicon does EXACTLY what you tell it. If you tell a person to bludgeon themselves to death with a rock, they're not going to. 21:29:42 chandler it does when "much easier" means "much easier to break the complexity down into managable pieces" 21:29:50 Smerdyakov: rootkits and viruses are spread as buffer overflows, but systems are hacked by expert hackers on the basis of logic flaws 21:29:50 kc5tja, have you understood how the idea of "forgery" is not relevant in PCC? 21:30:06 I440r: there's nothing managable about an infinitely hard problem 21:30:13 chandler sure there is 21:30:16 just ignore it :P 21:30:21 right... 21:30:25 DENIAL WORKS!!!!! 21:30:30 hhe 21:30:33 chandler, logic flaws are much easier to find when programs are required to have more structure. 21:30:35 Smerdyakov: My comment was independent of forgery. I'm saying if the programmer writes a buggy implementation of an algorithm, or just plain uses the wrong algorithm for the task, the compiler/trust mechanism won't stop that. 21:30:50 Smerdyakov: perhaps. that's why I raised Eiffel. 21:30:51 In isforth, c, stores a byte, , stores 32 bits. Is there a 16 bit store? 21:30:55 kc5tja, right, but he can't read/write outside of his address space, all the same. 21:31:08 Smerdyakov: Right. I was commenting re: chandler's concerns, specifically. 21:31:26 Smerdyakov: but since a logic flaw involves an execution path which does not generate a run-time error, even static typing can't save you 21:31:31 chandler, why Eiffel instead of ML or Haskell? 21:31:47 chandler, I wouldn't say that. More information makes the job of automated bug finding tools easier. 21:31:51 Smerdyakov: because DBC is a good tool for holding programmers to a standard 21:32:05 not because Eiffel is a better language in general 21:32:11 btw, does ML have unwind-protect? 21:32:28 I've seen that before, but I don't remember what it is. 21:32:34 w, 21:32:50 and thats not "store" its "compile" 21:33:02 literally the COMMA words ARE the compiling words 21:33:15 http://www.lispworks.com/reference/HyperSpec/Body/s_unwind.htm 21:33:30 ! <<-- thats store :) 21:33:45 OK, I know that. Just wasn't thinking when I was asking. 21:33:47 chandler, looks easy to implement. Any reason why you would think it wouldn't be? 21:33:56 Smerdyakov: because google didn't turn up anything 21:33:58 I mean, easy to implement from basic ML constructs. 21:34:01 c! ! w! 21:34:03 those store 21:34:13 Not "easy to include in a language/compiler." 21:34:14 jc heh i know you know :P) 21:34:26 Just run the body inside an exception handler. 21:34:32 but others mihgt not so i clarify 21:34:34 can I get gforth to output executeables for macosx? 21:34:40 Am I missing some catch that would make this a possibly hard problem? 21:34:43 that catches all possible non-local exits? 21:34:47 jdake err say again in english ? 21:34:48 Yes. 21:34:51 ohh 21:34:53 erm i dunno 21:34:55 well, CATCH would be one possible way to make it hard :-) 21:34:59 i thunked you said "for macros" 21:35:07 heh 21:35:21 isforth doesnt have catch/throw. YUKK 21:35:21 Some compilers have first-class continuations, but those are silly. :D 21:35:22 jdrake: You can't even get gforth to output executables for any platform at all. 21:35:40 gforth cant turnkey ? 21:35:44 oh i see 21:35:45 no wonder i dont like it 21:35:51 No. gforth cannot turnkey as far as I know. 21:35:54 what can I get a forth that will work? 21:35:58 isforth 21:36:03 I440r: wrong platform 21:36:05 Turnkeying is a highly platform specific operation, and since gforth is very portable, it makes sense that it can't. 21:36:06 isforth will produce turnkey applications 21:36:08 oh yea 21:36:08 jdrake: tried PowerMops? 21:36:08 lol 21:36:14 Is there an isforth equivalent to cell? If I'm (attempting) to write portable code, how do I know what width , compiles to? 21:36:15 You can get the same effect though using well-formed scripts. 21:36:18 rm -rf ppc 21:36:22 chandler, what is it in Lisp that makes unwind-protect complicated? 21:36:26 Just put #!/bin/gforth in the first line or something. 21:36:37 Smerdyakov: it's not complicated, just often missing from languages 21:36:41 you prolly need a space after the #! 21:36:44 I440r: Sorry, you meant to say rm -rf x86 21:36:46 #! /bin/gforth 21:36:53 jdrake: PowerMops can generate executables, I believe 21:36:58 I440r: Yeah, I forgot about that. 21:36:59 kc5 yer prolly right lol 21:37:04 chandler, what is it that makes it complicated enough to not generally be implementable from what the average language provides? 21:37:19 kc5 i only know of the "space" thing because isforht needs it too - it defines #! as an alias for / 21:37:23 I440r: I know I'm right. x86 sucks ass badly. PowerPC and MIPS are both kick-butt RISC machines. 21:37:31 yeee 21:37:37 now this website: http://www.panix.com/~goshawk/Mops/_about.html is absolutely abomitable 21:37:43 chandler, it looks to me like it only makes sense in CL because of the wide range of ridiculous control flow possibilities. :D 21:37:44 kc5 ive always had a soft spot for 68k over x86 too 21:37:51 Smerdyakov: heh. and CL doesn't have call/cc 21:37:57 but i actually love coding x86 assembly :) 21:37:59 68k is not RISC :) 21:38:10 its convoluted bullshit is fun :) 21:38:17 zardon ya dont say! 21:38:18 lol 21:38:18 Smerdyakov: but yes, if your control flow is very very limited, it's not an issue, but if it's slightly more complex, then you need to have the idea of a guard page on the stack 21:38:20 68k is slow. Well, early 68k. Not just the clock rate, but the clocks per instruction. 21:38:31 chandler, why? 21:38:39 Smerdyakov: that's what unwind-protect is 21:38:44 jc so were early 8051's :)( 21:38:50 "execute me, no matter how the stack unwinds" 21:39:01 more modern 8051's arent too slow any more - but there are nice faster controllers now too 21:39:03 chandler, how is the guard page involved? 21:39:08 but i do STILL love 8051 21:39:23 Smerdyakov: I'm probably futzing up terminology 21:39:23 modern 8051s still lack a lot. What they make up with is a beautiful set of bit operators. 21:39:36 I'm not too keen on languages that make you think about the existence of a stack. 21:39:41 It's just too bad the damn stack is limited to internal memory, and has to share with internal data and registers. 21:40:00 jc thers only so much you can add to an 8051 - i KNOW the design has warts but i still love it :) 21:40:05 Smerdyakov: CL doesn't make you think about it, but unwind-protect's implementation can only be understood in terms of the existance of a return stack 21:40:37 That's not correct. It can be understood quite easily using various operational semantics formalisms. 21:40:50 the semantics can be understood, yes 21:41:03 but I said implementation 21:41:16 Ah. The implementation in CL, maybe. *shrug* 21:42:17 Smerdyakov, you had used Type Assembly, which surely had a stack 21:42:47 Smerdyakov: so what are the control-flow operators in ML? does it have catch/throw or named blocks? 21:43:18 chandler, exceptions ("catch/throw") are the only nonlocal control flow mechanism. 21:43:43 wait wait wait. ML confuses exceptions and non-local control flow? 21:43:57 I sure didn't say that. 21:44:47 you said that exceptions and catch/throw are the same thing 21:45:04 backkk 21:45:15 They are in ML, essentially, as I understand the words. 21:45:15 exceptions are ugly 21:45:47 chrisrw, please DO NOT SCARE me like that 21:46:01 jdrake: ..? 21:46:14 12:45:04:chrisrw: backkk 21:46:15 "exception" is on my list of dirty words, if only for confusing a concept with one potential use of it 21:46:43 I'm well aware of the poor choice of the term, but it _is_ pretty standardized now. 21:46:46 exceptions are very useful in certain languages 21:46:57 Smerdyakov: ok. to me exceptions are a bad name for conditions - objects with a type hierarchy that can be signaled at runtime, and handlers which dispatch over them. 21:47:00 And when I say "exceptions," I mean what the term usually means. 21:47:29 and catch/throw is just a form of non-local control flow with non-lexical names 21:47:37 exceptions are ugly peeriod 21:47:44 OK, and it's the form of nonlocal control flow that ML has. 21:47:54 why are exceptions as defined in say C++ called exceptions? 21:48:03 but it's only available via the condition system? 21:48:11 Yes. 21:48:23 ugh. :-) 21:48:29 Meaning that there is a single type whose values may be thrown and caught. 21:48:52 chandler, do you have any relation to the actual distribution of mops? 21:48:58 jdrake: no 21:48:58 I don't think it's that bad of an idea.... 21:49:00 * chrisrw quotes chuck 21:49:28 arke, can you change your name to chrisro? 21:49:34 it would be much easier like that 21:49:44 jdrake: no why? 21:49:53 'chris readonly' 21:50:02 :p 21:50:20 'chris666' 21:50:22 Smerdyakov: so does the exception system allow type dispatching on the exceptions? 21:50:58 chandler, there's no type dispatching anywhere. The type of exceptions is a sum type, with disjoint branches that hold whatever type values you define. 21:51:07 oh right. this is ML 21:51:18 I can't write code like this :-) 21:52:02 I440r: i got a callback fork going, so it never returns except back to th interpreter. 21:52:31 chrisrw, ??? 21:52:34 I440r: i should probably patch up the rstackk, eh? 21:52:35 oooh 21:53:03 yea - your fork shoud do r> dup 2>r 21:53:16 2>r? 21:53:23 2 items to the return stack 21:53:30 2r> is remove two items from the returnstack 21:53:39 oh ... 21:53:43 er 21:55:02 i was thinking more along the lines of eliminating all rstack items xcept for the intteerpreeteer.. 21:56:39 : rzero r> rdepth 1 - for rdrop nxt >r ; 21:57:05 does that work? 21:57:22 since the iterator is on top of the return stack, aren't you dropping I, basically? 21:57:55 hrm... 21:57:59 no it wont 21:58:05 because the for uses the return stack 21:58:06 : rzero r> rdepth 1 - for rdrop nxt >r ; 21:58:20 : rzero r> rdepth 1 - for r> rdrop >r nxt >r ; 21:58:25 for r> r>drop >r nxt 21:58:30 I440r: exactly 21:58:33 :) 21:58:40 and its r>drop not rdrop :P 21:58:51 rp0 rp! 21:59:00 rdrop is a gforth-ism, I think 21:59:01 mine is faster than yours :P 21:59:06 heh 21:59:30 I440r: er 21:59:48 I440r: doeos that keep the interpreter? 22:02:06 I440r: sneaky ... rstack underflow yields interpreter..... 22:02:09 devine "keep the interpreter" 22:02:26 I think he doesn't want to jump to cold... 22:02:27 neat :) 22:02:38 lol actualy thers no cold - its quit :) 22:02:52 try r> rp0 rp! >r 22:02:56 mine is STILL faster :P 22:03:14 r> rp0 rp! >r ok 22:03:14 Speicherzugriffsfehler 22:03:14 chris@chris:~/RkG> 22:03:17 you cant win - all your forth are belong to me 22:03:20 quit restarts the intepeter, right? cold reinits all vars, so any user code is lost. 22:03:21 whee! 22:03:55 quit is the inner interpreter - or in the case of isforht quit is a defered word that USUALLY points to (quit) the inner COMPILER 22:04:23 the interpret loop that (quit) calls is simpoly there as a means of entering and testing that which is to be compiled 22:04:34 so where most forths call quit the inner interpreter i call it the inner compiler 22:05:15 I440r: rp0 rp! goes boom 22:05:20 The point is, you don't re-init the system, so no user code is lost. He's concerned (I think) that rp0 rp! might cause you jump to cold (if you had one) and lose user data. 22:05:54 actually, it just goes boom :) 22:06:05 ok 22:06:05 rp0 rp! Speicherzugriffsfehler 22:06:05 chris@chris:~/RkG> 22:06:15 hang on 22:06:28 it might be rp0 @ rp! let me check hhe 22:06:53 nope 22:06:57 rp0 is a constant 22:07:06 so r> rp0 rp! >r should work 22:07:16 nope 22:07:21 goes boom 22:07:23 but if your doing that inside a word thats inside a word 22:07:33 then you need to do 2r> ... 2>r 22:08:01 ok 22:08:01 rp0 ok 22:08:01 . 1073758208 ok 22:08:01 rp0 ok 22:08:01 . 1073758208 ok 22:08:02 rp@ ok 22:08:04 . 1073758200 ok 22:08:06 ok 22:08:08 rp@ ok 22:08:12 . 1073758200 ok 22:08:14 er 22:08:15 for each level of nesting that you have done you need to retain ONE item on the return stack - and if any of those words that your nested into does a for/do loop then your fscked 22:08:39 I440r: but i know it doesnt 22:09:08 quit is the outer interpretter. 22:09:17 The inner interpreter is that which directly executes colon definitions. 22:09:27 (in a(n) (in)direct threaded system at least) 22:11:32 * jdrake deletes 140,000 files 22:11:40 oh wait 22:11:41 lol 22:12:05 does anybody remember when the average amount of files on their harddrive was somewhere around 4500? 22:12:07 I440r: how does quit use the rstack? :) 22:12:14 i do 22:12:31 420mb harddrive i had then 22:12:35 my dear little 386 <3 22:12:40 hah! 22:12:47 i had 20mb! 22:13:00 and maybe 500 files 22:13:04 if that 22:13:14 less actually 22:13:28 wasnt even running wfw 22:13:31 :) 22:14:21 I440r: for some reason, your rp0 is 2 cells off 22:16:44 erm 22:16:49 hrm 22:17:02 quit clears the return stack. 22:17:08 brb tryhing to set up my ftp 22:20:47 rp0 8 - rp! ok 22:22:12 --- join: OrngeTide (orange@rm-f.net) joined #forth 22:22:30 http://www.forth.org/svfig/challenge.html .. Jef Raskin's programming challenge. kinda cool:) 22:22:36 orange! ltns! 22:22:41 yea. :) 22:22:46 you remember me! :) 22:22:56 i dont 22:22:59 :P 22:23:04 i don't remember you either! 22:23:08 Hm. @rm-f.net. Are you the only one using it now, OrngeTide? 22:23:19 about 3 others are using it 22:23:30 no the problem is stacked against linux 22:23:36 the server had to be taken down for about 7 months because i owed the colo about $2700 which i wasn't about to pay 22:23:37 Ah. I had an account there Back in the Day. :) 22:23:43 you dont get key-up and key-down very easilly in liknux 22:23:43 OrngeTide: Wow. Looks like he's trying to resurrect the Canon Cat sources!! 22:24:07 I440r, cheat and use xlib. then you will 22:24:18 SDL delivers events too. 22:24:23 xlib is probably more simular to macos and win32 api anyways 22:24:24 Or putting the console in raw mode. :) 22:24:31 raw mode sucks 22:24:32 And I also started a hosting cooperative where all the users pay something and we have no problems like yours. It's cost less than $2700 total over its whole 1.5 year history. :) 22:24:41 OrngeTide: How do you think X11 and/or SDL does it? 22:24:58 kc5tja, i think xlib programming is very entertaining. 22:25:05 not productive. but entertaining. 22:25:33 OrngeTide: I find it tolerable at best. I really prefer SDL over any other API I've used. The *only* problem with it is that a single program can only have only one display surface. 22:26:56 kc5tja, i used to prefer SDL. but it has horribly worthless network support. 22:27:10 x11 has horribly painful to use bitmap/framebuffer support. 22:27:18 but man if you wanna draw lines. it's fun:) 22:27:28 ;) 22:27:44 OrngeTide: So don't use its network support. Use your own, or fix SDL itself and submit patches. :) 22:28:13 http://www.aerojockey.com/software/ioccc/index.html ... tiny (2k) x11 app that is a flight simulator. (read banks.hints in the tar file if you want to compile/use it) 22:28:32 kc5tja, the problem is SDL's event model. which is not useful for real network i/o 22:28:41 and it's been patched and the author rejects them 22:29:01 anyways. i prefer vector graphics over bitmap graphics. 22:29:17 since sdl doesn't support the best kind of raster mode. 1bpp 22:29:39 highres monochrome graphics take a tiny amount of memory and have a very appealing and classy look. 22:30:00 * jc digs out his Hercules graphics card 22:30:02 OrngeTide: So define a surface that has only one bit per pixel. Use SWSURFACE if necessary. 22:30:03 :) 22:30:11 kc5tja, not supported. 22:30:29 don't get me wrong. i like SDL and use it. 22:30:37 I'm just admitting that it has short comings. 22:30:47 * kc5tja finds that hard to believe overall; but it makes sense in the context of SDL's original purpose: games. 22:30:54 and it's definently less complicated than writing a clean xlib program 22:31:38 now VOGL that's a nifty API. and it's more cross-platform than SDL. and it's public domain. 22:31:43 * OrngeTide isn't much of a GPL fan. 22:36:09 : rp0! r> rp0 2 cells - rp! >r ; 22:36:12 http://sip.clarku.edu/vogl/vogl.html .. btw. i know it's not forth but hey. :) 22:36:50 : rp0! r> rp0 8 - rp! >r ; for isforth 22:37:15 --- part: Smerdyakov left #forth 22:39:34 why not : cells 4 * ; ... or is that too wasteful? :) 22:40:00 its ANSI 22:40:04 its bad 22:40:09 that is true. 22:40:24 writing a real forth is sooo much less work than writing ansi forth. 22:40:46 :) 22:40:51 it's like "let's see how we can make it impossible to write a decent forth" 22:42:14 * kc5tja isn't sure he agrees with that. 22:42:29 of course if you could sniff your instruction output and see MUL's for a power of 2, maybe you could make it better. but then that starts to be complicated fast. rather than actually forcing a developer to write code for the machine they are using. 22:42:29 It's pretty easy to write an ANSI-compliant Forth. 22:42:37 What sucks is that, as Chuck says, it's 30-year old Forth. 22:42:38 kc5tja, a non crappy one? 22:42:41 or like "OK, all of those words are useful, and all of those aren't, so we will include the latter group 22:43:18 well ansi forth seems to treat forth more like a scripting language than anything. imo 22:43:27 yeah 22:44:08 No, it's a very pragmatic standard, and it strives to be as machine independent as possible, making it quite usable for optimizing compilers and the like. 22:44:15 bigForth competes routinely with gcc, for example. 22:44:53 perhaps i'm mistaken then. although machine indepedence is a pseudo-feature. 22:45:18 .. 22:46:02 i thinkk we need a leveledi hacker forth standard 22:46:37 what do you mean? 22:47:17 like 22:47:26 OrngeTide, check messages :) 22:47:30 jc you too :P 22:47:37 a hackers forth standard 22:47:39 --- quit: Sonarman ("leaving") 22:47:42 and 22:47:59 yea. this stupid client doesn't alert me when i get a message. it just tossed them on another window and puts (W: 2) on my title bar. 22:48:22 lol which client ? 22:48:32 "h4x0r4th 3" means supports level 3 :) 22:48:35 BX? 22:48:46 EPIC 22:48:51 ugh 22:48:55 no. epic 22:49:01 OrngeTide: irssi.org 22:49:02 all these clients suck 22:49:05 OrngeTide: irssi.org 22:49:06 OrngeTide: irssi.org 22:49:06 OrngeTide: irssi.org 22:49:07 OrngeTide: irssi.org 22:49:08 that's terrible 22:49:17 OrngeTide: irssi.org 22:49:33 xchat 22:49:39 <-- xchat 22:49:45 or bitchx in consone if i really gotta 22:51:05 irssi, but xchat if i feel likke it 22:52:23 yea. i use xchat, but i have such a cruddy link that i'm now doing everything over ssh+screen 22:55:58 jc did u check messages ???? :) 22:56:22 I440r: i want messages 22:56:24 Yes, I'm looking at it now. 22:56:30 ok lol 22:56:47 chrisrw, none for you :P 22:58:29 man the tar.gz for this socks4,5 proxy library is 800kB. does that even make sense? 22:58:43 is it like 8kB of source and 792kB of pornography? 22:59:33 I440r, have you consider an "OS" like/using isforth? 22:59:56 well i always say that isforth IS the os... linux is the BIOS hehe 23:00:01 ehehe. 23:00:06 but as someone in here pointed out - isforht isnt ring 0 :P 23:00:12 I'm off to bed. 23:00:13 so thats kinda cheating to say that heh 23:01:08 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 23:01:15 well doing a pmode bootstrap and redoing the terminal parts might not be all that hard. you'd lose a lot of the other features of isforth though. 23:01:23 but you could then run it in bochs for kicks:) 23:01:37 * OrngeTide does a lot of his microkernel devel on bochs on his ibook. 23:01:40 bochs is sloooow 23:03:48 chandler, are you aronud still? 23:04:29 OrngeTide, so is your ibook i bet 23:04:44 ibook has to be the slowest piece I have ever seen in fact 23:07:41 whats the most general of all loops? 23:08:08 wouldn't it be one where you infinitely loop? 23:08:44 er 23:08:49 for forth 23:09:20 nevermind 23:09:53 jdrake, nah. my computer is fast. 500MHz 23:10:13 OrngeTide, i had a 600mhz machine and it was a piece of shit slow 23:10:21 jdrake, you ran OSX on it didn't you? 23:10:26 yes 23:10:29 aaHAHAHAH 23:10:32 because i was new to mac then 23:10:39 i wasn't about to jump back in time 23:11:00 10.0 to 10.2 ran terrible on them. 23:11:05 10.3 ran slightly better. 23:11:12 i have used os9 briefly and it was really horrid 23:11:20 10.2 ran great actually 23:11:22 really the big problem was that because the videocard didn't support decent alpha support it was doing it all in software. 23:11:45 when I got the emac then I knew what real speed was, and I bet that isn't really even true if I got a newer machine 23:11:46 jdrake, oh you're right. 10.1 and 10.0 and 10 PB were what I was thinking off. 23:11:51 s/off/of 23:12:07 i had some nice quartz extreme going 23:12:22 my friend's ibook 900MHz has the radeon card on it. it's noticably faster than my 500 w/ ATI Rage128 23:12:38 my 600 had a radeon in it 23:12:46 jdrake, really? hrm. 23:12:48 the G4 ibook i imagine is better 23:13:01 i could play regular quake3 on it 23:13:02 well i run linux on my ibook now cuz I was sick of paying $150 everytime a new version of OSX came out. 23:13:13 yea. the g4 ibook seems like a pretty sweet machine. 23:13:31 I had the ugly toilet seat ibook for a while, but then i smashed it. 23:13:42 the what? 23:16:10 you know the one with a handle, came in orange, blue and grey "and i think green" 23:16:15 shaped like a toilet seat:) 23:16:27 i have the "dual USB" one now. 23:16:33 the toilet seat one was 800x600 ... :( 23:16:43 800x600 would have been painful 23:16:48 but that's not why i smashed it. i smashed it for completely different and stupider reasons 23:17:01 but the idea of a handle and fruity colours appealed earlier on when i didn't have any money for one 23:17:03 800x600 sucks because gnu chess assumes you have a 1024x768 terminal 23:17:11 and OSX *comes* with gnu chess. 23:17:31 i would really like to get more aquainted with chess 23:17:39 i have been out of practice for a while 23:18:03 i'm terrible at chess. i found this book on the clearance shelf at B&N that i'm really liking. lemme go get the title... 23:18:47 I absolutely sucks at chess. I have no look-ahead ability on stragegy games. 23:19:07 me either 23:19:07 CHESS: 5334 Problems, Combinations, and Games -- L'aszl'o Polg'ar (sorry i dunno how to do accented characters on this keyboard) 23:19:18 i'm a big fan of othello. 23:19:30 i like go 23:19:35 freecell for me. 23:19:36 although the only human i have to play with is a guy who used to be on the canadian national othello team. 23:19:38 night! 23:19:48 but i cant play against a computer or against another person accross the computer 23:19:49 go is neat. but computer go programs are terrible 23:19:56 but at a live game im good in go 23:19:58 tho - not expert 23:20:06 i've never played someone live at go. 23:20:08 go is far better than othello or checkers 23:20:09 I believe it's Go that's considered more difficult than chess to implement. 23:20:22 it is 23:20:27 i440r, i think go is very interesting. it's indirect. :) 23:20:42 I like games that involve blowing shit up. 23:20:58 jc, yea. there are a lot of papers and stuff written about Go. it's not something that can be solved with a few good search algorithms like chess. 23:21:01 Let's play Global Thermonuclear War! 23:21:10 checkers is equally as difficult to implement as chess is 23:21:34 was that supposed to be László Polgár 23:21:45 although what's amazing are these "chess computers". I have this LCD chess. it's fast, fairly strong and runs for years off a AAA battery. it's pretty impressive. 23:22:01 not bad for $20. although the UI on LCD chess sucks. (you have to push the buttons down in kind of a weird order) 23:22:14 jdrake, those show up as ?'s on my terminal. ehhee 23:22:23 but I assume that's what i meant. 23:22:30 jc, there are prizes in the range of $1million to implement an AI for Go that can kick a moderate player's ass 23:22:36 oy! 23:24:04 barney pell seems to think that "the Go problem" can be solved through Metagaming. but nobody has done it yet. 23:24:21 have you guys ever heard of the Infinite Probability Drive? 23:24:36 jdrake it sounds familiar 23:24:44 very familiar 23:24:56 and the answer to the big question is 42 23:25:26 yes - i knew it was hitchikers :) 23:25:42 Yup. 23:25:48 The IPD at one time turned 2 persuing nuclear missiles into an unlucky sperm whale and a vase of flowers 23:25:49 Based on the restaruant ticket numbers. 23:26:08 or at least in the television version I downloaded ;-) 23:26:16 bed time for. G'night! 23:26:23 yea me to methunks 23:26:33 i think so to 23:26:35 too 23:26:38 good night all 23:26:54 * I440r wishes the manager from the local outback stk house was going to bed with him... she is GORGEOUS!!!! 23:27:13 but.. meanwhile back at reality... 23:27:14 lol 23:27:48 --- quit: jdrake ("Snak 4.9.7 IRC For Mac - http://www.snak.com (There are 2 version numbers left before 5.0.0!!)") 23:28:08 I440r, and she likes steak, or at least doesn't object to it. 23:28:45 she is a sweetie. i would fall madly in love with her if i wasnt a shorttimer here... 23:28:50 contract is almost over :/ 23:29:33 aww. 23:31:03 man. i think my biggest block with rolling my own forth is if i should do it for x86 or for arm7tdmi 23:31:57 part of the problem is I have a part of 256Mb compact flash cards sitting on my desk that i rarely use. i'm thinking, wouldn't that be a lovely "diskdrive" for an arm7tdmi system? :) 23:32:02 both 23:32:32 I440r, you think it's reasonable to write a "portable" 23:32:35 forth kernel? 23:33:52 nope 23:34:10 ?! 23:34:17 OrngeTide: you going to build your own handheld? or just reprogram a palm[-compatible]? 23:34:23 portable is a myth 23:34:34 I440r, that's what i was assuming. 23:34:41 oh. you think i should write the kernel twice. :) 23:34:48 yes 23:34:51 and keep them seperate 23:34:58 make them two seperate forths 23:35:06 I agree 23:35:09 dont worry about code compileing and running identically on each 23:35:37 Herkamire, yea. i always wanted to do that. my only real hang-up of doing my own portable is the display driver. .. for the cpu, cf controller, keyboard matrix, irda, ethernet, whatever can be obtained easily and cheaply. (i'm looking at atmel AT91 for the processor) 23:36:17 Herkamire, honestly I think a gameboy advance might more sense. i got schematics for hooking a PS/2 keyboard up to the link port that seems likely to work 23:36:28 I440r, yea. 23:37:11 OrngeTide: hehe :) PS/2 keyboard to a gameboy advance? :) it's a funny world we live in 23:37:34 i think a forth only needs to be simular enough that a user finds the new forth "familiar". it doesn't have to be cut&paste compatible. 23:37:59 Herkamire, well for $50 it's cheaper than an arm-based palm. :) 23:38:08 i have two gameboys. might as well. 23:38:22 sure. does it have flash? 23:38:38 or can you hook a flash card in somehow? 23:38:39 i actually bought GBAsp *before* the original GBA. only because my fiance stole my SP because she got addicted to final fantasy tatics. 23:39:07 Herkamire, yea. you can order flash carts from hong kong. but you know what's even cooler? they can boot up over the link port. 23:39:18 you can upload (i think) 2mb of code via the link port. 23:39:24 realistically i wouldn't need more than maybe 30k 23:39:32 very cool 23:39:44 can you overwrite the roms? 23:39:54 yea. so i don't even need to pay $40 or whatever it is for the smallest flash cart and link cable. i can just cut up something 23:39:56 can you get it to boot of the flashcard? 23:40:06 Herkamire, yea. the flashcards are bootable. 23:40:11 very cool 23:40:24 often people get 256M or 512M carts and load 3 to 5 games on there and run a "multiboot" loader. 23:40:27 very cool indeed. 23:40:34 u can turn the gameboy into a pda :) 23:40:40 wild 23:40:45 that's why you gotta order it from hongkong. it's usually used as a piracy tool rather than a devel tool 23:41:05 didn't know anything like that was possible with gba 23:41:06 I440r, there are two gameboy pda carts out. there was the one for the original and now a new one for gba. 23:41:31 i have the one for the original GB. it had a 2400 baud modem onboard. and allowed you to do email through a special pay service. 23:41:38 (which no longer exists) 23:41:49 woiuld be cool if they had wireless and u could play multi player :) 23:41:51 I would like to build my own pda at some point. I don't have much hope that anyone will ever manufacture what I want 23:42:00 it also has 1Mbit of flash on there that nobody has figured out how to reprogram... :) 23:42:19 I440r, there is a bluetooth cart for gameboy advance now. not released in US, yet. 23:42:28 cool :) 23:42:37 it's bluetooth + MMC/SD actually 23:43:44 my wireless network almost makes it to the juicy burger down the street lol 23:43:48 is there any way to boost it ? 23:43:54 hrm no 23:43:56 is anybody making a pda that is waterproof and rugged? (rugged as in you can drop it on the sidewalk a bunch of times) 23:44:02 the laptop would need boosting too 23:44:44 I440r, sure. you can boost it. with a pringles can. my friend got his working. 23:44:45 http://verma.sfsu.edu/users/wireless/pringles.php 23:45:31 err LOL 23:45:42 that isnt designed like a VOR antenna is it ??? :) 23:45:49 vor antenna are weird 23:45:51 Herkamire, well i had this "bumper" for my palmIIIx. didn't make it waterproof. but you could toss it over a cliff fine. 23:46:07 how far does that boost the wireless network ? 23:46:11 can he make one for me ? 23:46:39 I440r, he got his going 3/4mi with still reasonable bitrates. (800kbit) 23:47:00 wow! 23:47:05 he says if he was more tedious and willing to raise it up to a higher level it would've worked better. 23:47:20 people have gotten fancier setups to go 20+ mis 23:47:44 but i bet that was someplace flat :P 23:48:00 it wont work for me 23:48:10 my card is a built in - not cardbus 23:48:27 wow. irssi works this time. 23:48:57 and it spews out about twice as many terminal escapes making screen updates over this connection that much worse. 23:49:43 I440r, linksys sells an 802.11 boaster for access points. you can go through an access point... 23:49:57 s/boaster/booster 23:51:00 <-- too cheap to buy :) 23:51:06 i hear that. 23:51:35 where do you live that you have juicy burger? 23:53:21 im working in longview texas atm 23:53:24 where are you at ? 23:53:28 OrngeTide: "bumper" sounds cool. I could live without waterproof. now if I can only have an 8 button chorded keyboard 23:53:38 i call em greecy burger :) 23:53:42 handykey? if you have a ton of cash. 23:53:44 their burgers are great, their fries suck 23:53:48 I have half-keyboard for my palm. it's okay. 23:54:01 I like this (linked to from pringles link): (standard disclaimer): Anything you do with your gear is YOUR RESPONSIBILITY. This is a stupid idea that will probably ruin your radio, set your house on fire, bring the FCC to your door, ruin your crops, and send famine and pestilence across the land. And as the operator, it is YOUR RESPONSIBILITY to not take the word of some raving lunatic on the web with funny colored hair, and find things o 23:54:25 that bumper was cone by "Concept Kitchen" 23:55:02 s/cone/done 23:56:58 handykey looks interesting. not what I was thinking of really 23:57:10 wow. i got AM to work on this shitty radio. 23:57:24 OrngeTide, where r u located ? 23:57:29 i wish the dial had an actual display so i could tell what station i was tuning. 23:57:36 I440r, san jose. 23:57:49 oh :) 23:57:50 i have a crazy governer. 23:57:56 GOVERNATOR! 23:57:59 san-ho-zay - cool guitar !! 23:58:04 lol 23:59:59 --- log: ended forth/03.12.13