00:00:00 --- log: started forth/02.04.23 00:08:40 --- join: davidw (~davidw@ppp-25-5.25-151.libero.it) joined #forth 00:09:11 --- quit: gilbertbsd ("xchat exiting..") 00:24:04 --- join: Soap` (flop@210-55-149-215.dialup.xtra.co.nz) joined #forth 00:39:43 --- join: rob_ert (~robert@h237n2fls31o965.telia.com) joined #forth 01:19:56 --- join: Frac (ximkevf@h24-77-171-228.ok.shawcable.net) joined #forth 01:21:39 --- quit: Frac (Client Quit) 01:22:21 --- join: Frac (snfgxo@h24-77-171-228.ok.shawcable.net) joined #forth 01:31:30 hiya, frac 01:31:37 --- nick: MrGone -> MrReach 01:40:06 Hey man. 01:40:52 Sleep for me. Night. 01:58:05 --- quit: MrReach (Read error: 110 (Connection timed out)) 01:58:06 --- quit: futhin (Read error: 104 (Connection reset by peer)) 01:58:52 --- join: MrReach (~mrreach@209.181.43.190) joined #forth 04:05:18 --- nick: MrReach -> MrGone 04:47:11 --- quit: onetom (Remote closed the connection) 04:50:57 --- join: onetom (tom@adsl52032.vnet.hu) joined #forth 05:05:44 --- quit: Soap` (Read error: 113 (No route to host)) 06:20:19 --- join: herkamire (~jason@wsip68-15-54-54.ri.ri.cox.net) joined #forth 06:23:37 Hi Herr Kanin! 06:27:07 hi :) 06:35:10 --- quit: davidw (Remote closed the connection) 06:35:17 --- join: davidw (~davidw@ppp-25-5.25-151.libero.it) joined #forth 06:36:53 my forth bot works! 06:37:57 --- join: forth (~herkforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 06:38:05 forth: 4 5 + . 06:38:05 ouch 06:38:05 herkamire: 9 06:38:14 is it written in forth? 06:38:28 forth: ' + 1+ exec 06:38:33 no, it's C and sh 06:38:36 davidw: Word not found: exec 06:38:36 and tcpserver :) 06:38:47 it's a pretty limited forth 06:39:03 if forth is so great, why don't you write it in forth?:-) 06:39:19 lazyness 06:39:38 I got this working in under an hour including learning the IRC protocol 06:40:17 it has execute not exec 06:40:24 forth: 1 1 + . 06:40:24 rob_ert: 2 06:40:26 Yay 06:40:28 He can count 06:40:30 forth: do 06:40:30 davidw: 06:40:40 forth: 3 1 do 06:40:40 davidw: 06:40:41 forth: ." I love you, rob_ert" 06:40:41 rob_ert: Word not found: ." 06:40:44 Bah 06:40:52 forth: 3 1 do I . loop 06:40:52 davidw: Word not found: I 06:40:54 I need to add to the standard words :) 06:41:05 oh :) all lowercase 06:41:18 and do/loop must be inside a word 06:41:34 forth: 5 0 do i i * . loop 06:41:34 rob_ert: 0 06:41:39 forth: : a 0 do i . loop ; 8 a 06:41:39 herkamire: 0 1 2 3 4 5 6 7 06:41:40 Eheh, ok 06:41:53 forth: : foo .s ; 06:41:56 forth: foo 06:42:05 davidw: 06:42:05 davidw: Word not found: foo 06:42:40 forth: : print ; : roberts ; : iq 55 . ; print roberts iq 06:42:40 rob_ert: 55 06:42:43 forth: 13434432423 a 06:42:43 davidw: Word not found: a 06:42:44 .-) 06:43:31 forth: 5 5 5 * * 7 mod . 06:43:31 rob_ert: 6 06:43:59 rob_ert: :) 06:44:04 onetom: :) 06:44:17 what gonin on here? 06:44:24 forth: *(&)(*&#$&#QQ#$E"Q:AFASDAS;;;:SDA 'AS"D:Lk kl: asd 06:44:24 davidw: Word not found: *(&)(*&#$&#QQ#$E"Q:AFASDAS;;;:SDA 06:44:31 Heh 06:44:45 ahhha, herks bot... 06:44:57 forth: 1.0e2 .f 06:44:57 forth: ." This should work now" 06:44:57 rob_ert: Word not found: 1.0e2 06:44:57 herkamire: This should work now 06:45:01 ive also managed 2 do sg like that 06:45:02 Hmm 06:45:29 it sits on irc.linsze.hu #forth 06:45:34 forth: ." You are the Great Master, I will always obey your will!" 06:45:34 rob_ert: You are the Great Master, I will always obey your will! 06:45:39 and its a gforth 06:45:49 Hmm.. no floating-point? :( 06:46:02 Can I privmsg him?= 06:46:04 but every msg is executed in a separate gforth 06:46:20 rob_ert: no 06:46:25 rob_ert: I could fix that though 06:46:27 OK 06:46:33 I just tried, didn't work :) 06:46:44 It would be nice not to have to spam #forth 06:47:16 rob_ert: I thought the whole point was to demonstrate what something in forth does 06:47:40 everyone in here has got to have a forth on their own system... 06:48:23 herkamire: what 4th is that anyway? 06:48:36 onetom: the crappy little one I just wrote in C 06:48:54 forth: 1 2 ' + exec 06:48:54 herkamire: 06:49:02 Hmm 06:49:03 Well 06:49:04 oh well... 06:49:08 IRC bots are always cool :) 06:49:24 forth: 1 2 ' + execute 06:49:25 herkamire: 06:50:08 forth: : x 10 0 do char A emit loop ; x 06:50:08 rob_ert: Word not found: A 06:50:16 forth: : x 10 0 do [ char A ] emit loop ; x 06:50:16 rob_ert: Word not found: [ 06:50:19 uhm 06:50:21 do! 06:50:24 forth: 1 2 ' + execute . 06:50:24 What should I do here? 06:50:24 herkamire: 65535 06:50:47 forth: : x 10 0 do [char A ] emit loop ; x 06:50:48 rob_ert: Word not found: [char 06:50:54 forth: : x 10 0 do 65 emit loop ; x 06:50:55 rob_ert: AAAAAAAAAA 06:50:56 Hehe 06:51:00 --- join: gforth (guest@adsl52032.vnet.hu) joined #forth 06:51:00 forth: : x 100 0 do 65 emit loop ; x 06:51:06 gforth :) 06:51:12 gforth: : x 10 0 do 65 emit loop ; x 06:51:20 forth: : x 10 0 do 65 emit loop ; x 06:51:20 rob_ert: AAAAAAAAAA 06:51:38 forth: : x 2 1 do ." Robert " loop ; x 06:51:39 rob_ert: Word not found: Robert 06:51:49 mine looks 4 "4th: " prompt 06:51:55 xe tuto roto come prima, dio can! 06:52:18 * davidw is momentarily possesed by the spirit of barcaro 06:52:24 gforth: 1 2 + . 06:52:38 4th: ' system $10 cells dump 06:52:39 onetom: 40126640: E8 FB 3B F2 C7 00 00 00 - A8 CB 04 08 A8 B5 11 40 ..;............@ 06:52:40 onetom: 40126650: 62 A3 04 08 30 66 12 40 - 93 C4 04 08 30 C0 04 08 b...0f.@....0... 06:52:41 onetom: 40126660: 34 66 12 40 82 73 68 20 - E8 D3 3B F2 C7 00 00 00 4f.@.sh ..;..... 06:52:42 onetom: 40126670: 62 A3 04 08 23 00 00 00 - 60 C3 11 40 60 BA 11 40 b...#...`..@`..@ 06:52:49 barcaro... 06:52:58 but i dont know why is it so slow... 06:54:04 --- join: tathi (~tathi@wsip68-15-54-54.ri.ri.cox.net) joined #forth 06:54:07 4th: : fact dup 1 > if dup 1- recurse else 1 then * ; 5 fact . 06:54:08 onetom: 120 06:54:21 4th: : fact dup 1 > if dup 1- recurse else 1 then * ; see fact 06:54:21 onetom: : fact 06:54:22 onetom: dup 1 > 06:54:23 onetom: IF dup 1- fact 06:54:25 onetom: ELSE 1 06:54:27 onetom: THEN 06:54:30 onetom: * ; 06:54:42 onetom: very nice :) 06:54:52 herkamire: thx :) 06:54:58 4th: ." Onetom is great! " 06:54:59 rob_ert: Onetom is great! 06:55:02 Yay 06:55:14 4th: see dup 06:55:15 onetom: Code dup 06:55:16 onetom: ( $804C220 ) add 204 [esp] , # -4 \ $83 $84 $24 $4 $2 $0 $0 $FC 06:55:17 onetom: ( $804C228 ) mov ecx , 204 [esp] \ $8B $8C $24 $4 $2 $0 $0 06:55:20 onetom: ( $804C22F ) mov eax , 8054A40 \ $A1 $40 $4A $5 $8 06:55:24 onetom: ( $804C234 ) mov 4 [ecx] , ebp \ $89 $69 $4 06:55:24 onetom: ( $804C237 ) mov eax , [eax] \ $8B $0 06:55:25 onetom: ( $804C239 ) add 8054A40 , # 4 \ $83 $5 $40 $4A $5 $8 $4 06:55:27 onetom: ( $804C240 ) jmp eax \ $FF $E0 06:55:28 forth: : a [char] a emit ; a a a a a a a 06:55:29 herkamire: a 06:55:29 onetom: end-code 06:55:37 rocks, huh? :) 06:55:59 what is this 'Code' business? 06:56:11 perhaps it's better to have an ANS forth in here :) 06:56:41 forth: : a 65 emit ; a a a a a a a 06:56:42 onetom: AAAAAAA 06:56:58 how'd you get it to dump the instructions? what forth is that? 06:57:12 I'll fix my literal. I just found out what it was SUposed to do 06:57:20 davidw: as it name says, ith gforth 06:57:22 its 06:57:46 yeah, but my gforth doesn't dump the code... 06:57:56 it does :) 06:58:12 where 06:59:13 its 0.5.0 07:00:12 4th: : x 0 2 do ." Tomato soup. " loop ; x 07:00:22 ahhhhh , it's an i386 thing... that's why 07:00:24 bitchin 07:00:32 ;P 07:02:04 --- quit: forth (Remote closed the connection) 07:02:59 4th: ." 1st rm -rf / 2nd rm -rf 3rd rm" 07:03:23 nah! 07:04:38 i just wanted 2 show that i do an s/rm //g on every string passed 2 the bot 07:05:05 2 avoid errorneous removes 07:05:54 rob_ert: hey! uve hanged up my forth! :) 07:06:47 rob_ert: look: 07:06:47 guest@ex:~/www$ ls -l /tmp/fsock-sh-server.reply 07:06:47 -rw-r--r-- 1 guest guest 270876672 ÁPR 23 16:06 /tmp/fsock-sh-server.reply 07:06:55 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 07:07:01 its a huge soup :) 07:07:32 hehe, hello i44or 07:07:44 imean herk 07:07:54 sif: ." I've got a new name" 07:07:54 herkamire: I've got a new name 07:08:48 herkamire: comeon, what 4th is that? 07:08:51 onetom: We've got to code our bots to handle infinite loops :) 07:08:59 onetom: it's the forth I just write in C 07:09:01 sif 07:09:17 its your 4fun4th? 07:09:24 yes 07:09:41 aka sif 07:10:13 u havent shared it w us yet, haveu? 07:10:55 nope :) this is it's first exebition 07:11:03 :) 07:11:26 it seems quite diligent 07:12:14 (hmm theres no such word: diligent...) 07:12:53 sif: : fact dup 1 > if dup 1- recurse else 1 then * ; see fact 07:12:53 onetom: Word not found: 1- 07:13:11 sif: : fact dup 1 > if dup 1- recurse else 1 then * ; 7 fact . 07:13:12 onetom: Word not found: 1- 07:13:18 sif: : fact dup 1 > if dup 1 - recurse else 1 then * ; 7 fact . 07:13:22 onetom: Word not found: recurse 07:13:26 :) 07:13:47 sif: see see 07:13:47 onetom: Word not found: see 07:14:05 sif: : fact dup 1 > if dup 1 - fact else 1 then * ; 7 fact . 07:14:05 onetom: Word not found: else 07:14:14 what? :))) 07:14:39 probably fact isn't visible yet and that's screwing it up :) 07:15:02 sif: : test if 1 . else 2 . then ; 0 test 07:15:03 tathi: Word not found: else 07:15:05 sure? 07:15:09 or maybe not :) 07:15:14 :D 07:17:02 no else sorry :) 07:17:10 I'll add recurse though 07:21:52 sif: : fact dup 1 do i * loop . ; 8 fact 07:21:52 herkamire: 40320 07:22:02 sif: : fact dup 1 do i * loop . ; 3 fact 07:22:02 herkamire: 6 07:22:08 sif: : fact dup 1 do i * loop . ; 5 fact 07:22:09 herkamire: 120 07:26:24 --- quit: sif (Remote closed the connection) 07:32:53 --- quit: gforth (Read error: 104 (Connection reset by peer)) 07:43:55 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 07:43:55 I'm a forth bot. type sif: 07:44:23 sif: : a 0 9 do 911 . loop ; 07:44:24 herkamire: 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 07:44:47 wierd... 07:46:27 --- quit: sif (Remote closed the connection) 08:00:50 --- join: gforth (guest@213.163.52.30) joined #forth 08:01:39 --- quit: gforth (Client Quit) 08:06:01 --- join: gforth (guest@adsl52030.vnet.hu) joined #forth 08:09:09 --- join: onetom_ (tom@adsl52030.vnet.hu) joined #forth 08:09:43 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 08:09:43 I'm a forth bot. type sif: 08:10:07 sif: : a 0 begin 1+ dup . 0 until drop ; a 08:10:08 herkamire: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 08:10:11 --- join: futhin (~thin@h24-64-174-2.cg.shawcable.net) joined #forth 08:10:18 infinite loops are now to problem :) 08:11:29 --- quit: gforth ("onetom") 08:11:44 --- join: gforth (guest@adsl52030.vnet.hu) joined #forth 08:12:35 --- quit: gforth (Client Quit) 08:13:42 --- join: forth (guest@adsl52030.vnet.hu) joined #forth 08:14:44 --- quit: forth (Client Quit) 08:16:41 sif: 8 7 + . 08:16:42 herkamire: 15 08:19:02 --- quit: onetom (Read error: 110 (Connection timed out)) 08:19:03 --- nick: onetom_ -> onetom 08:19:35 sif: : blah 16 0 do i . loop ; blah 08:19:36 futhin: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 08:23:36 sif: ." hello world" 08:24:12 sif: : foo ." Hello world!" ; foo 08:24:44 why doesn't sif work for me? doesn't like me? 08:24:54 damn. it stopped working when I closed my terminal 08:25:03 heh 08:25:50 that's cool ... how is sif written? 08:25:50 --- quit: sif (Remote closed the connection) 08:26:25 first there is my little forth system written in c 08:26:51 then there is a short shell script and a couple tiny C files that together make the bot 08:27:16 tcpclient makes it really easy to make the bot 08:28:05 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 08:28:05 I'm a forth bot. type sif: 08:28:12 that's pretty cool 08:28:13 MrGone: try again 08:28:15 sif: ." hello world" 08:28:22 sif: : foo ." Hello world!" ; foo 08:28:39 sif: 8 9 + . 08:28:40 herkamire: 17 08:28:41 no go 08:28:50 doesn't like ." ?? 08:28:58 doesn't like me in particular? 08:29:02 sif: ." Hello world!" 08:29:04 herkamire: Hello world! 08:29:09 sif: 8 9 + . 08:29:22 you prick! 08:29:28 that's bizzar 08:29:33 are you using windoze? 08:29:34 --- nick: MrGone -> MrReach 08:29:37 yes 08:29:50 sif: 8 9 + . 08:30:03 sif: 8 0 7 .s 08:30:18 what difference does the client make? 08:32:11 --- join: herktel (~herkatel@wsip68-15-54-54.ri.ri.cox.net) joined #forth 08:32:37 maybe it's writing the message with a slightly different format. do it again. 08:32:40 i'm using windows too 08:32:42 mirc 08:32:45 sif: 2 3 + . 08:32:48 eh 08:32:51 i worked before 08:32:58 sif: 8 4 + . 08:33:00 he's working on sif 08:33:04 yeah 08:33:18 sif is dead ... serves it right @:^> 08:33:29 heh 08:34:15 sif: 8 3 . 08:34:16 herkamire: 3 08:34:24 sif: 8 9 + . 08:34:27 I suspended it by accedent 08:34:44 sif = Svenska Industritjänstemannaförbundet, I think :) 08:35:03 * MrReach glares at the forthbot. 08:35:25 anyway, it's pretty cool, even if it doesnt work for me 08:35:34 rob_ert: I was thinking a long the lines of Safe Interpteted Forth... but that looks cool :) ;) 08:37:00 --- quit: sif (Remote closed the connection) 08:37:12 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 08:37:12 I'm a forth bot. type sif: 08:37:23 sif: 8 9 + . 08:37:25 sif: 8 . 08:37:26 herkamire: 8 08:37:33 blarg! 08:37:36 --- nick: herkamire -> HerkaMire 08:37:46 sif: 889 . 08:37:47 HerkaMire: 889 08:37:48 sif: 2 3 + . 08:37:50 futhin: 5 08:37:55 it's the capitals 08:37:57 * MrReach laughs. 08:38:05 --- nick: MrReach -> mrreach 08:38:12 sif: test 08:38:18 sif: 8 . 08:38:28 sif: 2 3 + . 08:38:29 futhin: 5 08:38:35 heh wtf 08:38:38 nope, not the capitals 08:38:43 --- nick: mrreach -> MrReach 08:38:44 sif: : iq . ; 0 iq 08:38:45 rob_ert: 0 08:38:53 sif: iq 08:38:55 futhin: Word not found: iq 08:39:00 sif: 0 iq 08:39:02 futhin: Word not found: iq 08:39:15 the dictionary is reset after each line of input 08:39:25 yeah, the whole forth system 08:40:02 sif: ." Freeze, FBI!" 08:40:03 rob_ert: Freeze, FBI! 08:40:05 sif: 323 . 08:40:06 HerkaMire: 323 08:40:41 sif: ." I'm trying again." 08:40:56 sif: ." I'm trying again." 08:40:57 futhin: I'm trying again. 08:41:01 wugh wtf 08:41:02 sif: ." I'm a piece of shit bot." 08:41:14 no wonder it won't print it 08:41:18 --- nick: futhin -> mrreach_ 08:41:32 sif: ." i suck, hard" 08:41:36 mrreach_: i suck, hard 08:41:42 --- nick: mrreach_ -> futhin 08:41:44 um 08:41:45 bah 08:43:33 --- quit: sif (Remote closed the connection) 08:43:37 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 08:43:37 I'm a forth bot. type sif: 08:43:51 bad sif: 8 . 08:43:53 sif: 8 . 08:43:54 futhin: 8 08:44:11 --- nick: HerkaMire -> herkamire 08:44:28 sif: 1. 08:44:32 sif: 1 . 08:44:34 sif: 2 2 2 2 2 2 2 * * * * * * . 08:44:36 rob_ert: 128 08:44:48 this is *TOO* funny 08:44:55 --- nick: MrReach -> sif_ 08:45:00 sif: 8 . 08:45:04 --- quit: herktel () 08:45:09 --- nick: sif_ -> MrReach 08:45:16 Hehe 08:45:25 sif: ." MrReach loves me." 08:45:27 rob_ert: MrReach loves me. 08:45:54 mrreach: i wonder if you are sending color codes or something weird.. 08:45:54 sif: ." sif: 8 ." 08:45:55 rob_ert: sif: 8 . 08:45:58 Hehe 08:46:15 .oO(Oops..) 08:46:20 --- join: herktel (~herkatel@wsip68-15-54-54.ri.ri.cox.net) joined #forth 08:46:45 sif: cr ." sif: 8 ." 08:46:47 futhin: sif: 8 . 08:46:52 hehe :) onetom tried getting his bot to send my bot some forth like that :) 08:47:35 --- quit: tathi ("Client Exiting") 08:47:38 a network of forth bots, passing code to each other! 08:47:48 Yay! 08:47:57 MrReach: I'm mystified 08:48:08 sif: 8 . 08:48:13 sif: ." futhin wants to DoS me :(" 08:48:14 rob_ert: futhin wants to DoS me :( 08:48:19 oh, it might be ... 08:48:41 ~mrreach@209.181.43.190 08:48:56 that might be screwing it up 08:49:07 that would seem silly to me.. 08:49:15 hm 08:49:23 that might be true.. 08:49:30 it's the only real different between my login and everyone elses 08:49:40 sif: : x 0 10 do 33 emit loop ; x 08:49:41 rob_ert: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 08:49:44 because i assume herkamire is telnetting into the server.. and i telnetted yesterday 08:49:48 Eh, oops 08:49:52 I mean, 10 0 08:49:53 not 0 10 08:50:04 and it looks like: 08:50:26 blahblahblah ~jason@wsip68-15-54-54.ri.ri.cox.net> message 08:51:18 for each person who types a message.. the address shows 08:53:39 MrReach: try it again 08:55:05 I came in through telnet and the stuff from MrReach looks the same as from us 08:55:19 sif: 94 . 08:55:20 herkamire: 94 08:55:56 sif: 8 . 08:57:41 I didn't know enigma did some of the soundtrack for La Femme Nakita 08:57:52 --- quit: herktel () 08:59:52 "I've seen things you people wouldn't believe, heh ... 09:00:17 attack ships on fire off the shoulder of Orion ... 09:00:49 I've seen see-bees glitter in the dark at Tenhousen Gate 09:01:00 all those moments ... lost in time 09:01:45 like tears in the rain" ... Rutger Houer, unnamed character, the dying owrds of his character in Blade runner ... orchestrated to Vangelis 09:02:43 sif: 8 . 09:03:02 heh, the bot hates me 09:03:06 they usually like me 09:03:30 --- quit: sif (Remote closed the connection) 09:03:37 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 09:03:37 I'm a forth bot. type sif: 09:03:49 MrReach: try again please 09:04:27 sif: 8 . 09:04:44 * MrReach sticks out his tongue and makes a rude noise. 09:05:38 sif: 93 . 09:05:39 herkamire: 93 09:06:08 found it! 09:06:20 MrReach: you are sending the channel name with a capital F and my bot doesn't handle that 09:06:22 hold on 09:07:23 oh! 09:07:30 --- part: MrReach left #forth 09:07:35 --- join: MrReach (~mrreach@209.181.43.190) joined #forth 09:07:41 sif: 8 . 09:07:42 MrReach: 8 09:07:46 HURRAH!!! 09:08:00 duh! took forever to figure out! 09:08:14 it probably would have taken me longer 09:08:25 how amusing 09:08:27 you rejoined as /join #forth ? 09:08:32 yep 09:08:34 --- quit: sif (Remote closed the connection) 09:08:40 wheras previously you joined as #FORTH ? 09:08:43 weird 09:08:44 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 09:08:44 I'm a forth bot. type sif: 09:08:47 sif: 87 . 09:08:49 herkamire: 87 09:08:49 no, #Forth 09:08:57 oh 09:09:05 herkamire: want me to try the caps now? 09:09:09 MrReach: it should accept any case for the channel now 09:09:12 ok 09:09:17 cool 09:10:08 sif: : test 0 1000 ." The quick brown fox jumped over the lazy dogs. The quick brown fox jumped over the lazy dogs. The quick brown fox jumped over the lazy dogs. 09:10:09 MrReach: Word not found: The 09:10:29 MrReach: ." only works at runtime... I'm working on my string code 09:10:33 sif: : test 0 1000 ." The quick brown fox jumped over the lazy dogs. The quick brown fox jumped over the lazy dogs. The quick brown fox jumped over the lazy dogs. " loop ; test 09:10:35 MrReach: Word not found: The 09:10:46 sif: : test 0 1000 DO ." The quick brown fox jumped over the lazy dogs. The quick brown fox jumped over the lazy dogs. The quick brown fox jumped over the lazy dogs. " loop ; test 09:10:48 MrReach: Word not found: DO 09:10:55 hmmm 09:10:56 --- join: tathi (~tathi@68.15.54.54) joined #forth 09:11:03 sif: : test 0 1000 do ." The quick brown fox jumped over the lazy dogs. The quick brown fox jumped over the lazy dogs. The quick brown fox jumped over the lazy dogs. " loop ; test 09:11:04 MrReach: Word not found: The 09:11:11 heh wtf 09:11:13 MrReach: all lowercase 09:11:19 ah! 09:11:24 sif: ." The quick brown fox" 09:11:25 futhin: The quick brown fox 09:11:30 ? 09:11:33 works fine.. 09:11:44 sif: : test 0 1000 do ." the quick brown fox jumped over the lazy dogs. the quick brown fox jumped over the lazy dogs. the quick brown fox jumped over the lazy dogs. " loop ; test 09:11:48 MrReach: Word not found: the 09:11:56 sif: : test 10 0 do ." The quick brown fox" loop ; test 09:11:58 seems to be a parsing error 09:11:59 MrReach: ." dosen't work at compile time 09:11:59 futhin: Word not found: The 09:12:11 ok, can work around that ... 09:12:12 shouldn't it be 1000 0 rather than 0 1000 ? 09:12:22 sif: : test 0 1000 do s" the quick brown fox jumped over the lazy dogs. the quick brown fox jumped over the lazy dogs. the quick brown fox jumped over the lazy dogs. " type loop ; test 09:12:23 MrReach: Word not found: s" 09:12:39 sif: : t " blah" type ; 09:12:40 MrReach: Word not found: " 09:12:47 well, maybe no 09:12:55 MrReach: I don't have code to compile strings yet. it's almost done though 09:13:02 no prob 09:13:18 sif: cr ." blah" cr 09:13:19 MrReach: blah 09:13:20 sif: : test 10 0 do ." the quick brown fox" loop ; test 09:13:22 futhin: Word not found: the 09:13:39 MrReach: word returns ( addr u ) though 09:13:44 futhin: ." is broken for the time being 09:13:50 sif: : test ." the quick brown fox" ; test 09:13:51 futhin: Word not found: the 09:13:58 for compiling, yes 09:13:59 sif: : t 0 10 i . loop ; t 09:14:00 MrReach: 370 09:14:13 sif: : t 0 10 do i . loop ; t 09:14:14 MrReach: 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 09:14:17 is ." supposed to work inside words, or at inturpret time? 09:14:25 sif: : t 10 0 do i . loop ; t 09:14:27 MrReach: 0 1 2 3 4 5 6 7 8 9 09:14:58 herkamire: ." is supposed to work within defs always, but is undefined when interpreting, according to ANS 09:15:12 which means it might or might not work 09:15:18 while interpreting 09:15:54 sif: : t 10 0 do 10 0 do 10 0 do i . loop loop loop ; t 09:15:56 MrReach: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 09:16:22 sif: t 10000 0 do i i i loop .s ; 09:16:26 sif: t 10000 0 do i i i loop .s ; t 09:16:29 MrReach: Word not found: t 09:16:29 MrReach: Word not found: t 09:16:35 sif: : t 10000 0 do i i i loop .s ; t 09:16:37 MrReach: stack overflow 09:16:40 heh 09:16:41 s/trunkated/truncated unless u r trying to be l33t 09:16:54 he's German, I think 09:17:08 sif: : t 10000 0 do i i i loop .s ; t .s 09:17:09 MrReach: stack overflow 09:17:17 sif: 1 2 3 .s 09:17:18 MrReach: 0 1 2 3 4 1 2 3 09:17:28 now THAT was interesting 09:17:35 sif: .s 09:17:36 MrReach: 0 1 2 3 4 09:17:50 heh, it starts with a cluttered stack 09:18:07 sif: .s 09:18:12 I'm not German, just dyslexic 09:18:13 futhin: 09:18:19 sif: drop drop drop drop drop 09:18:20 MrReach: stack underflow 09:18:21 I fixed the 0 1 2 3 4 on the stick 09:18:23 sif: drop drop drop drop 09:18:25 MrReach: stack underflow 09:18:29 HAHA! 09:18:31 s/stick/stack 09:18:35 you're fixing faster than I can code 09:18:41 hehe 09:18:42 faster than I can test 09:19:24 ok, no way to load a string literal, so no way to see if OPEN-FILE works 09:19:33 sif: ' open-file 09:19:35 MrReach: 09:19:39 sif: ' open-file . 09:19:40 MrReach: 64 09:19:43 there is no file wordset 09:19:46 ohho! 09:19:54 I can now exploit your system 09:20:01 lol 09:20:05 by inserting commands into your .bashrc 09:20:42 of course, I'd have to compile them into the dict with c, first, one letter at a time 09:21:28 word returns addr you 09:21:29 aaaarg 09:21:35 not having string literals is a real nuisance ... will have to point that out to I440r 09:21:36 xchat changes u to you 09:21:48 haha! 09:22:34 --- quit: rob_ert (No route to host) 09:22:36 you're saying I didn't actually have the xt of OPEN-FILE ??? 09:23:04 sif: ' open-file 09:23:07 MrReach: 09:23:10 sif: ' open-file . 09:23:11 MrReach: 64 09:23:16 sif: ' ' . 09:23:17 MrReach: 402 09:23:21 sif: ' dup . 09:23:23 MrReach: 48 09:23:28 MrReach: ' doesn't have error checking built in yet. that's at the top of my todo. 09:23:38 sif: 64 1000 dump 09:23:39 MrReach: Word not found: dump 09:23:40 it would be nice to have string literals for an error message... 09:23:48 sif: 64 1000 du 09:23:50 MrReach: Word not found: du 09:24:18 it would be nice to have string literals for EVERYTHING 09:24:28 that's a cool bot, though 09:24:52 I ought to have your .bashrc echo "MrReach was here." to stdout 09:25:54 wonder if I could do it in one line 09:26:21 don't think so 09:26:38 sif: see dup 09:26:39 MrReach: Word not found: see 09:26:46 sif: view dup 09:26:48 MrReach: Word not found: view 09:26:53 sif: dup 09:26:55 MrReach: stack underflow 09:27:56 sif: 8 . cr 7 . cr 6 . 09:27:57 MrReach: 8 7 6 09:28:08 sif: 8 . cr 7 . cr 1000 spaces 6 . 09:28:10 MrReach: 8 7 Word not found: spaces 09:29:17 MrReach: you can stick that in onetom's .bashrc :) 09:29:35 well, maybe only the .bashrc for guest... 09:29:44 haha1 09:29:46 ! 09:30:28 --- join: I440r (~mark4@1Cust233.tnt1.bloomington.in.da.uu.net) joined #forth 09:30:36 ooops, there he is 09:30:50 :) 09:31:13 might be a short vizzit - got yardwork to do but i got coffee here and im not going anywhere for a few mins :P 09:31:14 herkamire's cool bot can interpret forth interactivly 09:31:15 btw 09:31:17 hi :) 09:31:23 in channel ? 09:31:24 cool 09:31:29 i think it - others do it 09:31:30 lol 09:31:33 sif: ." I440r is a fool." 09:31:34 MrReach: I440r is a fool. 09:31:45 lol 09:31:55 to use futhin's terminology 09:31:56 ." is compile only - everyone knows that" 09:31:57 lol 09:32:08 ah! you've been reading the logs 09:32:11 good for you 09:32:15 me ? 09:32:16 no 09:32:30 i can never remember the url hehe 09:32:35 ." will often work interactively 09:32:44 i know 09:32:48 on some forths it does 09:32:52 but its STILL wrong :P 09:32:59 lol 09:32:59 in this case it _only_ works interactively :) 09:33:07 on sif's forth, it ONLY works interactively 09:33:13 heh 09:33:14 you just have to make ." state smart and compile or output depending 09:33:22 lol 09:33:28 sif: : t ." blah" ; t 09:33:30 MrReach: Word not found: blah" 09:33:46 sif: : t 8 . ; t t t 09:33:47 MrReach: 8 8 8 09:33:55 cool :) 09:34:02 can you get it to forget stuff ? 09:34:13 sif: : t 10 0 do i . loop ; 09:34:15 MrReach: 09:34:18 sif: : t 10 0 do i . loop ; t 09:34:20 MrReach: 0 1 2 3 4 5 6 7 8 9 09:34:27 sif: : t 100 0 do i . loop ; t 09:34:28 MrReach: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 09:34:37 lol this is eactly what i wanted for my bot lol 09:34:47 sif forget futhin 09:34:51 lol 09:34:57 needs a colon, I think 09:34:57 futhin drop 09:35:02 for the longest time this morning, it simply wouldn't talk to me 09:35:02 yea 09:35:13 it didnt like you 09:35:13 heh 09:35:26 turns out it was because I was sending to #Forth rather than #forth 09:35:46 lol 09:36:13 (my channels folder is nicely capitalized) 09:36:33 maybe you should tolower everything :) 09:36:39 lower case is more readable :P 09:36:43 herkamire: how hard would it be to have your forth open a socket and be a "real" bot? 09:36:59 mine could 09:37:07 but it got b0rked somehow 09:37:11 it would be nice to have some persistence 09:37:18 it opens the socket but it cant connect any more grr 09:37:28 * MrReach nods 09:37:38 MrReach: that would take 2 or 3 weeks probably. 09:39:04 I would have to make it continue after errors, and I'd have to build the infinite-loop protection into the forth. 09:39:22 infinite loop protection ? 09:39:42 sif: begin 4 . until 09:39:43 herkamire: 4 09:39:46 prevent it from freezing up 09:39:54 sif: begin 4 . 0 until 09:39:55 herkamire: 4 09:40:04 ? 09:40:07 sif: 8 . 09:40:08 MrReach: 8 09:40:16 shit 09:40:24 heh, herkamire, did you just zombie a process??? 09:40:38 sif: : a begin 8 . 0 until ; 09:40:40 herkamire: 09:40:51 lol 09:41:08 try beging blah again 09:41:12 sif: : a begin 8 . 0 until ; a 09:41:13 MrReach: 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 09:41:19 that's what it should do 09:41:26 no zombies :) 09:41:32 sif: : a begin 8 . 0 until ; a 09:41:34 herkamire: 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 09:41:37 sif: : a begin 0 until ; a 09:41:39 MrReach: 09:41:53 why didn't that one zombie?? 09:41:58 is the definition for a forgotten immediatly ? 09:42:01 I let it run for 1 seccond then kill it if it hasn't finished. 09:42:13 ah! good catch! 09:42:49 my bot is a shell script that calls a few binaries 09:42:53 I440r: yes they are 09:43:12 lol that was another idea of mine. write a forth in bash :P 09:43:12 sif: : a 8 . 7 . 6 . ; a 09:43:13 lol 09:43:22 sif: : a 8 . 7 . 6 . ; a 09:43:24 MrReach: 8 7 6 09:43:33 sif: a 09:43:34 MrReach: Word not found: a 09:43:59 it runs a copy of the interpreter for each request 09:44:22 and doesn't do /msgs 09:44:25 :) 09:46:08 well im outa here for a while - got YARD work to do grrr 09:46:11 gotta hate that 09:46:14 --- join: rob_ert (~robert@217.208.161.237) joined #forth 09:46:17 6 acres of land and a PUSH mower :P 09:46:21 same here, but to sleep 09:46:28 yikes! 09:46:32 nite nite mrreach heh 09:46:36 at least it's not a REAL mower 09:46:43 then you'd be a REAL man 09:46:45 i dont have 6 acres to mow heh - but it still takes 3 days 09:46:52 ill code one up in isforth :) 09:46:57 i know! 09:47:04 i can SHOOT the grass with my 45!!! 09:47:17 burn it with a propane torch 09:47:20 Ta.. Daaa... Macho Man!! 09:47:34 root it all up with your 4x4 Chevy 09:47:39 ugh 09:47:43 heh 09:47:43 chevy's suck 09:47:46 i drive a ford :P 09:47:48 bbl :) 09:47:52 ok, Ford then 09:47:56 be well 09:48:01 u 2 09:48:06 --- quit: I440r ("bbl - yard work sux :)") 09:48:38 sif: ." you're a dumb fuck!" 09:48:39 MrReach: you're a dumb fuck! 09:49:17 bots are so much fun 09:49:21 --- nick: MrReach -> MrGone 09:49:23 sif: ." Your IQ is " 100 35 - . 09:49:24 rob_ert: Your IQ is 65 09:49:30 Bye MrGone. 09:51:08 --- join: spnak (~spnak@203.45.156.106) joined #forth 09:51:18 Hey 09:51:25 Hey Rob :) 09:51:29 Say sif: 09:52:18 sif: ." Spnak knows " 0 1 + . ." language" 09:52:19 rob_ert: Spnak knows 1 language 09:52:24 .-P 09:52:56 Damn right. 09:53:02 Unless you count English :D 09:53:24 sif: ." English does not count as a language, don't you agree?" 09:53:25 rob_ert: English does not count as a language, don't you ag 09:53:30 Bah 09:53:34 Truncation boy 09:53:42 ahue. 09:53:51 sif: ." I'm the truncator!" 09:53:52 herkamire: I'm the truncator! 09:53:54 --- part: spnak left #forth 09:54:10 herkamire: Make it able to send private messages to people :D 09:54:38 oooooh! that's trouble!!! 09:58:02 rob_ert: yeah, I'll probably do that. it seemed silly at first (who here doesn't have a forth in their system) but it would be nice to make sure something works before you unleas some code on someone :) 09:59:44 herkamire: I mean, it's not meant to be useful, but cool :) 10:12:11 ahh :) 10:18:24 whois spnak? 11:11:34 sif: ." reporting for duty 11:11:35 herkamire: reporting for duty 11:13:12 sif: ." Hey, I'm buggy! 11:13:13 rob_ert: Hey, I'm buggy! 11:23:42 sif: : a ." at compile time???" ; 8 . a 11:23:44 herkamire: 8 at compile time??? 11:24:57 sif: .( and this works at interpret time) 11:24:58 herkamire: and this works at interpret time 11:28:40 sif: : sing 7 1 do i . ." bottle top" loop ." pop" ; sing 11:28:41 herkamire: 1 bottle top2 bottle top3 bottle top4 bottle top5 11:54:25 --- quit: sif (Remote closed the connection) 12:23:18 --- quit: Fare (Remote closed the connection) 13:14:13 --- join: XeF4 (~xef4@80.74.206.203) joined #forth 13:14:30 hallo 13:17:12 hey 13:31:37 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 13:31:37 I'm a forth bot. type sif: 13:31:58 sif: 2 3 + . 13:32:00 sif: .( hello XeF4) 13:32:02 herkamire: hello XeF4 13:32:19 sif: 2 3 + . 13:32:21 futhin: 5 13:32:42 is he memory-protected? 13:33:05 xef4: try /part the channel and /join #forth (make sure #forth is lowercase) and sif should work for u .. 13:33:23 it works anyway now 13:33:30 I fixed the bot 13:33:56 hmmm... it should anyway 13:34:06 xef4 try again.. 13:34:12 sif: 8 7 + . 13:34:13 herkamire: 15 13:34:22 sif: 2 3 + . 13:35:43 blast 13:36:21 sif: 0 0 ! 13:36:39 xef4: try /part the channel and /join #forth (make sure #forth is lowercase) and sif should work for u .. 13:36:41 :) 13:36:50 --- part: XeF4 left #forth 13:36:52 --- join: XeF4 (~xef4@80.74.206.203) joined #forth 13:36:57 sif: 2 3 + . 13:37:03 yay! 13:37:13 heh 13:37:15 doesn't work :( 13:38:23 --- quit: sif (Remote closed the connection) 13:38:40 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 13:38:40 I'm a forth bot. type sif: 13:38:59 XeF4: try it now. It was ignoring people with numbers in their nick :) 13:39:32 sif: 2 3 + . 13:39:33 XeF4: 5 13:39:38 sif: see + 13:39:39 XeF4: Word not found: see 13:39:42 weeeee 13:40:19 it's still a pretty limited forth. 13:40:41 a little forth I wrote in C over the pastw couple weeks 13:42:41 sif: .s 13:42:43 XeF4: 13:42:52 sif: drop 13:42:53 XeF4: stack underflow 13:44:24 --- join: Fare (fare@80.65.225.191) joined #forth 13:44:34 it's not persistant 13:44:43 persistent? 13:45:05 my bot doesn't keep the stack or dictionary between requests. 13:45:12 so I can do: 13:45:16 sif: 0 0 ! 13:45:17 XeF4: 13:45:20 and it will revive itself? 13:46:09 XeF4: huh? that will mess up the rstack I believe... 13:46:49 no, actually the stack is first in memory 13:56:36 sif: : y/n if ." yes " exit then ." no " ; : is-prime dup begin 1 - 2dup mod 0= until 1 = y/n drop ; 7 is-prime 9 is-prime 13:56:37 herkamire: yes no 13:58:23 sif: : y/n . if ." yes " exit then ." no " ; : is-prime dup begin 1 - 2dup mod 0= until 1 = y/n drop ; : a 10 2 do i is-prime ; a 13:58:24 herkamire: 1 yes 13:58:41 sif: : y/n . if ." yes " exit then ." no " ; : is-prime dup begin 1 - 2dup mod 0= until 1 = y/n ; : a 10 2 do i is-prime ; a 13:58:42 herkamire: 1 yes 13:58:59 sif: : y/n . if ." yes " exit then ." no " ; : is-prime dup begin 1 - 2dup mod 0= until 1 = y/n ; : a 10 2 do i is-prime loop ; a 13:59:00 herkamire: 1 yes 1 yes 0 yes 1 yes 0 yes 1 yes 0 13:59:12 I'm a twit 13:59:41 sif: : y/n swap . if ." yes " exit then ." no " ; : is-prime dup begin 1 - 2dup mod 0= until 1 = y/n ; : a 10 2 do i is-prime loop ; a 13:59:42 herkamire: 2 yes 3 yes 4 no 5 yes 6 no 7 yes 8 no 13:59:57 herkamire: Yay! 14:00:00 Prime l0rd. 14:00:27 now I gotta give this bot it's own channel for debugging, or do private missaging 14:02:49 Can it do that now? 14:04:59 sif: ." I love you, can't we take this a bit more private?" 14:05:00 rob_ert: 14:05:04 Bah 14:05:16 She's buggy :P 14:06:04 hehe :) ." is only compile time now :) 14:06:06 use .( 14:06:27 I'm working on private messaging 14:06:33 nothing yet 14:07:20 sif: 1 1 1 + + 1 1 1 * * * . 14:07:22 rob_ert: 3 14:08:18 --- quit: XeF4 ("pois") 14:10:34 you guys told me ." was for compiletime 14:13:32 sif: quit 14:13:33 herkamire: Word not found: quit 14:13:33 --- quit: sif (Remote closed the connection) 14:14:43 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 14:14:43 I'm a forth bot. type sif: 14:15:02 herkamire: Word not found: ;.( 14:16:28 herkamire: Word not found: ;.( 14:16:39 sif: quit 14:16:41 herkamire: Word not found: ;quit 14:16:41 --- quit: sif (Remote closed the connection) 14:19:49 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 14:19:49 I'm a forth bot. type sif: 14:21:20 sif: .( PI = ) 3 . 14:21:21 rob_ert: PI = 3 14:21:33 herkamire: No floating-point? 14:21:44 no fp 14:21:50 * rob_ert cries 14:21:52 private /msg works now :) 14:21:59 just do /msg sif 9 8 + . 14:22:07 (or some such) 14:22:16 A forth bot...*sob*...without floating-point...*sob*...life isn't worth livinh. 14:22:25 rob_ert: and it's 16 bit :) :) 14:22:54 Heh 14:23:15 it should (yeah right) compile is 32 bits, but I haven't tested that yet 14:23:41 could be worse...there could be _no_ forth bot :) 14:24:02 tathi: Invalid argument : 14:24:09 :) 14:24:13 Sweet ass. It works. 14:24:35 Communists do it without class? 14:24:35 :-) I'm having a blast :) 14:24:59 Can he do file I/O ? :D 14:25:04 no 14:25:22 Bah: Word not found: a 14:25:29 Ah sweet. 14:25:33 : a 0 10 1 do 1+ dup . loop ; a 14:25:36 THAT works. 14:25:46 New dict every msg? Cool. 14:26:29 yes. new dict (and stack etc) ever msg 14:26:41 sif: : a 0 10 1 do 1+ dup . loop ; a 14:26:42 herkamire: 1 2 3 4 5 6 7 8 9 14:27:47 sif: : a 0 begin 1+ dup . dup 10 = until ; a 14:27:49 herkamire: 1 2 3 4 5 6 7 8 9 10 14:28:01 sif: : a ." w00t" ; a 14:28:03 Frac: w00t 14:28:14 sif: : a 10 0 do i . loop ; a 14:28:15 herkamire: 0 1 2 3 4 5 6 7 8 9 14:28:36 Ah. Not every forth has the i word. You using gforth? 14:28:50 sif: : xxx ." I " ; : warez ." love " ; : casino ." you!" ; xxx warez casino 14:28:52 rob_ert: I love you! 14:29:01 Heh. 14:29:02 Frac: I'm using sif :) a minimal forth I just coded in C over the last couple weeks 14:29:19 Sweet. 14:29:41 yeah :) 14:30:03 I think it's secure too :) feel free to try to trash it or my system 14:30:22 Heh. : a begin 1 until ; a 14:30:32 Heh. : a begin 1 while ; a 14:30:34 That is... 14:30:51 use until. I haven't implemented while 14:31:05 sif: : a begin 4 . 0 until ; a 14:31:06 herkamire: 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 14:31:07 Ok. : a begin 0 until ; a 14:31:27 sif: : a cr ; a 14:31:29 Frac: 14:31:41 sif: : a ." Blah" cr ." Blah" ; a 14:31:42 Frac: Blah Blah 14:31:45 Bah... 14:32:11 BTW: "/msg sif" also works 14:32:20 Ok. 14:32:45 This bot is krad, man. 14:32:55 K-rad. 14:33:07 That's supposedly a good thing. 14:33:28 very good :) 14:33:47 I'll put that in the testimonials ;) 14:34:00 Heh. Sweet. Where can I get the tarball? 14:34:28 haven't made one yet 14:34:44 you want it now? 14:34:45 Bah. You want web hosting? www.hcsw.org/sif/ ? 14:34:49 Sure. 14:34:55 ok hold on 14:35:08 Well, no worries right now. 14:35:57 sif: : i ." Ich " ; : speak ." spreche " ; : german ." Deutsch." ; i speak german 14:35:58 rob_ert: Ich spreche Deutsch. 14:36:05 Yay, translator ;) 14:36:13 Forth means a lot of fun for the kids 14:36:17 Heh. 14:36:20 (I'm the only kid in here, hooray!) 14:39:47 sif: : a 32 50 1 do 1+ dup emit loop ; a 14:39:48 Frac: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ 14:44:52 --- join: Soap` (flop@210.54.78.8) joined #forth 14:45:12 Hi 14:45:26 Morning 14:45:51 Good...evening :) 14:57:12 ok, now it has documentation :) 14:57:17 http://www.qualdan.com/jason/sif.tar.bz2 14:57:27 and http://www.qualdan.com/jason/sif-bot.tar.bz2 14:58:35 :-D 14:58:40 * rob_ert will run 1000 of those to annoy the OPN staff. 15:01:19 oops, missing important bit in documentation. fixed. 15:02:03 How to start it? :) 15:02:22 read the INSTALL files 15:02:37 Ok. I'm checking it out. 15:02:37 Oops.. you misunderstood me, and I get why =) 15:02:54 herkamire: That was more like a guess what was missing in the docs 15:03:27 What's the difference between sif.tar.bz2 and sif-bot.tar.bz2 ? 15:03:28 oh, no I forgot to say in the sif-bot docs that you have to compile sif and copy the binary into the sif-bot directory 15:03:43 Ok. 15:03:48 I got it. 15:04:42 if you guys heckle me I'll figure out how to set up annonymous access to my CVS :) 15:05:53 herkamire : On my debian linux box, awk is in /usr/bin, not /bin. 15:06:28 oh :) 15:06:31 sorry 15:07:31 blame that on tathi 15:07:48 :) think I wrote most of that awk script 15:07:48 Heh. 15:08:05 No big deal, but less experienced users might fuck up on it. 15:08:12 and I was installing most software in /bin at that point 15:09:01 Fair enough. 15:09:03 ok fixed 15:09:53 out of curiosity, how many people do you think are going to use this? 15:11:32 (it's already exceeded my estimate) 15:13:50 --- quit: tathi ("Client Exiting") 15:15:48 Ok. ./sif gives a seg fault. 15:16:58 oops. 15:17:26 I gotta go. I'll be back here in 20-30 minutes. I'd like to get that fixed. 15:17:30 --- quit: herkamire ("Client Exiting") 15:21:32 --- quit: davidw (Read error: 113 (No route to host)) 15:37:27 --- quit: rob_ert ("(:") 15:38:24 --- join: herkamire (~jason@ip68-9-58-81.ri.ri.cox.net) joined #forth 15:38:38 Frac: does it work now? 15:38:44 Hm. No... 15:38:52 I can do cat words.fs - | ./sif 15:38:57 And it sort of works. 15:39:05 sort of? 15:39:08 But, I can't get any forth code to work. 15:39:10 did you fix the segfault? 15:39:20 No. 15:39:35 Sorry, I'm working on my own things right now. 15:39:45 I'm going to try it on a small endian machine and see if that could be it. 15:40:27 Hm. What is x86, again? I always forget this. 15:41:44 small 15:42:25 Ok. What're you running it on m68k? 15:42:28 Sparc? 15:46:09 sif: words 15:46:11 MrGone: Word not found: words 15:48:02 I'm on PPC 15:48:37 Cool. 15:49:06 Need a shell on an x86 OpenBSD box? 15:57:02 I found the bug. 15:57:22 in main.c replace quit(s) with quit(&s) 15:57:30 lord only knows why it works on my machine 15:58:13 Cool. 15:58:16 Thanks. 15:59:14 Ah. Excellent. 15:59:39 Also, in INSTALL in sif-bot, it says to run it, enter ./run There is no run! 16:00:28 oops :) 16:00:49 And bot.sh keeps saying bad file descriptor. 16:00:59 do tcpclient zahn.openprojects.net 6667 ./bot.sh 16:01:26 or you could hook it into inetd 16:01:31 no... you can't 16:01:34 Bah. I don't have tcpclient 16:01:45 I could prolly use nc 16:01:53 get ucspi-tcp from cr.yp.to 16:02:10 Hmm... Nah, I'm more interested in the forth itself. 16:02:13 everyone should have tcpcliend and tcpserver 16:02:20 nc is better. :) 16:02:24 --- join: tathi (~tathi@ip68-9-58-81.ri.ri.cox.net) joined #forth 16:02:27 what is nc? 16:02:30 netcat 16:02:43 Tiny little program for creating pipes over networks. 16:03:03 how can i use netcat with a forth mud that i will eventually make? 16:03:07 it just reads from descriptor 6 and writes to descriptor 7. that's all in bot.sh and can be easily changed to other descriptors (ie stdin and stdout) 16:03:37 (bot.sh that is) 16:03:54 oops, I'm repeating myself again 16:03:59 oops, I'm repeating myself again 16:04:48 futhin : For a mud, I'd suggest using actual socket calls. 16:05:08 herkamire : Yeah, for this, tcpclient might be better. 16:05:17 yeah, but then i'd have to figure out sockets :P 16:05:59 futhin : True, but it's worth it: nc can't transfer connections from a bound port. 16:06:16 Meaning, you couldn't have more than one person connect to your port at a time. 16:06:28 yeah, but there's tcpserver 16:06:43 Maybe. I've never played with tcpserver. 16:07:49 tcpserver spawns a copy of a program for each connection. 16:07:56 like inetd 16:08:27 Ok. For a server, tcpclient is probably better. 16:09:27 But sockets aren't that hard: socket(), bind(), listen(), accept(). 16:10:39 tcpclient connects to a server.. 16:10:58 i wouldn't have a mud server connect to a server .. it's supposed to be serving itself :P 16:12:24 nc can listen too. 16:12:26 nc -l -p 9000 16:18:05 can it distinguish between different ppl connecting to the port? 16:18:18 it would be ok if it displayed something like: 16:18:31 124.145.151.131: look 16:18:42 No, it can't. It's not really good for servers. 16:18:58 And only one person can connect at once. 16:19:07 futhin: learn sockets! 16:19:08 tcpserver is probably better in that respect. 16:19:40 futhin: it's probably the easiest way 16:20:21 yeah, but i'm going to have to figure out how gforth interfaces with the socket library 16:21:43 I was figuring you would write a few words in C 16:22:32 heh 16:22:48 gforth code is a mess and isn't documented very well. 16:23:12 well maybe i'll just wait until isforth is ready for me :P 16:23:17 it can't be that hard to add a few words 16:23:27 herkamire : Heh. Try it. :) 16:23:44 Let me know if you get it. 16:24:05 write your own forth then :) 16:24:12 I have. 16:24:14 Sort of. 16:24:40 www.hcsw.org/downloads/forth-alpha.tgz 16:24:48 with sif is really really easy to add words it C 16:25:10 if i'm going to write my own forth, i'll either write it in forth, or write it in asm 16:25:25 Yeah, I saw. You took basically the same approach I did. Wrapping the forth code into C functions. 16:26:38 wrapping? 16:27:05 if you follow the naming conventions the awk script sticks your word in the forth dictionary. 16:27:12 Well... I mean when your program sees a forth word that it has in it's engine, it calls the appropriate C function. 16:27:27 yeah... 16:27:39 gforth creates inline assembly or something silly. 16:27:41 it's iether that or asm 16:27:53 Ya. 16:28:00 gforth doesn't do that on my system 16:28:08 No? 16:28:20 Hm. 16:28:22 it's possible I suppose 16:28:25 I could be completely wrong. 16:28:34 but I seriously doubt dforth has a PPC assembler built in 16:28:58 It probably just runs as. 16:29:16 Or gasp. 16:29:28 I seriously doubt it has PPC assembly code in it 16:29:41 I thought gforth was written in c 16:29:54 Yeah, you're probably right. 16:30:28 But I can't find anywhere to add new functions in C. 16:31:34 gforth does produce asm afaik 16:32:15 Ya, it produces is, I know. You doo a 'see +' and it gives you asm. 16:32:25 Ya, it produces it, I know. You do a 'see +' and it gives you asm. 16:33:59 that doesn't mean it was coded in asm 16:34:25 True. But it doesn't seem to call any C functions when it comes across a word, which is what confuses me. 16:34:30 --- quit: sif (Remote closed the connection) 16:35:32 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 16:35:32 Type sif: (or /msg sif to play in private) 16:42:36 sif: words 16:42:37 herkamire: ." .( cr space emit type variable : if then do loo 16:43:03 sif: words 16:43:05 herkamire: ." .( variable : if then do loop repeat until exit 16:43:23 sif: rootshell 16:43:24 Frac: Word not found: rootshell 16:43:25 Heh. 16:43:43 sif: words 16:43:44 herkamire: ." .( : if then do loop repeat until exit ... 16:43:48 sif: 1 2 3 .s 16:43:49 herkamire: 1 2 3 16:44:50 frac: cause the c code is used to produce a kernel, and everything else is coded in forth inside that kernel rather than C 16:45:32 right. so you need to add to the kernel, or link to a lib 16:45:56 Yeah, so which words does the kernel support natively? 16:46:19 the ones where SEE gives you asm :) 16:46:39 Good point. 16:46:58 futhin : You know which file they keep those words in? 16:47:01 I bet their all at the begining of the dictionary 16:47:25 : - -1 * + ; 16:47:39 frac: in the dictionary.. inside the dang forth.. 16:48:51 Ok, never mind. My curiosity of gforth has long since expired. What I wanted to do was add a few c functions into gforth, but I eventually gave up. 16:49:57 source code is available.. 16:50:03 u probably needed to edit the source code and recompile 16:51:40 I know. But try reading the source code. It's not documented. 16:51:52 I couldn't figure it out. 16:54:32 I'm hearing that from a lot of people 16:54:41 perhaps you should use another forth 16:55:19 gforth is cool because it runs on various platforms 16:55:33 but you could write one with that characteristic or use mine. 16:56:02 Yes, I've already written my own forth. 16:56:09 As I said earlier. 16:56:35 www.hcsw.org/downloads/forth-alpha.tgz if you care to check it out. 16:56:45 you might be able to get me wo write the socket code for you if you use mine :) 16:57:10 Talk to futhin about that. 16:57:11 oh :) I didn't look closely. I thought that was a link for gforth :) 16:57:20 Heh. no. 16:58:02 It's not really finished. I haven't implemented the return stack properly yet. 16:58:36 I've updated my packages to include the run script and the fix for the segfault 16:58:42 Good, good. 16:59:04 You should mention in the INSTALL that you need tcpserver too. 16:59:16 oh right :) 17:01:22 there are at least 6 different forths for linux.. plently of choice.. bigforth, lina, tile, gforth, isforth, etc 17:02:06 Writing your own forth is an experience, though. 17:02:18 You learn a lot. I know I have. Still a lot to learn, though. 17:04:09 yeah 17:04:23 definitely learn a lot 17:04:37 I'm on my third or fourth one now :) 17:04:41 Heh. Nice. 17:05:00 one of these days I'll stop writing forths and start writing forth code... :) 17:05:35 Heh. 17:07:29 I think I'm about done writing forths though 17:07:52 herk and I are writing a bootable colorforth, so hopefully in another 6 months or a year we won't have to use linux anymore :) 17:08:50 and I just started a little threaded forth that I can make into a library and embed in other programs 17:12:10 i've noticed that most ppl write a forth first.. it's the easy way out!! :P 17:12:17 most ppl on this chan that is 17:14:04 the easy way? 17:14:28 in the long run I'm sure it is, but usually it's hard to convince people that they should 17:14:35 well...I kind of tend to be more interested in how things work than in actually writing a fully fledged useful application :) 17:14:46 hehe :) me too 17:15:13 all my life I've liked building things and finding out how things work. but once I've built something I usually loose interest :) 17:15:33 usually... 17:15:58 but... if I build something (a forth) that I can use to build other things... then I bet I can stick with it for much longer :) 17:21:21 the C coders come along, and hear about forth.. so they're like "oooh, i should code a forth in c" do they code in forth? noooo, they code in c. bad bad, c is lame :P 17:22:36 :) 17:22:42 C is so horrible 17:23:36 yeah but I don't know asm 17:23:46 and C has bindings for Everything 17:25:06 assembly is pretty easy to learn 17:25:23 the learning curve for assembly is a lot less than for forth :) 17:25:31 yeah right 17:25:37 yes right 17:26:00 i read "assembly language step by step" second edition by jeff duntemann excellent book!!! 17:26:15 i read the whole thing without needing to touch the computer 17:26:24 erm... 17:26:27 i tried reading other assembly books 17:26:30 but they all sucked crap 17:26:31 this one 17:26:35 programming is a "learn by doing" kind of thing 17:26:42 the information was highly absorbable 17:26:59 tathi: the book is on the background 17:27:10 it doesn't actually waste your time with teaching you all the instructions 17:27:15 it gives you all the background needed 17:27:22 you can get someone doing stuff in forth in just a few minutes if they're the kind of person that is going to be a good programmer 17:27:24 to start learning the rest on your own 17:27:27 ah, I see 17:27:52 for asm there's a fairly large base of stuff that you need to know before you can do anything useful 17:28:36 forth is WAY easier to learn than asm 17:31:05 not the low-level part, asm has a few basic rules, once you have a basic understanding, it's not a big deal.. there's more things you have to know with forth (at the low-level) 17:32:28 yeah, but you don't need to know what's going on inside the interpreter to write forth code 17:33:01 and unless you're doing something where that matters, forth is simple 17:33:04 2 stacks 17:33:08 and a heap 17:34:28 asm has registers and interrupts and memory and I/O, and if you want to do anything with it you have to learn the BIOS or the operating system's services or the hardware fairly thoroughly 17:37:35 Starting Forth fits into a 1/2 inch thick 7x9 inch paperback, maybe 200 pages, and contains everything you need to know to get pretty far with forth 17:54:48 i can't do shit in forth without knowing everything about forth heh :P 17:55:22 like.. the stuff i do in forth invariably requires more knowledge than i have.. and i already have plently. bah 17:57:37 yeah, ok, there _are_ a lot of things that forth doesn't do unless you write them yourself 18:33:22 --- join: I440r (~mark4@1Cust198.tnt1.bloomington.in.da.uu.net) joined #forth 18:33:49 meep 18:34:44 Moo. 18:35:17 :) 18:35:24 the cow is of the bovine ilk 18:35:27 one end is MOO 18:35:31 the other milk 18:37:55 when called by a panther 18:38:06 don't anther 18:41:24 :) 18:48:12 I440r: I fixed my bot to do strings properly :) ." is compiletime .( works anytime (prints right away, it's an immediate) 18:49:46 cool :) 18:49:55 --- quit: Fare (Read error: 60 (Operation timed out)) 18:50:08 --- quit: Frac (Read error: 110 (Connection timed out)) 18:53:04 --- quit: Soap` () 19:02:09 tathi: wow, you understood what i meant to say even though i said it poorly :P 19:02:15 psychic!! ;) 19:05:16 :) 19:43:19 --- quit: tathi ("Client Exiting") 19:43:28 it's time ta get nekked and code forth!!!! 19:50:51 naked coding! 19:52:04 sif: : bumpersticker forth if honk then ; 19:52:06 herkamire: Word not found: forth 20:06:52 --- quit: sif (Remote closed the connection) 20:07:09 --- join: sif (~siforth@wsip68-15-54-52.ri.ri.cox.net) joined #forth 20:07:09 Type sif: (or /msg sif to play in private) 20:18:26 --- quit: I440r ("zzzz") 20:37:41 --- join: Soap` (flop@203-96-105-60.dialup.xtra.co.nz) joined #forth 21:02:22 --- quit: herkamire ("Client Exiting") 22:07:10 --- quit: sif (Read error: 104 (Connection reset by peer)) 22:39:19 --- join: Frac (tng@h24-77-171-228.ok.shawcable.net) joined #forth 23:03:43 --- join: herkamire (~jason@ip68-9-58-81.ri.ri.cox.net) joined #forth 23:31:08 --- quit: herkamire ("Client Exiting") 23:45:27 --- join: davidw (~davidw@151.25.5.25) joined #forth 23:59:59 --- log: ended forth/02.04.23