00:00:00 --- log: started forth/10.02.02 00:02:17 --- quit: tarbo (Ping timeout: 260 seconds) 00:17:07 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 00:24:18 --- quit: tarbo (Ping timeout: 240 seconds) 00:29:20 --- join: nighty__ (~nighty@210.188.173.245) joined #forth 00:38:59 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 00:46:25 --- quit: tarbo (Ping timeout: 264 seconds) 01:01:26 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 01:09:03 --- quit: tarbo (Ping timeout: 252 seconds) 01:23:51 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 01:31:33 --- quit: tarbo (Ping timeout: 276 seconds) 01:32:42 --- quit: proteusguy (Ping timeout: 248 seconds) 01:43:10 --- join: Quartus` (~Quartus`@74.198.8.57) joined #forth 01:45:43 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 01:47:17 --- join: proteusguy (~proteusgu@zeppelin.proteus-tech.com) joined #forth 01:47:44 --- quit: mathrick (Remote host closed the connection) 01:52:27 --- quit: tarbo (Ping timeout: 240 seconds) 02:08:09 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 02:09:44 beans? 02:15:43 stacks 02:16:00 you put beans on the stack?? 02:16:09 --- quit: tarbo (Ping timeout: 252 seconds) 02:18:31 as long as they're no bigger than a word 02:20:07 :D 02:28:55 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 02:38:47 --- quit: tarbo (Ping timeout: 240 seconds) 02:50:05 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 02:57:14 --- quit: tarbo (Ping timeout: 256 seconds) 03:00:28 --- join: DrunkTomato (~DEDULO@ext-gw.wellcom.tomsk.ru) joined #forth 03:10:11 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 03:16:44 --- quit: tarbo (Ping timeout: 246 seconds) 03:17:51 --- join: GeDaMo (~gedamo@dyn-62-56-89-110.dslaccess.co.uk) joined #forth 03:22:40 --- quit: nighty__ (Ping timeout: 245 seconds) 03:30:54 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 03:37:44 --- quit: tarbo (Ping timeout: 246 seconds) 03:51:04 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 03:58:18 --- quit: tarbo (Ping timeout: 248 seconds) 04:11:44 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 04:13:59 --- quit: GeDaMo (Quit: Now I lay me down to sleep; Try to count electric sheep) 04:18:59 --- quit: tarbo (Ping timeout: 265 seconds) 04:32:11 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 04:39:09 --- quit: tarbo (Ping timeout: 252 seconds) 04:52:12 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 04:54:49 --- join: tathi (~josh@dsl-216-227-91-166.fairpoint.net) joined #forth 04:58:42 --- quit: tarbo (Ping timeout: 240 seconds) 05:12:44 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 05:20:33 --- quit: tarbo (Ping timeout: 260 seconds) 05:22:57 --- quit: tathi (Quit: leaving) 05:32:44 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 05:42:41 --- quit: tarbo (Ping timeout: 246 seconds) 05:53:42 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 06:00:58 --- quit: tarbo (Ping timeout: 265 seconds) 06:14:54 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 06:21:46 --- quit: tarbo (Ping timeout: 240 seconds) 06:23:49 good morning 06:29:20 --- quit: Quartus` (Ping timeout: 272 seconds) 06:33:13 --- quit: segher (Ping timeout: 264 seconds) 06:35:56 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 06:38:00 --- join: segher (~segher@84-105-60-153.cable.quicknet.nl) joined #forth 06:42:00 --- quit: proteusguy (Ping timeout: 272 seconds) 06:42:53 --- quit: tarbo (Ping timeout: 246 seconds) 06:57:06 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 06:57:56 --- join: GeDaMo (~gedamo@dyn-62-56-89-110.dslaccess.co.uk) joined #forth 06:58:32 --- join: proteusguy (~proteusgu@ppp-124-120-228-101.revip2.asianet.co.th) joined #forth 07:04:09 --- quit: tarbo (Ping timeout: 260 seconds) 07:09:03 --- quit: proteusguy (Read error: Connection reset by peer) 07:18:11 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 07:24:42 --- quit: tarbo (Ping timeout: 252 seconds) 07:39:06 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 07:46:18 --- quit: tarbo (Ping timeout: 258 seconds) 08:00:17 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 08:07:00 --- quit: tarbo (Ping timeout: 258 seconds) 08:21:27 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 08:28:35 --- quit: tarbo (Ping timeout: 246 seconds) 08:43:02 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 08:50:08 --- quit: tarbo (Ping timeout: 265 seconds) 09:05:12 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 09:11:54 --- quit: tarbo (Ping timeout: 240 seconds) 09:25:56 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 09:27:21 --- join: qFox (~C00K13S@5356B263.cable.casema.nl) joined #forth 09:32:51 --- quit: tarbo (Ping timeout: 252 seconds) 09:43:32 --- join: kar8nga (~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net) joined #forth 10:00:57 In Reva how easy is it to have a 2D array of structs, possibly dynamic? 10:05:57 --- join: tarbo (~me@unaffiliated/tarbo) joined #forth 10:06:37 --- quit: tarbo (Client Quit) 10:08:20 jabb: If it is anything like "normal" forth, then darned easy I guess (: 10:16:41 --- join: Quartus` (~Quartus`@74.198.8.57) joined #forth 10:40:09 --- quit: jabb (Quit: class) 10:46:26 --- quit: Quartus` (Ping timeout: 256 seconds) 11:02:23 --- join: kristopher (~kristophe@unaffiliated/kristopher) joined #forth 11:02:40 --- part: kristopher left #forth 11:02:50 --- join: kristopher (~kristophe@unaffiliated/kristopher) joined #forth 11:03:23 --- part: kristopher left #forth 11:14:28 --- quit: kar8nga (Remote host closed the connection) 11:19:33 --- join: jsfb (~jon@pool-96-231-114-178.washdc.east.verizon.net) joined #forth 11:22:33 --- quit: jsfb (Quit: Leaving) 11:49:14 --- join: ubuntu-nathan (~Nathan@201.78.224.223) joined #forth 11:51:22 --- join: alex4nder (~alexander@wsip-72-215-164-129.sb.sd.cox.net) joined #forth 11:51:23 hey 11:51:31 Evening. 11:51:59 how's it going ASau? 12:04:26 Organizing hackathon. 12:04:51 Busy with management work. 12:05:37 --- join: Guthur (~Michael@host81-132-171-8.range81-132.btcentralplus.com) joined #forth 12:11:51 --- quit: Snoopy_1611 () 12:13:33 --- quit: ubuntu-nathan (Quit: Leaving) 12:22:07 --- join: Snoopy_1611 (Snoopy_161@dslb-084-059-200-031.pools.arcor-ip.net) joined #forth 12:27:19 --- join: ubuntu-nathan (~Nathan@201.78.224.223) joined #forth 12:30:16 --- quit: Snoopy_1611 () 12:48:56 --- quit: ubuntu-nathan (Quit: Leaving) 12:53:11 --- quit: PoppaVic (Quit: Reality, what a concept!) 12:58:04 --- join: ubuntu-nathan (~Nathan@201.78.224.223) joined #forth 13:05:34 --- join: Snoopy_1611 (Snoopy_161@dslb-084-059-212-225.pools.arcor-ip.net) joined #forth 13:08:40 --- quit: Guthur (Ping timeout: 256 seconds) 13:09:04 --- join: Guthur (~Michael@host81-159-209-176.range81-159.btcentralplus.com) joined #forth 13:16:13 --- join: haiworld (~haiworld@222-154-92-56.jetstream.xtra.co.nz) joined #forth 13:16:22 hello 13:16:40 Evening. 13:17:02 hey 13:17:43 I think I've found a way to fix pforth exceptions. 13:18:07 But this promises much handwork. 13:22:39 cool 13:24:50 --- join: jabb (~grue@71.94.31.166) joined #forth 13:33:12 --- quit: ubuntu-nathan (Quit: Leaving) 13:51:49 --- quit: alex4nder (Ping timeout: 264 seconds) 13:53:13 --- quit: qFox (Quit: Time for cookies!) 14:18:13 --- quit: DrunkTomato () 14:26:24 --- join: alex4nder (~alexander@70-7-20-135.pools.spcsdns.net) joined #forth 14:35:25 --- quit: alex4nder (Ping timeout: 260 seconds) 14:43:01 --- part: haiworld left #forth 14:56:45 --- quit: GeDaMo (Quit: Now I lay me down to sleep; Try to count electric sheep) 15:01:20 --- join: Quartus` (~Quartus`@74.198.8.57) joined #forth 15:21:45 --- quit: Quartus` (Ping timeout: 240 seconds) 15:24:19 --- join: ubuntu-nathan (~Nathan@201.78.224.223) joined #forth 15:26:32 --- join: Quartus` (~Quartus`@74.198.8.57) joined #forth 15:31:03 --- quit: ASau (Read error: Connection reset by peer) 15:37:10 --- quit: ubuntu-nathan (Ping timeout: 272 seconds) 15:41:28 --- join: ASau (~user@83.69.227.32) joined #forth 15:53:28 --- join: alex4nder (~alexander@wsip-72-215-164-129.sb.sd.cox.net) joined #forth 15:53:28 re.. 16:22:25 Asau: tell us more about fixing pforth exceptions. I have pforth installed as my main Forth tool; I'm interested. 16:23:49 But please give some background too, for those of us who aren't familiar. What is the problem with pforth exceptions to start with? 16:26:06 ' ' catch test . 16:26:10 See what happens. 16:26:51 Ok; one sec. 16:27:53 It said "could not find TEST-13". 16:28:02 Yes. 16:28:16 And that means what? What should it have done? 16:28:41 It shouldn't perform actions meant for uncatched exceptions. 16:29:08 Oh, you're saying it shouldn't have tried to execute anything? 16:29:17 Anything catch related that is? 16:33:14 I have to admit I'm not extensively familiar with exceptions in Forth, but I thought CATCH was used to define what should be done when some other piece of code uses THROW to indicate some particular exception. 16:33:46 So the bit of code that CATCH appears in shouldn't so much "do" anything as "specify" what will be done, right? 16:34:00 It shouldn't have tried to print anything except. 16:34:05 It's the bit of code that THROW appears in that actually causes something to happen, I thought. 16:34:42 That's so early 1980s. 16:35:15 IOW exceptions are broken. 16:36:12 :-) Well, I came of age in the early 1980's. 16:36:24 It's a very sensible definition, though. 16:36:54 Even if you came of age in early 1960s. 16:36:55 Has it really *changed* since then, or do we just describe it in a fancier way now? 16:37:08 Nah, *born* in the early 1960's. 16:38:11 The world has changed since then. 16:38:52 Mostly for the worse, but we won't get into that. CATCH expects two parameters on the stack, right? 16:38:59 It's kind of amusing to see men with slide rules, 16:39:11 :-) 16:39:37 but noone in his right mind studies slide rule for productive work. 16:39:55 "Catch" expects single parameter. 16:39:59 I bought a slide rule and used it for one homework assignment, just to see how it worked, but I'm not that stuck in the past. 16:40:35 9.6.1.0875 CATCH ( i*x xt -- j*x 0 | i*x n ) 16:40:47 If I'm given slide rule, I may recover past memories too. 16:41:05 That doesn't mean that I shall use it for daywork. 16:41:26 "i" may be equal to zero. 16:41:51 Any nonnegative integer number. 16:42:35 I found that on the web. Maybe it's out of date. 16:42:47 Sorry guys; I got cut off from my network in mid-sentence. 16:43:01 No, I wouldn't use a slide rule either. It's a toy to me now. 16:43:14 A beautiful toy, though. Part of our heritage. 16:43:44 Ok, so i may be zero. 0*x still takes up a spot on the stack. 16:44:10 --- quit: alex4nder (Ping timeout: 248 seconds) 16:45:01 --- quit: ASau (Remote host closed the connection) 17:04:19 --- join: ASau (~user@83.69.227.32) joined #forth 17:05:19 --- join: I440r (~mark4__@c-69-136-171-118.hsd1.in.comcast.net) joined #forth 17:05:19 --- mode: ChanServ set +o I440r 17:08:29 --- quit: ASau (Remote host closed the connection) 17:12:27 --- join: memeplex (~carlos@201.250.183.66) joined #forth 17:13:37 --- join: jdpo (~joe@66-169-176-49.dhcp.ftwo.tx.charter.com) joined #forth 17:14:30 hi all, as a beginner exercise on defining words i'm trying to implement something like curry ( xt x -- xt' ), for example: ' + 5 curry ==> '( 5 +) 17:15:14 i'm not sure if that's possible, the closer i got to my objective was: : curry ( xt x -- ) noname create , , does> dup @ swap 1 cells + @ execute ; 17:15:15 memeplex, i cant even read taht code. what is +) ? 17:15:24 but that's not annonymous 17:15:56 that part was kinda pseudocode, meaning the xt of "5 +" 17:16:01 errr your first fetch after does@ needs to be dup @ swap 17:16:13 oh bah it is lol 17:16:29 ok im totaly lost because 5 + doesnt have an XT 17:16:40 5 is a literal and + has an xt 17:17:04 instead of 1 cells + cant you just do cell+ ? 17:17:29 because cells will perform an unneeded multiplication 17:18:09 5 + doesn't have an xt, well that is the question in fact, something like -say- create-noname would give me that anonymous xt, but i don't know if that is possible somehow 17:19:02 i didn't know about cell+; sorry for my poor style, i'm just beginning with forth, and thanks for the remark 17:23:21 I440r: : curry ( xt x -- ) create , , does> dup @ swap 1 cells + @ execute ; ' + 5 curry +5 <== now +5 has an xt which does what I want, but it isn't anonymous (anonymous as in :noname +5 5 + ; ) hope it's clearer now 17:23:29 --- quit: jdpo (Remote host closed the connection) 17:23:40 --- quit: segher (Quit: This computer has gone to sleep) 17:25:11 sorry :noname 5 + ; (forget the +5) 17:44:46 --- join: nighty__ (~nighty@210.188.173.245) joined #forth 17:52:19 i dont like workds like :noname but then thers not very many ans forth words i DO like 17:52:40 i prefer creating words with headers and then stripping them off later. 17:53:03 this makes yoru code more readable because every time you reference you headerless words you do it by NAMING THEM 17:53:15 you dont behead them until you want to make them private 17:53:51 :noname makes it headerless right from the start meaning you CANT reference it directly and thus you cannot make your code state what tis doing or how its doing it 18:03:51 memeplex: what forth? 18:05:10 say gforth, in fact the 'noname' before 'create' above is a gforth extension, but it didn't work, at least as i used it in that snippet 18:05:45 it isn't possible with ansi forth, should i conclude from your question? 18:06:08 * crc isn't sure 18:06:26 I can do it in retro and reva, haven't tried with gforth yet 18:06:36 create-noname is a word in strongforth, i found it after some googling around 18:07:57 the ans specification states that does> has to follow create, if i understand it well 18:08:42 does> modifies the created word so that when it is executed it interprets the code following does> 18:08:49 """An ambiguous condition exists if name was not defined with CREATE or a user-defined word that calls CREATE. """ 18:08:53 you can define the behavior of a new class of word 18:09:26 traditionally in forth when you say "create blah" forth creates a variable called blah 18:09:40 yes, what i'm trying to say is that it's word created necessarily by CREATE, so it must have a name 18:09:43 the CFA of blah is a call to dovariable (or something along those lines) 18:09:59 what does> does is patch the most recently creted word to use dodoes> 18:10:32 memeplex, that sounds reasonable :) 18:11:13 though i can see a create NOT creating an NFA for a word 18:11:45 the important thing for does> is that it knows the CFA of the word and it usually gets that from a variable that holds the address of the CFA of the most recently created word 18:12:31 --- quit: Guthur (Quit: Computer says no) 18:12:48 usually you have to use does> inside the same word that called create because if you do : blah create ..... ; : foo .... does> .... ; 18:13:13 when does> executes it will redefine FOO 18:13:43 or rather it will patch the CFA of foo 18:15:15 : curry ( xt n -- xt' ) >r >r :noname r> r> postpone literal compile, postpone ; ; 18:16:08 --- quit: Quartus` (Ping timeout: 272 seconds) 18:16:23 great, i was trying to nest :noname inside a colon definition without good results for a while also, you will have to explain that later :) 18:16:27 --- quit: addled (Ping timeout: 276 seconds) 18:16:59 ok 18:17:32 works with flying colors 18:17:52 good ;) 18:17:56 crc why not 2>r doesnt ans forth have that defined? 18:18:02 and 2r> 18:18:25 and what is compile, ? 18:18:48 not in CORE wordset 18:18:59 it's in CORE EXT, which I didn't look at 18:19:13 compile, compiles an xt into a definition in gforth 18:19:46 blink isnt that was (ick) postpone does? 18:19:49 it's part of CORE EXT 18:19:51 postpone parses 18:19:56 this takes the xt from the stack 18:20:04 so we have replaced compile and [compile] with postpone and compile, 18:20:15 yea. fucking stupid 18:20:23 compile and [compile] <--- 18:21:06 also what does ans forth call ['] ? 18:21:24 ['] 18:21:49 i really am supprised ans forth team didnt rename @ and ! 18:22:03 I440r: which of COMPILE and [COMPILE] take an xt from the stack; I though both parsed to get the xt 18:22:07 to "fetch-item-pointed-to-by-top-stack-item 18:22:13 no 18:22:30 compile takes the next XT out of the input stream and compiles it into the definition currently being created 18:22:42 [compile] takes the next token out of the execution stream. 18:23:03 which standard? 18:23:18 83 ? 18:23:25 ok 18:23:34 compile, takes the value off the stack, not the input stream 18:23:55 then why not just use , 18:24:06 , can't be used in a non itc or dtc forth 18:24:12 , is used in gforth-itc 18:24:27 wtf? how can it not be used 18:24:46 if using stc, the xt probably isn't a valid opcode for the CPU 18:25:08 so what we do is we make our forth compiler 2985628934562347895 more complex instead 18:25:59 then use literal 18:26:20 oh it would be literal execute 18:26:21 with compile, the results are implementation defined, so it could be mapped to , in itc or dtc forths, a call instruction in stc, etc 18:26:56 --- join: addled (~adl@89.Red-83-36-62.staticIP.rima-tde.net) joined #forth 18:26:56 : compile, [compile] literal [compile] execute ; (or similiar) 18:27:24 yea. try fit square peg into round, triangular and square holes 18:27:26 I440r: personally I don't care. my forth is non-standard, and I'm happy with it. 18:27:38 have to make a generic version of a round peg taht fits everywhere.... but its a simplification!!!! 18:28:07 round peg... gota square hole??? ANS FORTH WILL MAKE IT FIT!!!!! 18:28:34 more like "you don't need to know the shape of the hole; we try to abstract it away..." 18:28:40 ans forth is the "one size fits all no matter HOW fucked up we have to make it" 18:29:01 read "we try to HIDE it" so you dont have to know the language you are programming in 18:29:07 or the processor it will run on 18:29:13 or which operating system 18:29:15 or which planet 18:29:21 one size fits all 18:29:26 JACK of all trades 18:30:21 want to get things done without understanding how the system works? use ans forth 18:30:35 Hmm... 18:30:37 JACKFORTH 18:30:39 that could work 18:30:39 but only if you dont care if your "get things done" is about 1000 times more complex than it needs to be 18:31:05 btw, if you can email the freebsd sources for isforth, I can try to get it running again. I've got some spare time at work these days... 18:31:49 crc, I think forths are meant to be nonstandard :) 18:33:46 crc let me look see if they are at isforth.com i think they are 18:34:35 www.isforth.com/isforth-fbsd.tar.gz 18:34:42 thanks 18:34:47 I'll see what I can do :) 18:34:57 does fbsd use heap randomization? 18:35:04 i bet thats partially why it wont run now 18:35:07 I'm not sure 18:35:26 I'll find out once I finish setting up the install (tomorrow, once the ISO's finish downloading) 18:35:34 :) 18:35:48 ive never been able to get a working fbsd install done 18:35:55 ive tried in virtualbox a few times 18:36:12 I have vmware, it's worked under that for me in the past 18:36:40 i think virtualbox is better than vmware but there are things in vmware that dont always work right too 18:36:55 I've got both, and qemu as well 18:39:02 i still need to finish that isforth assembler too. i got the 16 bit version almost finished but ive been concentrating on finding work 18:39:05 not been working on it 18:39:11 i need paying work 19:11:45 must go to sleep now, thank you guys, you've been very helpful, cya 19:11:51 --- quit: memeplex (Quit: Lost terminal) 19:13:17 I've been luck enough to maintain full-time employment so far 19:26:38 --- join: ASau (~user@83.69.227.32) joined #forth 20:26:24 --- quit: I440r (Quit: Leaving) 20:35:35 --- quit: TreyB (Ping timeout: 245 seconds) 20:55:53 --- join: TreyB (~trey@adsl-76-247-247-96.dsl.hstntx.sbcglobal.net) joined #forth 21:03:22 --- quit: TreyB (Ping timeout: 248 seconds) 21:05:11 --- join: TreyB (~trey@76.247.247.96) joined #forth 21:35:15 --- join: dinya_ (~Denis@188.19.241.176) joined #forth 22:33:06 --- quit: pgas (Ping timeout: 240 seconds) 23:17:42 --- join: pgas (~user@pdpc/supporter/active/pgas) joined #forth 23:59:59 --- log: ended forth/10.02.02