00:00:00 --- log: started forth/02.10.11 00:27:01 --- quit: air (Read error: 110 (Connection timed out)) 00:45:59 --- quit: Serg_p (Read error: 110 (Connection timed out)) 01:14:02 --- join: marekb (~marekb@mail.melzer.cz) joined #forth 01:14:26 --- quit: marekb (Client Quit) 01:15:38 --- join: marekb (~marekb@mail.melzer.cz) joined #forth 02:25:43 --- quit: ianni (card.freenode.net irc.freenode.net) 02:25:43 --- quit: TreyB (card.freenode.net irc.freenode.net) 02:25:43 --- quit: skylan (card.freenode.net irc.freenode.net) 02:25:43 --- quit: ianhome (card.freenode.net irc.freenode.net) 02:25:43 --- quit: Soap` (card.freenode.net irc.freenode.net) 02:25:47 --- quit: ChanServ (card.freenode.net irc.freenode.net) 02:26:08 --- join: ChanServ (ChanServ@services.) joined #forth 02:26:08 --- join: ianhome (~ian@12-249-67-169.client.attbi.com) joined #forth 02:26:08 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 02:26:08 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 02:26:08 --- join: ianni (ian@inpuj.net) joined #forth 02:26:08 --- join: skylan (sjh@Sprint8102.tbaytel.net) joined #forth 02:26:08 --- mode: card.freenode.net set +o ChanServ 03:13:51 --- quit: onetom ("leaving") 03:14:11 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 04:26:47 --- quit: Soap` (card.freenode.net irc.freenode.net) 04:27:11 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 05:27:48 --- join: Robert (~Robert@robost86.tsps1.freenet6.net) joined #forth 05:45:52 --- quit: Robert (card.freenode.net irc.freenode.net) 05:45:54 --- quit: Soap` (card.freenode.net irc.freenode.net) 05:45:58 --- quit: TreyB (card.freenode.net irc.freenode.net) 05:45:59 --- quit: ianni (card.freenode.net irc.freenode.net) 05:45:59 --- quit: skylan (card.freenode.net irc.freenode.net) 05:45:59 --- quit: ianhome (card.freenode.net irc.freenode.net) 05:45:59 --- quit: ChanServ (card.freenode.net irc.freenode.net) 05:46:35 --- join: ChanServ (ChanServ@services.) joined #forth 05:46:35 --- join: Robert (~Robert@robost86.tsps1.freenet6.net) joined #forth 05:46:35 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 05:46:35 --- join: ianhome (~ian@12-249-67-169.client.attbi.com) joined #forth 05:46:35 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 05:46:35 --- join: ianni (ian@inpuj.net) joined #forth 05:46:35 --- join: skylan (sjh@Sprint8102.tbaytel.net) joined #forth 05:46:35 --- mode: card.freenode.net set +o ChanServ 05:47:44 --- quit: TreyB (card.freenode.net irc.freenode.net) 05:47:46 --- quit: ianni (card.freenode.net irc.freenode.net) 05:47:46 --- quit: skylan (card.freenode.net irc.freenode.net) 05:49:28 --- join: skylan (sjh@Sprint8102.tbaytel.net) joined #forth 05:49:28 --- join: ianni (ian@inpuj.net) joined #forth 05:49:28 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 05:49:37 --- quit: ianhome (card.freenode.net irc.freenode.net) 05:49:39 --- join: ianhome (~ian@12-249-67-169.client.attbi.com) joined #forth 05:54:32 --- quit: Robert (card.freenode.net irc.freenode.net) 05:54:32 --- quit: Soap` (card.freenode.net irc.freenode.net) 05:55:28 --- join: Robert (~Robert@robost86.tsps1.freenet6.net) joined #forth 05:55:28 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 06:03:59 --- join: Herkamire (~jason@68.15.54.54) joined #forth 06:07:41 --- join: tathi (~josh@68.15.54.54) joined #forth 09:15:28 --- quit: marekb (Read error: 104 (Connection reset by peer)) 10:35:21 --- join: I440r (~mark4@1Cust32.tnt3.bloomington.in.da.uu.net) joined #forth 10:37:18 --- part: I440r left #forth 10:37:40 --- join: I440r (~mark4@1Cust32.tnt3.bloomington.in.da.uu.net) joined #forth 11:56:08 --- join: mcdoobie (~nicad@12-241-145-39.client.attbi.com) joined #forth 11:56:30 Kick ass. I found a Forth channel. 11:57:04 Anyone here using bigForth? 12:02:04 --- join: bugslayer (~thin@h68-146-166-145.cg.shawcable.net) joined #forth 12:02:15 hi mcdoobie 12:02:17 Hi. 12:02:23 mcdoobie: No. 12:02:44 mcdoobie: i don't know that many people who use bigforth.. i think that onetom and um... a few other people might've tried it 12:03:04 most people use gforth for linux or isforth or fpc/pygmy for dos 12:03:10 isforth for linux 12:03:19 and a bunch of us here seem to have our own forth 12:03:31 * mcdoobie nods 12:03:33 not that many, and they don't code forth in their forth 12:04:00 I'm a Forth newbie. Usually use Ada or C. 12:04:12 how did you discover forth? 12:04:51 bugslayer: A long while back, Slashdot mentioned ColorForth. And I remember hearing about Forth way back in my 8088 days. 12:05:03 ah 12:05:48 bugslayer: I'm pretty retentive about reliability first, and speed second. So I thought I'd check it out. 12:06:39 mcdoobie !!! reliabilty, efficiency with space, speed. THAT order 12:06:45 cool :) 12:06:50 that's why i got into forth too 12:07:01 i440r: nawww.. efficiency with speed, THEN space 12:07:11 bugslayer: I'm finding it to be a bit of a challenge wrapping my brain around the Forth way of doing things. But I'm also finding the gforth interpreter to be quite addictive. 12:07:56 mcdoobie: yeah, it's pretty hard to wrap the mind around forth and the forth way of coding.. it probably takes a few years before you get truely comfortable :) 12:08:15 I have toyed with Assembler in the past, so it's not entirely foriegn to me. Heh. 12:08:26 yeah 12:08:30 assembler knowledge helps 12:09:28 mcdoobie assembler is EASY 12:09:39 Basically I have two standards that everything else revolves around. 0 Memory leaks(hence Ada), and always improving effiency with each iteration. 12:09:39 its C thats so fucking complex it takes a genius to use it good 12:10:48 I440r: You'll get no argument here. 12:11:02 :) 12:11:16 mcdoobie do you use linux??? you HAVE seen my compiler right ???? ;) 12:11:35 the main trick with forth is learning _how_ to code in it.. how to factor it properly, how to abstract the right things.. because if you don't, you'll quickly get stuck with stack shuffling and other stuff 12:11:47 I440r: I use Linux, FreeBSD, and recently purchased a copy of QNX. 12:12:04 i have a warez version of qnx... 4.24! ;P 12:12:29 it's old.. 12:12:31 waaarrreeezgod. 12:12:39 mcdoobie cool - i need to get my compiler to work in fbsd eventually 12:12:50 i'm not much of a warez person tho 12:13:05 I440r: Which compiler did you write? 12:13:10 isforth 12:13:10 isforth 12:13:15 http://isforth.clss.net 12:13:15 its a work in progress but 12:13:21 (i tell everyone this) 12:13:31 in 34k it almost totally replaces both libc and libncurses 12:13:47 it makes no use of ANY external libraries, does everything with syscalls 12:13:54 and can compile about a megabyte of source per second 12:14:20 I440r: Well, the only thing you'll really need to worry about for fbsd is some of differences in system calls. Not much difference though. 12:14:38 I440r: have you looked at the asmutils includes by any chance? 12:14:54 they have pseudo-crossplatform syscall wrappers for i386 12:15:00 just stumbled upon them last week 12:15:17 xef4 i have 12:15:18 (linux,freebsd,others I don't recall) 12:15:21 xef4: what forth do you use for coding? 12:15:31 bugs: usually bigforth 12:15:42 xef4 i used asmutils as a reference in places 12:15:45 mcdoobie: there you go, ask him your bigforth questions ;P 12:15:54 I440r: isforth looks like it'd make a great embedded interpreter for one of my apps. 12:16:08 what does the app do 12:16:08 mcdoobie its x86/linux specific tho 12:17:14 bugslayer: Well, it's supposed to calculate routing tables in real-time. 12:17:43 bugslayer: And then it pops up a cute little line graph showing the best/worst case scenarios. 12:18:01 hm 12:18:13 mcdoobie!!!!!!!!!!! routing!!!! 12:18:15 cool 12:18:39 i want to do an irc server that doesnt a spanning tree network, but that will need packet routing :) 12:18:44 i have ideas on how to do that tho 12:18:46 mcdoo: does it already do this? 12:18:58 I440r: Well, I'm using a tiny Ada executable to create a restricted storage pool, I could embed the interpreter right there. 12:19:30 if its in linux on an x86 machine you can do #! /usr/bin/isforth - fload 12:19:37 XeF4: Unfortunately no. Hence I'm taking the time to do some research on decent real-time algorithms. 12:19:45 (a non standard shebang but it NEEDS to have that - fload part) 12:19:58 then you can +x all yor forth sources :) 12:20:47 XeF4: This project is still a little over my head as far as the CS goes. But that's good, it's challenging me to learn more. 12:21:17 mcdoobie writing isforth was WAY over my head heh 12:21:28 when i started i didnt know a fscking thing about linux syscalls heh 12:21:43 i think im one of the 4 or 5 people in the world that does now tho 12:21:49 tho... i dont know all of them yet 12:22:21 I still haven't worked up the courage to do nontrivial IO with linux syscalls 12:22:34 I440r: I hate syscalls. I prefer maybe two syscalls and a frickin rep stosw into a huge ass buffer. :> 12:22:41 I always look them over, fret, then escape to my bare hardware happyland 12:24:09 By the way, what's the Forth performance equvalent of rep stosw? 12:24:21 mcdoobie isforth does everything with syscalls 12:24:37 fill uses rep stosw 12:24:46 not stosd? 12:24:47 also cmove uses rep movsb 12:24:56 xef4 i could do 12:25:07 i would need to test for odd, then do a stosb 12:25:14 then divide by 2 12:25:18 test for odd and do a stosw 12:25:23 then finish with a rep stosd 12:25:53 but why bother :P 12:26:30 I440r: maybe it was just for stack ops, but iirc, consecutive 16-bit ops on the same dword cause interesting cache stalls 12:26:48 I'd have to look at the optimization opus again 12:26:53 I440r: Well generally if I'm moving a bunch of data or instructions around in memory(like 100+ megs) I'll create two pointers from source and dest, then rep until the processor is ready to croak. 12:27:09 hehe 12:27:28 (above applies only to Pentium, blabla) 12:27:33 im not interested in heavilly optimizing the various coded definitions into unreadable code 12:27:46 i could care less about agi and shit 12:27:52 I440r: Two syscalls and as much bandwidth as one can squeeze out of the MB. 12:28:15 heh 12:29:33 isforths syscall interface is about the best ive ever seen in linux, it uses the same code for ALL syscalls no matter how many parameters there are 12:29:47 I440r: Of course, I tried doing that with MS SQL server at the office, and they ended up having to rebuild the database and replace NIC card. 12:30:03 lol 12:30:13 you didnt get fired?? heh 12:30:13 In principle, I'm interested in optimizing to unreadable code, but a given unreadable code fragment only runs optimally on a tiny fraction of x86en in use (_WHY_ must they change the whole architecture every second year?!) 12:30:19 * I440r wishes he had a job :( 12:30:43 heh because they are intel 12:31:07 XeF4: Generally, the more I optimize the more comments I put in. Yeah, it sounds tedious, but it can really be a lifesaver. 12:31:24 maybe, but Intel has owned ARM for awhile(afaik), and the ARM design still seems clear-headed enough 12:31:36 mcdoobie have you ever read linus t's "CodingStyle" doc from /usr/src/linux ? 12:31:39 but perhaps that's because they haven't gotten around to firing the old ARM guys yet 12:31:56 I440r: I've only seen portions of it. 12:32:06 ftp://67.241.61.32/pub/CodingStyle 12:32:09 theres my parody of it 12:32:14 I440r: Never bothered to look at the whole thing. 12:32:19 read the bit where i talk about comments 12:32:41 "if you have thought about your code enough to explain it to someone else you have thought about it enough to code it" 12:33:02 its a parody of linus's doc heh 12:33:08 he didnt like what i said in there heh 12:33:21 maybe i shud submit it to /. :) 12:33:37 I440r: Clever commentary. 12:33:59 i say the linux kernel source files are CLOSED source 12:34:11 I've only used a few syscalls, but it didn't seem bad at all 12:34:17 because they are almost totally undocumented and almost totally uncommented 12:35:15 I440r: Yeah C is a bitch like that. Never had any problems with Ada source though. 12:35:52 well the problem is that c coders INSIST on hitting TAB all over the fucking place 12:35:58 TABS in source files are evil 12:36:29 my README for isforth says that if anyone submits code for inclusiuon in isforht that has tabs in it i will be storing their source file in /dev/null 12:36:39 I440r: Heh. "procedure Really_Long_Procedure_Name(Foo : Integer in; Bar : Integer out) is blah blah blah" Heh. 12:36:49 lol 12:36:54 you would make a great c coder :) 12:37:37 mc: do you also code like: 12:37:37 I440r: That's actual Ada code there. Heh. 12:37:47 :P 12:38:00 procedure_really_long_name_aplaplapla(); // call procedure_really_long_name_aplaplapla 12:38:27 i dont code ada, i met one of the people who implemented one of the first ada compilers way back, he says ada is a great language but it has 298476592384765923874652938467529378465293 different functions/operators 12:38:31 But hey, you'd have to be a fricking genuis to mis-interpret it. Heh. 12:38:38 lol 12:39:38 qzzfw=(zorkzel&0xFC2|~qzzfv()&(rauta+blorkzl(klonk(),qvvf&49*plonk())); 12:39:44 (no comments for that line) 12:39:57 i gotta go prep some shit for futhin so he can do some basic help files for isforth 12:40:01 ill bbl :) 12:41:03 Alright, If I'm putting Integers in a cell, I can do this ": FILLCELLS 10 0 ?DO I SOMEINTS ! cells+ I LOOP ; " yes? 12:41:25 errr...Integers in some cells. 12:41:54 with variable SOMEINTS 10 cells allocate 12:41:54 someints is a ptr? 12:41:57 ah. 12:42:14 well.. looks a bit like the stack is empty when you get to cells+ 12:43:01 XeF4: It's not empty. When I fetch the numbers, I get shit like 43 44 45 instead of 0 through 9 like I should. 12:43:35 XeF4: If the stack is empty, shouldnt I get an underflow error? 12:43:57 Using gforth here. 12:44:16 : fillcells 10 0 ?do i dup cells someints + ! loop ; 12:44:18 try that 12:44:27 hi 12:44:33 twotom threetom 12:46:22 mcdoobie: yes, ive tried bigforth & "advertise" it for the beginners all the time, because it proves that 4th can b used 4 anything 12:47:04 XeF4: It works. What was I doing wrong? 12:47:11 mcdoobie: everything 12:47:19 :)) 12:47:29 XeF4: Well that makes me feel better. Heh. 12:47:36 i someints ! will always store to someintsa+0 12:48:00 cells+ executes on an empty stack (or whatever was on the stack before), causing unpredictable results 12:48:41 XeF4 : I see. But I assumed that "i" would "evaluate" to the current iteration of the loop. Not 0. 12:48:46 i at the end leaves garbage at the stack 12:48:59 i returns the loop iteration yes 12:49:18 you're not adding i to someints anywahere 12:49:28 Aaaa. 12:50:08 I get it. I had my terms all backwards. 12:50:32 anyway, ->pub 12:50:36 This dump utility is pretty handy. 12:51:56 onetom: bigForth looks pretty slick, but I prefer just straight gforth for now. 12:52:29 mcdoobie: sure. 4th real programmers, ornaments r not convincing ;) 12:52:57 --- quit: I440r (Read error: 104 (Connection reset by peer)) 12:53:00 --- join: I440r (~mark4@1Cust32.tnt3.bloomington.in.da.uu.net) joined #forth 12:53:16 * onetom -> shower. bbl 12:53:52 I outta hack together a DSSSL parser for practice. 12:54:11 yay 12:54:20 umean, in 4th? 12:54:31 onetom: Yeah. 12:54:44 it doesnt seem 2 b a simple goal.. 12:55:12 u must b experienced in text processing .. 12:55:40 how do u plan 2 make it? 12:56:11 do u implement a bnf system 1st? 12:56:18 onetom: No idea yet. Or maybe I think up something else. Just thinking up different things I could do to help me get a better grip on Forth. 12:57:06 hm.. i always got stuck w gforth, coz 12:57:28 a good 4th is ez 2 modify 12:57:48 and a real 4th program usually requires such a modification 12:58:24 onetom: Unless your compiling right down to a binary elf executable. 12:59:35 i prefer TILE over gforth. its cleaner, shorter, slower, has a lot of docs & examples (libs) 13:00:00 onetom: TILE have a Linux executable? 13:00:13 s/have/has 13:00:23 no, u have 2 compile it, but it takes ~10 secs 13:00:40 onetom: I'll check it out. 13:01:16 u gonna have to delete a line from the official source 13:02:05 * mcdoobie is being paged 13:02:06 and that it will compile under linux perfectly (it refers 2 a signal what doesnt exists in linux. u can safely ignore it) 13:02:28 I'll do that. 13:02:39 Gotta run. Boss is on the phone. 13:02:42 bbl 13:02:47 --- quit: mcdoobie ("This isn't Happy Hour!") 13:03:54 onetom: does tile do graphics? 13:04:41 no 13:05:01 but it have nice data structures 13:05:06 has 13:05:31 rationals, lists, sets, queues, multitasking 13:05:59 cool 13:06:04 and - as i already mentioned - its sources r so clean 13:06:13 cool 13:06:28 u can expand it wo any problem 14:02:50 --- quit: bugslayer (card.freenode.net irc.freenode.net) 14:02:50 --- quit: tathi (card.freenode.net irc.freenode.net) 14:02:52 --- quit: ianni (card.freenode.net irc.freenode.net) 14:02:52 --- quit: TreyB (card.freenode.net irc.freenode.net) 14:02:53 --- quit: skylan (card.freenode.net irc.freenode.net) 14:03:22 --- join: bugslayer (~thin@h68-146-166-145.cg.shawcable.net) joined #forth 14:03:22 --- join: tathi (~josh@68.15.54.54) joined #forth 14:03:22 --- join: skylan (sjh@Sprint8102.tbaytel.net) joined #forth 14:03:22 --- join: ianni (ian@inpuj.net) joined #forth 14:03:22 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 14:05:39 --- join: Speuler (~l@mnch-d9ba4044.pool.mediaWays.net) joined #forth 14:05:54 g'day 14:06:46 Good evening :) 14:14:43 Robert: no need to update .de anymore 14:14:55 no "can do" even 14:15:28 is CNAME robert.forthfreak.net 14:16:01 and, thank you for letting me find a bug :) 14:20:11 --- quit: tathi ("leaving") 14:20:33 --- join: airc (~brand@12-254-199-50.client.attbi.com) joined #forth 14:22:09 --- quit: Robert (Remote closed the connection) 14:22:30 --- nick: airc -> air 14:26:00 --- quit: Herkamire ("ni!") 14:53:48 --- join: Herkamire (~jason@ip68-9-58-75.ri.ri.cox.net) joined #forth 15:00:17 --- join: Robert (~Robert@h236n2fls31o965.telia.com) joined #forth 16:16:12 --- join: tathi (~josh@ip68-9-68-50.ri.ri.cox.net) joined #forth 16:16:26 I _hate_ writing editors... 16:30:40 Since most people do the same, you still have to do it :-) 16:32:52 yup 16:33:23 way easier in forth than it would be otherwise...but it's still too complicated to fit the whole solution in my head at once...grr :) 16:34:53 Hehe. What are you writing the editor for? Your Forth? 16:35:41 yeah, colorforth editor 16:36:41 I don't currently have one...have just been writing semi-normal forth code, then I have a program to huffman encode it. 17:21:12 guess'll be offline for a week or two 17:21:33 g'd night 17:21:39 Speuler: goodnight 17:21:41 Oh 17:21:43 Bye, Speuler. 17:22:00 will get my bus moving again probably tomorrow 17:22:15 no satellite yet 17:22:22 bye 17:22:27 --- part: Speuler left #forth 17:39:24 --- quit: jammi (Read error: 110 (Connection timed out)) 17:54:06 --- quit: I440r ("Reality Strikes Again!") 18:03:19 --- quit: ianhome (Read error: 104 (Connection reset by peer)) 18:32:47 --- join: ianhome (~ian@12-249-67-169.client.attbi.com) joined #forth 18:46:56 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 18:46:56 --- join: cyberlok2 (cyberlok@cyberlok.no-ip.com) joined #forth 18:46:58 --- quit: cyberlok (Read error: 113 (No route to host)) 22:01:39 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 22:01:47 --- quit: Herkamire ("night") 22:16:12 --- quit: tathi ("leaving") 23:39:55 --- join: Klaw (chuck@ip68-4-243-214.oc.oc.cox.net) joined #forth 23:59:59 --- log: ended forth/02.10.11