00:00:00 --- log: started forth/03.04.01 01:28:52 --- join: ramnull (~nicad@12.241.145.39) joined #forth 02:35:45 --- join: Speuler (~semtex@mnch-d9ba49c1.pool.mediaWays.net) joined #forth 03:14:59 --- quit: ramnull ("This isn't Happy Hour!") 04:06:06 sifbot: : hello ." Hello." . ; hello 04:06:08 fridge: Hello. stack underflow 04:06:12 whoot. 04:13:06 Haha. 04:13:22 sifbot: .( <3) 04:13:23 Robert: <3 06:17:48 --- join: Herkamire (~jason@wsip68-15-54-54.ri.ri.cox.net) joined #forth 06:46:02 --- quit: fridge ("http://lice.codehack.com") 06:51:23 --- join: fridge (meldrum@zipperii.zip.com.au) joined #forth 06:58:08 sifbot: : foo r> 1 .>r ; foo 06:58:09 Speuler: Word not found: .>r 06:58:16 sifbot: : foo r> 1 . >r ; foo 06:58:18 Speuler: 07:00:19 hoi 07:01:40 Hoi :) 07:01:57 Ah! 07:02:07 Finally the enth/flux page is up again 07:33:18 --- quit: onetom (Read error: 104 (Connection reset by peer)) 07:40:05 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 07:55:40 http://compsoc.dur.ac.uk/whitespace/ 07:56:13 sample program in the "whitespace" language 07:56:18 07:56:19 07:56:21 07:56:23 07:56:23 07:56:53 its half serious, not a total aprils fool joke 07:58:41 Heh 08:21:06 --- join: deluxe (~deluxe@pD9E4E861.dip.t-dialin.net) joined #forth 08:36:18 --- join: PoppaVic (~pfv@s95.waters.gtlakes.com) joined #forth 09:43:55 --- join: krish (KRISHNAKUM@61.1.220.209) joined #forth 09:44:32 Hi 09:45:05 hello! 09:47:46 * PoppaVic notes signs of life 09:48:24 Yeah, it's a miracle. 09:48:53 well, It's the first I've seen any action - beyond the twit that screwed the topic 09:49:03 Heh 09:50:46 ..Oh. And, I have to admit that 9+ hours of rolling thru the comp.lang-forth stuff pretty-much reaffirmed my faith in "ueslessnet" as a real term. 09:53:17 people, any idea about continuations ? 09:53:38 context? 09:58:21 programming languages ... 09:59:58 Yes. I sorta' figured that one out, thanks. I'm not sure of where you are, what's been said or done and the cutesy engineering/cs terms. 10:01:07 ok. 10:12:02 [opinion poll] iyo, which is the best free forth ? 10:12:38 I use IsForth for my everyday Linux Forth coding... 10:12:59 I've been tinkering with gforth 10:13:43 And you, krish ? 10:13:55 If I could stand ASM, I might check out the others.. 10:14:26 Why can't you stand it? :( 10:14:32 i've downloaded almost every free forth ... 10:14:50 I ain't touched asm sinze my z80 days - other than a bit of voodoo on the old 286 once. 10:14:51 I haven't bothered to try many forths. 10:15:02 the other day, I was testing some examples on the FreeBSD boot loader ... it was fun 10:15:06 Although the concept of colored Forth seems nice. 10:15:15 the x86 stuff is just too whacko to understand 10:15:24 PoppaVic: Yeah, it's messed up 10:15:40 PoppaVic: But you can at least deal with the simple stuff needed to understand how a PC forth works. 10:15:40 tried itanium assembly ? 10:16:03 C, man - I let C write the asm.. I have no interest in it. 10:16:45 I think I've now got something like 8 types of forth downloaded, though - and pfe & gforth running. 10:17:09 and u dont like pfe - do you ? 10:17:27 running it is nice, the code is all asm again 10:17:40 Plus, it lacks pipes & such that gforth has. 10:17:57 but seems like gforth is dead ... 10:18:15 no new stuff since 2000 10:18:27 Could be.. I dunno' - I found 0.6.1 and had zero trouble building & installing. 10:18:52 where did you find 0.6.1 ? 10:19:12 hmm.. I was scruffing around and it was an ftp download. 10:19:13 ftp.gnu.org still has 0.5 and alpha.gnu.org does'nt have gforth dir. 10:19:28 * krish is googling ... 10:19:32 I can throw you the tarball, if you'd like. 10:19:56 i found it. 10:20:01 ok 10:20:19 Sadly, the debugger is borked.. But, everything else seems to work. 10:20:44 I figure it's prolly the best way to get my feet damp again. 10:20:52 tried bigForth ? 10:21:11 I believe I tried it a year ago - I recall it was certainly big. 10:21:25 even freshmeat was not updated ... 10:21:34 hmm.. maybe I should grab that again, too 10:21:55 its fast ... 10:22:07 i came to forth coz of bigForth and FCP.F 10:22:28 fast is nice.. useful/friendly/portable more so. 10:22:58 For "fast" I have zero issues with C. 10:23:20 you dont have to have portable implementations. it suffices to have portable code. 10:23:37 There is no such animal 10:25:30 With C, at least I can pretend to posix - with forth, the best you can hope for is ANS - and that document is giving me a good chuckle today. 10:25:59 still no C interface for gforth 0.6.1 10:26:40 * krish feels that C interface is a must for any interpreted language 10:26:57 Actually, yeah there is.. 10:27:11 BUT, I'm damned if I can puzzle it all out. 10:27:44 the changelog file did'nt mention it. and 'm still pulling the tarball 10:28:02 in the root dir, find lib.fs - then you have to grep like mad. I did find one note on the web and got their example to work., but the example is raw & sans lib.fs 10:28:47 we get dlopen/dlsym & such - but the damned info-files don't document lib.fs nor, iirc, the dlopen/sym 10:29:12 * PoppaVic is grabbing bigforth - wtf, he's got gigs to burn anymore 10:29:39 in terms of dynamic linking, pfe is the best. 10:30:46 I have no idea how pfe does it, and I emailed 'im about pipes & such a week ago.. No reply. 10:31:08 iirc, pfe is written entirely in C 10:31:37 yeah, I think so - all wrapped in some sorta' macro-voodoo 10:32:35 i think it works like this: save the forth interepreter state - call C - restore state 10:33:00 with pfe, you can write entire vocabularies in C and load it on demand 10:33:16 yeah, it should.. That would be cool. 10:33:29 maybe I just can puzzle the docs then *sigh* 10:33:36 can/can't/ 10:35:49 I don't know of any app written in forth, let alone bigforth, let alone minos though. 10:36:45 What do you code in Forth? 10:36:57 I mean.. you say you haven't seen any apps. 10:37:07 Don't you code anything? 10:37:16 nothing, yet - this is the first time I've been back to it in almost 2 decades. 10:37:38 my time in forth is about a week. 10:37:53 this is interesting - http://www.theregister.co.uk/content/28/30036.html 10:39:19 2 decades? 10:39:20 Wow. 10:39:43 * Robert hasn't lived 2 decades... And only coded for like 5-6 years. 10:40:09 Robert: the other day you said you were 26 ... 10:40:19 Yeah.. Once I got into turbo C in the darkages, with a jog into c++ that I don't miss, I've been prettymuch centered in C. 10:40:24 krish: Heh, no. 10:40:38 krish: 16 maybe, 17 maybe (depends on if you asked after or before March 8th) 10:40:59 Robert: whatz the year of birth ? 10:41:03 1986. 10:41:07 Obviously :) 10:41:15 PoppaVic: Working as a programmer? 10:42:24 no - never been hired as such 10:42:59 [poll] who is the oldest in #forth ? 10:43:02 Other folks stare at tv's, or pick up broads I code.. 10:43:24 :) 10:43:25 in here? You'd have to beat 1960 ;-) 10:43:48 Chuck Moore is probably the oldest one who's been in here. 10:43:48 hmm - not a bad place to be in ;-) 10:44:06 IIRC, he was born in 1937 or so. 10:44:20 I've not seen anyone I "recognize" here, yet.. 10:45:02 If you stay long enough, Jeff Fox might show up. ;) 10:45:02 Yeah, he'd have to be older, since I was dicking with fig-forth long after he wrote forth 10:45:42 PoppaVic: so why are you interested in forth again ? 10:45:47 fed up with others ? 10:46:22 No, not really.. 10:46:43 I've been looking for a good way to use a script-engine.. and with forth, you can turn the glass around the other way, too. 10:47:04 Robert: I'm not sure that's a "good thing", if I followed 1/2 of the uselessnet crap. 10:47:53 PoppaVic: How would I know? You just said you didn't recognize anyone in here. 10:48:06 Maybe that's a good thing then. 10:48:18 am I missing something ... 10:48:21 ? 10:48:48 Umm.. I meant the handles herein.. The name I recall from a long, LONG number of long, LONG rants I waded thru yesterday. 10:49:09 Heh 10:49:40 ..too bad google can't quite reduce the quoting to mere hyperlinks. 10:49:43 forth for scripting ? web or client ? 10:49:56 "yes" 10:50:58 Mostly, I hate perl and shell-scripting with a passion you cannot know.. 10:51:43 ..and, I was sorta' thinking of a project, and looked at ficl first, but.. I dunno'.. I seem to spend most of my time this last week trying to determine why and how to get things done. 10:51:45 perl is write-only. 10:51:58 perl is crap. 10:52:01 what project ? 10:52:26 mickey-mouse idea I had... Something easier for a developer or user to use for autoconfig/install. 10:54:22 Robert: Yoda would have been a natural forther ... 10:55:16 :) 10:55:41 [noun|pronoun][verb] || [adjective][noun|pronoun] 10:56:10 PoppaVic: you are hurting me ... 10:56:30 Certainly forth ain't as hard on my eyes as sh-scripting. 10:57:40 but i'm struggling to get to grips with it. 10:58:31 reasons - 1) lack of books 2) i'm started studying the source of complicated programs 10:59:09 yeah, I've been having to reference shit I bought back in the 70's and 80's 11:01:08 Plus, I got the overall impression that no one that writes forth really cares. Certainly not enough to suggest or host a repository. 11:01:28 For what? 11:01:49 PoppaVic: standard question. Have you seen bashforth? :) 11:01:56 forth source/snippets/utilities/apps/examples - yes, I've checked a few that said they were. 11:02:02 PoppaVic: there is plenty of code out there 11:02:09 krish: 'out there'. 11:02:09 "bashforth"?? bog, no - wtf is THAT? 11:02:12 not 'in there. 11:02:23 PoppaVic: www.forthfreak.net/bashforth. 11:02:27 written by Speuler :) 11:02:30 its pretty neat. 11:02:37 OK, let me get bigforth building & I'll peruse it.. 11:02:49 gilbertdeb: i did say out there 11:02:51 oops, no /bashforth 11:02:56 www.forthfreak.net 11:03:02 loading.. 11:03:04 Yeah. 11:03:21 I don't really like the idea of a Bash forth, but he has a neat little archive. 11:03:22 krish: needed. a forth bot to grab all the forth code 'out there' into one huge repository. 11:03:32 Krish: and, btw: no.. There is NOT "plenty of code out there" 11:03:35 I think the big problem is that there is no one forth that will run them all. 11:03:42 yup. 11:03:48 PoppaVic: i think its an illusion. 11:04:08 PoppaVic: since forth is so terse, even a small file packs a lot of punch 11:04:12 well, I am learning forth from starting forth and I am sticking to forth79 :) 11:04:15 Frankly, I can find about 200-400% more source in C than I could over a week of searching for forth. 11:04:46 PoppaVic: I think there aren't that many projects that use forth don't put their code out much. 11:04:51 they just keep it to themeselves. 11:05:23 PoppaVic: true. there is a lot more C code. But in forth a lot can be said in a few 'words' 11:05:38 krish: eg a webbrowser? 11:05:53 krish.. umm - I've used it before.. looong before, ok? ;-) 11:06:04 gilbertdeb: What have you been coding in Forth so far? 11:06:05 ok 11:06:14 ..and there is still many 'C' % more C to peruse/use. 11:06:18 Robert: the examples from SF :) 11:06:25 Hehe, OK 11:06:28 also school has been interrupting. 11:06:32 but I forgive it. 11:06:49 cool - I grabbed his stringstack stuff. 11:06:56 Robert: my plans : connect forth to FastCGI and write some web apps. 11:06:59 relative to the number of C coders, forth coders are really few. 11:07:04 krish: :) 11:07:28 Robert: at least it looks simple at the outset. 11:07:30 gilbertdeb: yeah, but you can throw out those C newbies writing tripe and still get a hefty sum ;-) 11:07:45 hehehe. 11:08:15 I was seriously unimpressed with the uselessnet posts, let alone most web sites.. There were only a few that seemed interesting. 11:08:33 PoppaVic: this is exactly what the C/C++ guys say about VB morons. (hope I'm insulting anyone here) 11:08:35 PoppaVic: what did you expect to see? 11:08:44 ..and, I still didn't find much in the way of apps. 11:09:05 Yeah, VB is too inane to even discuss. 11:09:21 did you checkout Marcel Hendrix's page ? 11:09:38 gil.. I left forth for 20 years.. I certainly expected better development, exploitation and presentation. 11:09:46 yeah, I think so. 11:10:01 I see what you mean. 11:10:17 well, you can pick up right where you left off w/o much ado :) 11:10:32 a browser? a server? something.. editors? heh - yeah, ain't that the bitch? 11:11:27 PoppaVic: earlier today I saw the movie "Blast From the Past" on HBO 11:11:52 ahh - I have yet to see that... It looked cute. 11:12:32 Brendan Frasier was very good ... 11:12:33 PoppaVic: I believe there are webserver written in forth. Chuck's colorforth has an editor of some sort I believe. I haven't heard of any browsers though 11:12:58 the best browser undoubtedly is Opera - and i'm using it. 11:13:25 I don't like Opera that much 11:13:39 it weighs around 4M and offers just about every functionality. 11:13:51 Herkamire: tried the recent version(s 11:13:52 I don't like any browser... 11:13:54 )? 11:13:54 yeah.. that colorforth stuff looks like it's gonna' be fanatic-ware. 11:14:12 krish: one of the reasons I don't like it is that recent versions don't work on my computer 11:14:35 Herkamire: h/w or s/w probs ? 11:14:46 I liked commi-pro, and I like moz - even if it's a bit slow. 11:15:00 krish: last I checked they didn't even compile the newer releases for ppc linux 11:15:05 there are'nt that many choices outthere for browsers. 11:15:21 krish: and the lates build for ppc linux uses a quite old version of glibc 11:15:21 Herkamire: so ur stuck on a ppc ... 11:15:22 you have the netscape camp, the opera camp and thats it. 11:15:45 oh, maybe the kde camp as well. 11:15:53 gilbertdeb: dont forget the console based browsers - there are some real good ones there. 11:15:56 and yeah there is hotjava 11:15:57 krish: I wouldn't say stuck. the best damn hardware I know about (for ~$1000) 11:16:30 Herkamire: stuck is not the proper word. 11:16:38 eww 11:16:38 lynx is still my favorite browser 11:16:50 java belongs in my cup, so... I'll go get some.. 11:17:06 links, lynx, w3m, netrik are all good. 11:17:15 when I want images I use dillo. when I want everything (frames, javascript, css etc.) I use mozilla 11:17:55 Herkamire: ppc linux ? 11:18:15 w3m has some nice features, but it lost some very nice parts of the keyboard interface lynx has 11:18:22 krish: yes 11:18:40 Herkamire: tried openMCL ? 11:18:53 krish: no. what is it? 11:19:02 Herkamire: its a lisp impl. 11:19:10 ugh 11:19:16 lisp and DIE 11:19:17 I don't like lisp 11:19:24 gil... ? 11:19:35 I haven't tried it. 11:19:58 whats so great about it? 11:20:15 cool.. bigforth installed.... now to wade thru THEIR docs... a damned pdf 11:20:15 its another mind-expanding language. 11:20:37 another? 11:20:39 its a lisp isn't it? 11:20:44 I wouldn't wish lisp on - er, yes. I would wish it on enemies.. 11:20:51 list is pretty low on the list of languages I want to learn more about 11:21:07 PoppaVic: I think its a decent language all together. 11:21:09 Herkamire: it should atleast be on par with forth 11:21:18 it ranks right down there with java and vb 11:21:25 why is that? 11:21:37 krish: what's so great about it? 11:21:38 do you do a lot of pedaltothemetal coding? 11:21:39 because I have zero interest in it. 11:21:43 PoppaVic: do you have vb on ur list ? ha ha 11:21:58 "down there" on that list. 11:22:17 * krish does'nt have vb anywhere 11:22:21 ..learning cretian or sanskrit is a jot higher 11:22:32 so I suppose you don't like smalltalk much either? 11:22:50 I recall smalltalk from the dark ages. No. 11:23:11 Herkamire: like forth, lisp has no statement oriented syntax. 11:23:38 krish: what do you use lisp for? 11:23:43 krish: but what about all the &%$^%# perens? 11:23:44 Herkamire: lisp uses prefix (whilst forth uses postfix) 11:24:03 Herkamire: in lisp ? 11:24:07 yes 11:24:23 I used lisp for a bit and I couldn't for the life of me arrange the code so I could see what the hell was going on 11:24:26 Herkamire: to start and end an expr. 11:24:47 Herkamire: if you can read forth code then you can read lisp code too. 11:25:01 if you can find the closing perens 11:25:15 gil...: lisp is very good at symbolic processing 11:26:08 gil...: like forth, it suffers from a lack of modernity. 11:26:09 krish: I know. but what do you krish use it for? 11:26:22 krish: now that is an abominable statement!!! 11:26:34 I am interested in: 1) forth (with a little asm) and 2) some very high level (probably OO) language with garbage collection, dynamic types, lists etc. 11:26:34 CL was the first ans-certified OO language. 11:26:35 gil...: ok. i'll take that back 11:26:52 Herkamire: for 2) I suggest Eiffel 11:27:13 Herkamire: oops, I missed the 'dynamic types' part. 11:27:22 Herkamire: so for 2) i would suggest ruby. 11:27:35 I don't really need dynamic types 11:27:39 Herkamire: smalltalk is equally good. 11:27:44 I was thinking of perl and python when I said that 11:28:01 I liked smalltalk when I played with it 11:28:03 Herkamire: ruby beats perl in clarity 11:28:05 krish: do you like snobol? 11:28:20 gil...: did get a chance to see it 11:28:21 OO+gc+dyna-foo ? *sigh* 11:28:22 it and setl are pretty high on my list. 11:28:36 PoppaVic: honestly, I'd rather do octal asm. 11:28:36 gil...: but I did try icon 11:28:41 its just so darned hard. 11:28:41 yah 11:28:47 PoppaVic: I'm trying to figure out if there's something to high level languages 11:29:07 yes, there is: hand-holding and shitloads of restrictions plus overhead 11:29:14 Herkamire: lisp is defnly worth learning. 11:29:14 a highlevel language is pseudocode for a lowerlevel language. 11:29:51 PoppaVic: yep. that's the part I don't like. and the complexity. 11:29:52 yeah... a one liner in perl/ruby will take pages in C 11:30:41 I'd rather - and am looking at - scripting in forth again. I have zero interest in perl & friends. 11:31:05 Herkamire: ocaml f.e infers types and generates very efficient code 11:31:16 I do think that we are hurting here with the lack of an object-compiler. 11:31:17 but short scripts definately work out better in higher level languages with all those features 11:31:47 PoppaVic: I haven't made up my mind about OO lags 11:31:54 s/lags/languages/ 11:31:56 well, certainly I'd prefer to type "mv A A.c" than write the could to do it, yes. 11:32:53 I've thought that OO was crap for a long time because I learned C++ then Java. 11:32:57 I gave up on C++ when all the weenies and their poly-foo went ape I've written OO C, which is irksome but useful.. I'm looking into forth/c|c/forth the same way. 11:33:21 Herkamire: the reason I mentioned openMCL to you is since you use a ppc, openMCL works only on ppc and generates native code. 11:33:41 krish: nifty. what language is that? 11:33:48 lisp ... 11:33:54 drrr 11:33:59 :-) 11:34:18 do you have urls for eiffel and ruby? 11:34:54 python is an OOL is'nt it? 11:36:26 I often have to ponder wtf folks mean by "OO" - it seems to vary. 11:36:43 object oriented. 11:37:03 no, "mean" 11:37:27 PoppaVic: all this bs oriented stuff is simply because we all refuse to learn octal thoroughly! 11:37:44 hmmm. that should be my first priority now. 11:37:45 I can think hex, but not octal. 11:38:05 PoppaVic: octal because the x86 asm is an octal machine. 11:38:19 I don't know of the mips and the sparc though. 11:39:28 as soon as I am done reading enough about forth, my first big project be on writing a good octal tutorial. 11:39:37 not much by way of info unfortunately. 11:40:39 gilbertdeb: what the hell... 11:40:56 what's octal about x86? 11:41:07 alright, lemme fetch you the link. 11:41:09 Again. 11:41:14 the hardware is binary 11:41:18 damnfino - it's his story ;-) 11:41:19 your language can use whatever base you want 11:42:20 http://groups.google.com/groups?selm=3gmn58%24rbk%40DGS.dgsys.com&output=gplain 11:42:44 tunes.org has a pretty bad description of eiffel 11:42:45 the instructions are supposedly 'octal oriented' :P 11:43:07 meaning.... they have 3 bit field a lot? 11:43:24 spam. 11:43:26 The only proper way to understand 80x86 coding is to realize that ALL 80x86 11:43:27 OPCODES ARE CODED IN OCTAL. A byte has 3 octal digits, ranging from 000 to 11:43:27 377. In fact, each octal group (000-077, 100-177, etc.) tends to encode a 11:43:27 specific variety of operation. All of these are features inherited from the 11:43:27 8080/8085/Z80. 11:43:56 whatevery 11:44:01 whatever 11:44:17 11:45:19 --- quit: flyfly ("using sirc version 2.211+KSIRC/1.2.4") 11:46:29 gahh.. blockfiles, streamfiles.. I could beat the sucker 11:46:53 wait a minute... ruby is tcl?? 11:47:11 Herkamire: no. 11:47:25 Herkamire: www.ruby-lang.org 11:47:53 Herkamire: look at http://smarteiffel.loria.fr for a production quality free eiffel compiler 11:48:09 Herkamire: and join #eiffel 11:48:29 --- join: I440r (~mark4@1Cust22.tnt1.bloomington.in.da.uu.net) joined #forth 11:48:36 I440r: hi 11:48:51 ruby mooches off python :P 11:49:07 I440r: wanted to ask you this the other day ... 11:49:11 hi 11:49:17 ask :) 11:49:41 I440r: is code aligned properly in isforth ? 11:50:22 no :/ 11:50:33 i see NO point. aligning it does NOTHIGN 11:50:34 nothing 11:50:46 I440r: misaligned code slows down considerably. 11:50:46 theres a reason i say this 11:50:54 yup 11:51:01 normally aligning your code would slow you down BUT... 11:51:14 I wanted to ask myself: why the hell do we manually align anything, anyway? 11:51:17 theres something that slows you down even more. so much more than the "unaligned" hit is negligable 11:51:46 code and data in the same pages and having to continuously flush the instruction and data caches 11:51:54 no point in aligning the code :/ 11:52:01 PoppaVic: isforth is in asm 11:52:07 yeah, I know 11:52:30 PoppaVic: you a forth coder ??? - i dont recognizse the nick, are you new inhere ??? :) 11:52:34 But, I see it in that dpans crap, and in gforth - and I just have to wonder why we manually suffer it. 11:52:55 pop is an ancient forth coder that codes c & is back to perusing forth. 11:52:55 I440r: PoppaVic is a blast from the past ;-) 11:52:57 poppa look at fpc - every single word is aligned on a 16 byte (paragraph) boundry 11:53:02 THAT was super clever 11:53:12 heh - I used to run f-pc, iirc 11:53:18 every single word starts at someseg:0 !!! 11:53:40 im basing isforth on fpc - but NOT its code, its look/feel 11:53:52 well, it just seems to me that create/header and c,/, should manage it w/o bothering us. 11:54:08 PoppaVic: i HATE c. i mean i TRUELY hate it with a passion 11:54:15 love it. 11:54:17 ill code it tho if someone PAYS me :) 11:54:19 Hehe... 11:54:33 what I hate is figuring out dufus' code - or scripts. 11:54:38 so whats your irl name poppa ? 11:54:41 I440r: would you be kind enough to add a c interface (shlib support) to isforth ? 11:54:44 Pete. 11:55:05 yeah, they all need to handle pipes and the linker. 11:55:14 krish thats sort of planned but its realy low priority 11:55:18 ..as well as sockets 11:55:24 sockets isforth can do 11:55:36 the code is only skeleton but is useable 11:55:37 hang on 11:55:38 PoppaVic: isforth plumbs directly to the kernel 11:55:49 --- join: [Forth] (~Forth@1Cust22.tnt1.bloomington.in.da.uu.net) joined #forth 11:56:01 [forth] is a bot written in and running under IsForth 11:56:13 ha! 11:56:20 it cant DO shit but... its here!!! 11:56:27 I440r: can I crash it ? 11:56:37 how would you try ? 11:56:48 >R swap r> :) 11:56:51 it ignores everything except server numerics and server pings at the moment 11:56:55 oh. 11:57:02 I440r: hmmmm 11:57:16 krish i released the bot in 1.11b i believe 11:57:21 its a work in progress tho 11:57:36 she realy needs the resolver and thats on hold for now 11:57:37 I440r: irc interface in forth ? 11:57:45 back with coffee... lemme read the screen quick ;-) 11:58:28 ok - back in the saddle ;-) 11:58:30 krish yes - but its incomplete 11:58:38 and badly implemented - needs work :) 11:59:07 im rewroking the command line args code. its been sadly neglected for a while :) 11:59:15 Well, next you acn write me an isforth-replacement for xchat - written in c+gtk+ ;-) 11:59:25 and i now own "termcap and terminfo" and will try resolve the terminal issues if i can 11:59:41 libpopt ;-) 11:59:41 I440r: i was about to mention that ... 11:59:53 to mention what? - the terminal stuff ? 11:59:57 ..and my chelp upload of ez-config ;-) 12:00:22 poppa where you located ? 12:00:27 PoppaVic: isforth is virgin code - it does'nt make use of any C libs. 12:00:27 Michigan. 12:00:40 cool - im in indiana 12:00:40 I know krish - I'm poking fun ;-) 12:00:52 PoppaVic: ok. 12:01:05 when I want ASM - I let gcc puke it. 12:01:08 poppa it COULD make use of them, eventually i might add the code to allow 12:01:30 gcc is crap at asm. gas is a complete waste of everything 12:01:34 its NOT an assembler. 12:01:41 I'd recommend peeking at pfe & gforth, if you are having asm/c issues. 12:01:42 its the REAR END to a shitty c compiler :/ 12:02:07 im not - i never have asm issues, ive been coding asm since i was 17 and im 39 now :) 12:02:27 yeah. I left asm as soon as I upgraded from my z80 12:02:29 brb 12:02:31 gil...: 26 ? 12:03:22 hell no. 12:03:22 -1 12:03:34 actually. - 4mths :( 12:03:35 0xFFFF? 12:04:00 gil...: I expected an octal no. from you 12:04:05 hehehe. 12:04:58 --- join: karingo (karingo@239.portland-03-04rs.or.dial-access.att.net) joined #forth 12:04:59 I440r: back ? 12:05:30 and forth? 12:05:33 back and forth? 12:06:49 grrr. I've forgotten how to re-wire my serial console :( 12:08:47 I'm still screwing around trying to see how I can mangle/use these stupid "wordlist"s 12:10:11 I440r: how about using a coroutine for the C interface ? 12:12:01 huh?? 12:12:47 gil...: forth-script.sf.net 12:14:52 inneresting. 12:15:03 hmm.. with all the bigforth/xbigforth/minos foo-foo... Still no nifty "apps"? 12:15:27 PoppaVic: tried fcp.f ? 12:15:43 # Operating System: Windows 95/98/2000 12:15:52 ive no idea what a coroutine is. it sounds like more BS make it up as you go along obfuscation crap :) 12:15:54 no, just loading and perusing.. 12:16:08 isn't a co-routine akin to pipes? 12:16:09 a coroutine is the same as a cotask 12:16:30 that helps :) 12:16:32 a routine is something you call and it returns. 12:16:43 $ less fcp.* 12:16:44 fcp.*: No such file or directory 12:16:48 thats a SUBroutine. or... in forth... a WORD :/ 12:17:00 a coroutine is something more 12:17:05 yup 12:17:09 you can suspend a coroutine and resume later 12:17:24 it requires either a scheduler/task-manager - or cooperative switching. 12:17:30 coroutines are widely used in discrete event simulation 12:17:46 its actually simple to implement even in c 12:17:52 coroutines are a waste of time. 12:18:13 you might as well use threads and semafores/mutex 12:18:22 fore/phore 12:18:51 the difference is using coroutines you schedule them. when using threads, the OS schedules. 12:19:03 * PoppaVic sighs 12:19:08 "waste" 12:19:10 in short, coroutines do not need synching 12:19:55 no need for mutex etc. 12:20:37 PoppaVic: if coroutines are that bad they why does Knuth mentions them in 2 of his vols ? 12:20:54 perhaps he enjoys writing them 12:21:22 PoppaVic: then why does WinNT has a seperate set of APIs for them ? 12:21:57 win... ? I don't want to know 12:22:00 isforth doesnt have multi tasking yet - im still in 3 minds as to how i should do it 12:22:25 I440r: coroutines are the way to go given the current impl. 12:22:57 otherwise you have to use the _clone syscall 12:23:13 clone is top of my list right now 12:23:17 its better to have cooperative threads. 12:23:37 _clone will cause probs. coz there are so much globals 12:23:49 ugh.. coop coop blah 12:23:58 i can write a "forth" tasker that justs JUST forth - or one that uses fork or one that uses clone or use JUST clone or..... 12:24:19 or simply implement coroutines.... 12:24:30 and juggle between them 12:26:13 krish: see USER... and stop repeating it, sheesh 12:26:29 eh ? 12:26:30 heh 12:26:36 The question becomes: do you want useful or portable or both. 12:26:55 thers alot that needs to be done in isforth, top of my wish list is an assembler 12:27:17 gforth has one, I presume pfe does as well. 12:27:31 i would love to see the code for multitasking/threading in isforth ... 12:27:42 pfe is not a forth by my standards, its coded in c 12:27:54 I440r: they all use the same assembler. 12:28:04 no - gforth has its own 12:28:15 erm bigforth has its own.... 12:28:24 I feel no need to run out & download/install some other assembler. 12:28:29 but they are all FUCKED in the head "5 # eax, mov," bullshit 12:28:40 i wont acceot ANY assembler that thakes that format 12:29:03 not unless it defaults to using SANE assembler syntax and has that as an "option" 12:29:14 one that i would prefer to see removed 12:29:23 rpn is rpon - always has been. 12:29:31 rpon/rpn 12:30:15 --- quit: karingo () 12:30:18 not in assembler its not 12:30:19 --- part: deluxe left #forth 12:31:26 bas ackwards assembler is brain dead. 12:31:35 and thers another reason i wont accept one, 12:31:49 it would mean going through all the existing sources and BUTCHERING them 12:32:10 I440r: does isforth run in menuetos? 12:32:27 no. it runs in Linux/x86 only. 12:32:34 if you can get it to run anywhere else id love to know :) 12:32:56 --- quit: [Forth] ("abort" Reality Strikes Again"") 12:32:59 I440r: can you give me a list of problematic syscalls on FreeBSD ? 12:33:13 mmap - for a start 12:33:13 I don't do x86 asm sorry 12:33:34 :/ 12:33:35 * PoppaVic chuckles 12:35:16 PoppaVic: what did you use fpc for ? 12:35:52 That was back - hmm.. on my 286, I think 12:36:12 aha :) 12:36:30 Because I was still actively exploring it.. TC was still in the future, iirc. 12:36:32 i had a dx-2/66 :) 12:37:20 yah, I ran that ol' 286 right on up until I bought a pt90 - and the day THAT arrived, the price dropped and the 100+ shit was out.. Bastards. 12:37:34 i remember being able to extend in only a few seconds on that box - fpc compiled very quickly 12:37:44 lol 12:37:54 the instant you get it its outa date 12:38:07 Yeah, I'm still seeing that sorta' blitz-speed with gforth, pfe and even bigforth. 12:38:55 i have a pt 233MHz lying around ... 12:38:58 isforth does about 800k per second. 12:39:10 I have a lot of exploring to do, it seems.. Between the asshole alignment-crapdoodle, and trying to work with strings, libs and such.. 12:39:19 thats on an amd k6-3/550 12:39:32 yeah, I run a k6/300 12:39:36 i might be able to improve on that but thats not a definate. nor is it a high priority yet :) 12:39:52 linux ? 12:39:58 natch ;-) 12:40:02 bleh 12:40:04 :/ 12:40:22 --- join: tathi (~josh@wsip68-15-54-54.ri.ri.cox.net) joined #forth 12:40:38 I'm quite happy with debian, thankyouverymuch ;-) 12:40:48 heh - me 2 12:40:51 woody!! 12:41:02 i only have it installed on all 3 of my boxes heh 12:41:03 * Robert pets Debian. 12:41:21 * PoppaVic apt-get's update & upgrade... 12:41:30 have you tried gentoo? 12:41:43 nah. if it aint broke dont fix it 12:41:55 debian isnt broke so why should i change :) 12:41:59 not interested in it, myself. 12:42:12 Herkamire: is that the one that is modelled after the FreeBSD ports system ? 12:42:25 krish: yep. 12:42:27 works wonders 12:42:33 I live on this box - I want it to run properly allllll the time. 12:42:34 krish: apt-get is awesome. 12:43:04 gento has equivilent of apt-get except it builts the packages according to your prefferences 12:43:22 optomized for your system, etc 12:43:36 yes, debian needs a "build world" 12:43:39 * krish pulls the CVS trees 12:44:55 * I440r didnt sleep last night, my father and i were working in our new machine shop trying to make a gunsmithing tool to true up the face of a bolt. 12:45:04 it took us all nite but we made it :) 12:45:05 although I started with Mandrake 8 my system is fairly uptodate. 12:45:51 * PoppaVic cries - he'd always wanted to tinker with 'smithing.. 12:46:43 i started with redhat 5.2, went to 6.0 and then when 6.1 came out i abandoned it for debian and have never looked back 12:46:44 arrrgh.. I HATE these stupid .fb files 12:46:57 ..btw, krish: your tasker is tasker.fb ;-) 12:47:21 .fb = ? 12:47:43 the ancient 1024b block-files 12:48:15 forth block files 12:48:23 PoppaVic: url ? 12:48:25 ..and, of course, that's what the xbigforth friggin' editor uses, too 12:48:29 isforth supports them but they arent terribly useful for source files if you ask me 12:48:42 it's on my drive - not an url 12:48:46 except on an embedded system with no bios or os 12:49:09 PoppaVic: can u dcc the file ? 12:49:20 yeah, back before cp/m they were great. Under cp/m they worked, but.. nowadays, I just hate 'em. 12:49:25 sure. 12:50:27 btw, "you" is only two more letters 12:56:44 lol 12:58:17 --- join: flyfly (~marekb@ip164.ktvprerov.cz) joined #forth 12:58:30 "Laughing out loud" is just 14 more characters. 12:59:42 hmm.. when apt-get finally lets me surf a bit... I need to check out anton's site for more info on his oop-shitzu 13:00:11 back 13:00:25 ..he's using those freaky wordlists more like I ws considering.. 13:00:31 front! 13:00:32 moin Speuler 13:00:38 hi gilb 13:01:08 your string-stuff looked interesting, btw - I'll have to glare at it. 13:01:30 strings ? 13:01:39 string stack ... 13:01:47 * Speuler wonders whether PoppaVic means him 13:02:10 Speuler: your string stuff from forthfreak 13:02:10 yeah.. from your bashforth site. 13:02:19 ah. ok 13:03:02 i've sent a copy to jens wilke, maintainer of gforth, in case he would like to include it 13:03:03 yeah.. I was despairing at finding anything useful. 13:03:16 cool. 13:03:29 hope it works for you 13:03:44 I'm spolied, I usually just do foo(...) { char buf[LARGE]; and work threadsafe. 13:04:20 thanks.. Will try it as apt-get finally shuts up ;-) I may have to beat it, but I was happy to see it was ANS.. 13:04:22 i was trying to address a real need 13:04:36 yeah - I wsa in real pain before I saw it ;-) 13:05:03 * PoppaVic still needs to tinker with the dynamic shit to reach pcre, though 13:07:34 well i gotta go zzz, im exhausted :) 13:07:48 --- quit: I440r ("zzz") 13:07:50 ack - it's only 4pm+ 13:07:52 heh 13:08:17 Whoa.. 13:08:28 Speuler: speaking of bash...have you seen osimplay? 13:08:30 23:08 here... 13:08:42 tathi: nope. what that ? 13:08:45 3AM in my TZ 13:08:55 assembler ? 13:09:00 You live too far away :) 13:09:39 tathi: ? 13:09:46 Speuler: bash asm! 13:09:51 i thought you had seen it. 13:10:01 Speuler: Osimplay is a 386 assembler with Forth and C-like conveniences like "print", reentrant procedures, data "clumps", arrays, execution arrays, a nice Linux syscall format, etc. 13:10:07 tathi: ...written in bash :-) 13:10:15 Speuler: btw, I believe I will tweak these.. Getting the data outta' the dict-space to the heap. 13:11:20 I don't *like* bash, but I hate sh.. 13:11:30 hmm. luckily i edited the welcome screen 13:11:33 I cringe whenever I see '$' 13:11:43 PoppaVic: what would you rather use then? 13:11:45 it said "first forth interpreter written in pure bash" 13:11:55 it doesn't say so anymore 13:12:11 gilbertdeb: I'd rather use forth, I'm also used to getting pissed and cranking out C on-the-fly ;-) 13:12:31 heheh. 13:12:39 Speuler: isn't it the first bash forth? 13:12:53 tathi: maybe i should check back with the osimplay developer whether code can be merged 13:13:22 gilbertdeb: from what tathi says, it sounds like it wasn't 13:13:43 yeah.. I occasionally ask "the guys" for a fast solution.. and use a perl cl for one job I now see that "rename" does as well., but.. I usually only suffer sh for a dirty "don't forget" cli or for - gag me - autoshit/makefile voodoo 13:13:49 Speuler: I don't know how forth-like osimplay is. 13:14:06 sounds like it started off as just an assembler, but then he started adding operators and stuff 13:14:43 that bit "Osimplay is..." was the text from the freshmeat project page :-) 13:17:10 * Herkamire imagines a warm fuzzy feeling spreading through Speuler as he realizes that he is not the only bash nut 13:19:20 i think the writer of osimplay is a forther too. 13:19:35 was he not working on a linux in forth? 13:19:42 or am I mixing googles again :D 13:19:56 heh 13:20:25 oh, well - maybe I should page (painfully) thru ten-tons more uselessnet posts 13:20:42 PoppaVic: d/l all of it and then grep ! 13:21:02 I never saw a dl-point for it ala' google. 13:22:02 btw, anyone know - cuz I sure don't - if the dpans-crap managed to specify what wordlist/voc their CORE words and such have to live in? 13:22:36 ..I saw a kinda' nifty file that isolated them in STANDARD - which shoulda' been ANS, but we can't have it all 13:24:08 PoppaVic: you're new to this channel ? 13:24:35 I've been popping in & out for a week or so, but today was the first lifesign 13:24:37 I've seen him sneak in and out a few times ;) 13:25:03 I usually live in #c 13:25:17 ah. ok. so you picked up forthfreak.net here on this channel 13:25:37 yeah, I believe gil pointed me at it awhile ago 13:26:15 * PoppaVic hugs trueprint: he can now peruse those string-ops 13:26:15 gilbertdeb: i know about shasm. shell assembler 13:26:28 Speuler: I think its the same thing. 13:26:37 they renamed it or some such. 13:26:56 i see. still have an old copy of shasm. 13:30:12 bye all! 13:30:31 --- quit: krish ("Client Exiting") 13:30:43 osimplay, formerly shasm, is now beta 13:54:21 PoppaVic: most of is in this channel don't like the ANS Forth standard 13:54:38 I don't blame you.. 13:54:59 I was sharing my morning chuckle with the wife this am.. 13:55:10 the ANS shit and "counted strings" 13:55:26 Personally, I think the ANS standard has done a lot to lessen the popularity of forth 13:55:35 First it sez the length is a char, then it turns right around and sez it's "implementation-dependent". 13:55:56 it's also badly written 13:56:11 Seems to have helped the big-boys, anyway 13:56:16 it says how you should implement things, rather than what it's supposed to do 13:56:26 what big-boys? 13:56:32 yep 13:56:49 I see in uselessnet they are due to flock together and gabble it all over this next year. 13:56:59 the whole point of something being implementation-dependant is so that you can implement it however you please. 13:57:02 like forth, inc and other major users. 13:57:21 the Players. 13:57:41 I have a naggin' suspicion the whole intent is to "tone down" the public access. 13:58:14 I'd certainly like to see it "come to life" again - as it seemed 20 years ago.. 13:58:26 I think the intent is to standardize forth so it can be widely used and we can share code. 13:59:00 unfortunately most good forth programmers won't use it. 13:59:14 well, THAT certainly failed. 13:59:16 and it makes it harder to form an accepted standard of something good 13:59:50 They need to scrap that crap they call a standards document, anyway 14:00:11 I think the standard should have specified a virtual machine, and some io stuff to interact with the OS. 14:01:00 well, that OS is part of the problem. 14:01:15 ..there seems to be a lot of folks feel that it IS an os.. 14:01:29 it Is an os 14:01:57 forthos for instance. 14:01:57 you could make a wonderful os with forth (and I plan to do so) 14:02:28 however, I think it would be cool to have a better forth standard (for forths that work in mac/win/unix) 14:02:42 I think, personally, they just need to refocus.. You need language requirements, and then you need to specify something intelligent for the other shit - like IO.. Because, at this point: in an embedded sys, gforth isn't going to play well - and a posix forth isn't going to like dos, doze OR embedded toys. 14:03:05 speaking of virtual-machines. I'd like to see a forth that compiled code for the java VM (so you could write browser applets in forth) 14:03:46 ..and, sadly - I can't see the majority of those uselessnet posters being very valuable to making a decision about wiping my ass, let alone a standard. 14:03:57 I wouldn't 14:04:12 I have absolutely zero interest in java. 14:04:36 BUT, yes - a useful metaforth would be nice. 14:04:37 I don't like java, but I hear the VM is stack based, and I wonder if it would run compiled forth code nicely 14:05:10 Not according to what I stumbled over on uselessnet 14:05:39 I think forth needs a standard 32-bit VM, and it would be convenient if the java VM would work, because then we wouldn't have to write emulators for all platforms. 14:06:41 again, I'd disagree 14:07:02 it should actually be MORE portable than gcc - and, from what I see, it isn't 14:07:03 why not just write it in C 14:07:15 since C exists for every darned thing and its grandmother? 14:07:37 part of it all seems to stem from the barely-thought-out environment? stuff 14:07:52 forth is meant to be its own os. 14:07:54 :) 14:08:10 gilbertdeb: I have no prob with a c-based forth.. but, I'd to not preclude getting there BEFORE c, too 14:08:22 d LIKE to... 14:08:30 PoppaVic: I believe that forth should be specific to the computer you are running it on. if you want a portable forth, then you should design a virtual machine for it. 14:08:36 sadly, that's one view 14:08:39 then you can emulate that machine on all your different computers. 14:08:53 dude, it was a "VM" before there were VM 14:09:02 but a machine specific forth is just a forth written in a native asm! 14:09:07 ..I can remember tinkering with friggin' fig-forth source. 14:09:35 the bottom line was to write only the absolute minimum in asm 14:09:45 "portable" code is generally big, bloated, complex, buggy and SLOW 14:09:55 ..in fig, it was something like a K or 2 of source 14:10:40 * PoppaVic sighs 14:10:56 gilbertdeb: where is "forth as an OS" different from "embedded forth"? 14:11:07 same thing no? 14:11:24 "embedded" usually means on really small computers right? 14:11:30 yes. 14:11:38 like microwaves etc 14:11:40 on tiny tiny chips 14:11:43 cameras... 14:11:58 too many computers in places they oughtn't be. 14:12:03 and, if a VM is so wonderful, then why the hell is : "portable" code is generally big, bloated, complex, buggy and SLOW 14:12:25 embedded is usually devices, but can also mean "my comp is so dumb it has no OS" 14:13:01 our old cp/m boxes were so dumb, forth-as-os was trivial.. 14:13:17 ..ytou had to load a cp/m boot anyway - so forth was just "other" 14:13:35 ..and over cp/m was pretty-much the same. 14:15:15 is it still an OS or embedded if a few chips and a bit of rom/ram manage the i/o devices, gilbertdeb? 14:16:17 VM might be a good idea because you don't have to write portable code. you write code that just works on the VM 14:16:34 that's what forth was 14:16:55 except that it's 'tokens' were compiled - you shared source. 14:16:58 what was the vm? 14:17:03 PoppaVic: not sure anymore. 14:17:08 ..and, personally, that's all I'd ever support. 14:17:31 I don't think forth ever had a VM until recently 14:17:32 I want source, or I want c-source for libs I can build and link. 14:18:08 what the heck do you think the stepper-interpreter did? 14:18:09 there are tons of forths written in C 14:18:33 --- join: deluxe (~deluxe@pD9E4EF82.dip.t-dialin.net) joined #forth 14:18:43 I don't know much about old forths because I don't have an x86 box to try them on. 14:19:09 PoppaVic: I even wrote a forth in C myself 14:19:24 cool 14:19:26 and, I even hooked it to this channel: 14:19:31 I never went that far. 14:19:34 sifbot: .( Hello, World!) 14:19:36 Herkamire: Hello, World! 14:20:02 PoppaVic: if you haven't written your own forth before, you should. 14:20:07 it really doesn't take that long 14:20:10 I basically would tweak low-source, then extend like mad.. Hmmmm.. prettymuch what Ive been doing all week. 14:20:24 sifbot: 3 4 + . 14:20:26 Herkamire: 7 14:21:09 oop, I gotta go home and then play volleyball :) 14:21:12 sifbot: s\" This is a test\n I'll bet fails hard!\n" ;-) 14:21:14 PoppaVic: Word not found: s\" 14:21:31 tootles 14:21:48 gilbertdeb: well, all that above is why I say the standard went whacko. 14:22:06 s\" is wacko 14:22:09 I've never even seen that 14:22:12 --- quit: tathi ("leaving") 14:22:14 --- quit: Herkamire ("leaving") 14:22:19 ..and then you have their assorted "this is so big" and "this is so long" stuff. 14:22:31 Hmmm. 14:22:50 gforth/pfe - uses c-like escapes in it. 14:22:53 tathi and Herkamire at the same place? 14:23:03 Or one person..? I'm confused 14:23:27 no idea 14:24:51 I think what I saw of the "environment?" idea was sorta' interesting - but someone got brain-farted after the original idea. 14:26:51 Robert: I think they know each other. 14:27:19 Hm, OK. 14:30:16 --- join: wossname (wossname@HSE-QuebecCity-ppp80412.qc.sympatico.ca) joined #forth 14:54:53 hmm.. apt-get is gonna' take all day - it's got gcc shitzu 15:05:11 --- part: deluxe left #forth 15:06:49 --- join: pura (~pura@198.162.22.66) joined #forth 15:07:21 --- quit: pura (Client Quit) 15:11:32 --- quit: flyfly (Read error: 113 (No route to host)) 15:13:42 Speuler? Question.. 15:14:44 I'm looking at the string-source.. 15:15:27 the string count - thus size - is.. Umm... "twisted" ;-) 15:16:52 'course... this is in part due to gforth, and part in the stupidANS crap. 15:21:40 --- join: pura (~pura@198.162.22.66) joined #forth 15:21:44 --- quit: pura (Client Quit) 15:35:16 --- quit: wossname ("2:(") 15:49:50 back 15:49:58 PoppaVic: go ahead 15:50:02 size is cell, not byte 15:50:04 to allow strings > 255 bytes 15:51:20 wb 15:51:25 no. 15:51:47 it's ANS - and their goofy def, and his own source in gforth 15:52:02 i have the source opened in editor here. tell me where to look 15:52:17 hmm.. prim.i, I think 15:52:28 \pfv: { 15:52:28 \pfv: #line 1309 "./prim" 15:52:28 \pfv: u = *c_addr1; 15:52:29 \pfv: c_addr2 = c_addr1+1; 15:52:29 \pfv: #line 6857 "prim.i" 15:52:29 \pfv: } 15:52:46 ah. that's not stringstack 15:53:02 no, just entering into it - but the comment worried me 15:53:17 "\ string count is cell size, i.e. strings > 255 bytes are ok." 15:53:38 ahh...... YOUR stuff uses it? 15:53:49 use what ? 15:53:53 a cell? 15:53:58 yes 15:54:03 ahhh.. 15:54:24 OK.. That's gonna' be... fun... 15:54:25 i want to be able to put strings > 255 bytes on string stack 15:54:32 and work on them 15:54:46 right - but they then have to live there, right? 15:55:14 when returning strings, the representation is never "leading count bytes" 15:55:38 and storage in string stack is transparent 15:55:44 * PoppaVic is an old man - needing translation ;-) 15:55:55 right - in the stack, they can be anything 15:56:12 I should say "your stack", sorry 15:56:17 say, pop$ 15:56:26 gives you ( -- addr len ) 15:56:38 yes? 15:56:39 addr is cell size, len is cell size 15:56:51 right.. 15:57:05 len bytes of string at addr 15:58:01 ok, so.. The thought is that this isn't an issue for "external use", since it "comes back" to the d-stack as a normal pointer+len? 15:58:56 issue comes up only when representing a string as (byte) (char1) (char2) ... 15:59:15 ..I'm just unsure - being fairly new BACK to forth - how the other functions would act, is all. 15:59:18 i try to avoid that representation where possible 15:59:41 most would work on ( addr len -- ??? ) anyway 16:00:19 and, there aren't a lot of string functions in forth 16:00:53 cool. I'm still trying to decide wtf is wrong with these guys, that they don't take advantage and simplify to a stupid word/cell for the size - and add the silly \0 ala' C too. 16:02:03 ans forth more or less did drop the count byte string issue 16:02:04 It seems to me it would quietly enhance the silly stuff, let alone allow for interfacing with greater ease. 16:02:27 but "count" still does autoincrementing byte fetch 16:02:34 well, according to their DPANS thingie - their own "counted string" def is twisted/skewed 16:03:04 if you want to be able to "count" a string, it needs a leading byte 16:03:10 in one line they call the count a "char" - and in the next breath, the size is imp-dependent. 16:03:31 yes, because a char is imp-dep 16:03:36 char . 16:03:42 * PoppaVic sighs 16:03:45 Yeah.. 16:04:11 sorry 16:04:13 0 char+ . 16:04:18 likely to give you 1 16:04:23 yup 16:04:27 but, may be 2 16:04:46 ..and a really nasty limitation, (and I'm known as a limiting bastard, too ;-) 16:04:46 1 chars . 16:04:49 5 chars . 16:05:12 idea is, don't hard-code the size if a character 16:05:18 of 16:05:32 that's why you got cells 16:05:36 cell . 16:05:38 ..then we can get into the uglies of align, too ;-) 16:05:45 may be 2, or 4, or 8 16:05:49 even 1 16:05:51 right. 16:06:13 so instead of writing "2+" when meaning "cell+" 16:06:19 yup 16:06:20 you'd write "cell+" 16:06:26 THAT part, I like 16:06:36 cause that'll work on cell=4 systems too 16:07:03 the mistake is deciding what "count" is going to do - universally. 16:07:20 you say "4" if you mean "4", and cell if you mean to say "number of bytes in a cell" 16:07:30 yup. 16:07:32 yes. but: 16:07:46 char is not necessarily width of count byte 16:07:59 hold on a sec.. 16:08:02 if they call the count byte a char, 16:08:08 in my opinion, that's wrong 16:08:46 't would be a "count char", not a "count byte" 16:09:06 COUNT 16:09:06 CORE 16:09:06 ( c-addr1 -- c-addr2 u ) 16:09:06 Return the character string specification for the counted string stored at c-addr1. c-addr2 is the address of the first character after c-addr1. u is the contents of the character at c-addr1, which is the length in characters of the string at c-addr2. 16:09:26 "..is the address of the first character after c-addr1." 16:09:57 ok. then my terminologie is wrong 16:10:04 it is not a count byte, but a count char 16:10:17 Actually, I think it's just a shitty-standard.. 16:11:08 * PoppaVic is looking for the other def 16:12:02 3.1.3.4 Counted strings 16:12:03 A counted string in memory is identified by the address (c-addr) of its length character. 16:12:03 The length character of a counted string shall contain a binary representation of the number of data characters, between zero and the implementation-defined maximum length for a counted string. The maximum length of a counted string shall be at least 255. 16:12:10 i seem to have an instinct for trying to avoid problem cases with the standard :) 16:12:28 well, it's certainly not much fun to work with 16:12:34 at least means, it could be more than 1 byte 16:12:44 means, it is not a byte 16:12:45 but a char 16:12:49 consequence: 16:12:59 umm, ok - it can be more - but it can't be a counted string, then. 16:13:05 you can use count on leading count char, as well as on string chars 16:13:24 size of count same as size of chars in string 16:13:37 yup 16:13:43 : xxx ( a -- ) count 0 ?do count emit loop drop ; \ would work 16:13:54 3.1.2 Character types 16:13:54 Characters shall be at least one address unit wide, contain at least eight bits, and have a size less than or equal to cell size. 16:14:17 sooo.. it's sorta' circular 16:14:35 ..it's a char/ a cell/ a char/ a - well it's a char.. 16:15:16 1 cells 1 chars >= ( true ) 16:15:19 Basically, what you describe is a string with an independent count - they describe one with a count byte 16:15:37 those ones which i try to avoid 16:15:52 count char ! 16:15:52 :) 16:16:32 So, basically - your string stack(which I am about to play with) - needs full support of its own, and just becomes a useful-extension that may or may not play-well with their core-foo. 16:16:53 i don't see any conflict 16:17:08 there is no (count) (char) (char) representation 16:17:18 no - as long as it always shows to the core as *c n, it's fine. 16:17:22 it just avoids it 16:17:29 yup - good plan, too 16:17:53 and represents strings as they tend to be represented in ans 16:18:01 addr len 16:18:06 OK, so.... this thing uses heap, right? a stack of pointers then? 16:18:18 almost 16:18:34 a stack of structures, whereof one is a pointer 16:18:42 another is a reference count 16:18:45 errmm 16:18:58 dup$ does not duplicate the string 16:19:13 just points to the same string, and incrementing the reference count 16:19:30 hmm.. 16:19:37 wrong 16:19:39 stack of pointers 16:19:44 pointers to structures 16:19:51 right 16:19:56 "structure" = "string" 16:20:09 that's fine - I think C ;-) 16:20:52 ..still trying to absorb their stupid "struct.fs" - let alone the OO stuff. 16:20:56 so, dup$ increments reference count in string structure 16:21:15 drop$ decrements it 16:21:24 that works as long as you are not able to alter one or the other 16:21:57 you can get there of course, but the string operations handle that transparently 16:22:14 if you really need to modify the ref count, go ahead 16:22:20 i wouldn't know what for 16:22:46 no - I was thinking of the string - like your translate$ 16:24:06 that's in-site translation. if the ref-count is not 0, the string is "detached" 16:24:17 ahhh 16:24:21 i.e. new string is copied, with ref count 0 16:24:41 ah-soo. 16:24:59 all string operations od string stack deal with ref count as required 16:25:31 I think I'll need to read this printout and tinker - I like some of the ideas 16:25:49 first thing translate does is detach$ 16:26:36 yep - saw that 16:27:00 doing reverse$ twice means, you have the same string twice 16:27:06 no effort done to reconciliate those 16:27:12 I'm thinkin' it could be "genericized" and become useful as hell. 16:27:36 i'd like it to be included in one or the other forth distribution 16:27:55 as a base to work on from 16:27:56 yeah.. (think of your 'structure' term earlier, btw) 16:28:32 * PoppaVic makes a bathroom run.. 16:34:45 back 16:37:28 turbo shower 16:37:49 nahh.. I want to soak in a nice, hot tub soon.. 16:38:18 I'm thinking this is another good use for those stupid "wordlist" things, if I can puzzle it out some more. 16:38:37 i've put a subset of stringstack into recent bashforth too 16:39:22 well, the idea of a user being able to whip up and immediately use a stack of his own is enticing, strings or not.. The strings are "bonus points", to me. 16:40:17 ability to create additional stacks is nothing new for forth 16:40:45 I agree - but to have it organized such that anything new can whip one up is nice. 16:40:59 but, what you don't see often is a second set of stack words 16:41:06 you do with float stack, for example 16:41:09 stack: mystrings 16:41:13 right 16:41:25 but most of the time, additional stack are just used for holding items 16:42:45 with strings, some operation are just not easy to do when holding those on parameter stack 16:42:58 especially if you work with several strings at once 16:42:58 most are downright ugly, actually 16:43:10 yeppers 16:43:21 because you need to buffer those strings somewhere 16:43:25 usually not on stacl 16:44:35 so you need several buffers 16:44:35 yeah, and I like them out of the dictionary space. 16:44:36 and without a system, taking care of several string buffers, your app needs to do that 16:44:36 i think, that's better moved to a library of some sort 16:44:40 so you program can be considered the "client" 16:44:41 I know - it was messy 2 decades ago - and they still leave it messy. 16:45:22 as far as a "library", no forth other than for-pay - that I know of has ever been successfuly done thus. 16:45:27 as a stack is the logical choice for holding data items in forth, 16:45:47 they are handy all over - but in forth they shine. 16:46:08 ..and with little effort, you get a queue 16:46:29 yep. got a structure, allowing me to use it as lifo, fifo, array 16:46:44 pushing to front, to end 16:46:48 yeah.. I wrote an ACT for my lib.. Handy bastard. 16:46:48 pulling from front, from end 16:47:06 tis one of the things glib is dead useful for 16:47:11 indexed access relative to top or bottom 16:47:25 (dealing with wrap-around itself) 16:47:42 called it fliflo first 16:47:49 I'm really suprised that gforth didn't use the heap for the strings, rather than embed them as they do. 16:47:53 first/last in / first/last out 16:48:02 fifo 16:48:12 can be filo fifo lifo lilo 16:48:13 and lifo 16:48:30 * PoppaVic is too old to watch them screw up the terms 16:48:50 aiao 16:48:57 anywhere in anywhere out 16:49:47 but 16:50:10 it happens that additional flexibility adds some overhead 16:50:38 hmm.. 16:50:46 if zou don't use the additional flexibility, the overhead may still be in effect 16:50:49 * PoppaVic is glaring at several implementations... 16:51:14 you may ask "why does this cost extra cycles for nothing" 16:51:41 and decide that a structure which does exactly what you want, and only that, may be a better solution for you 16:52:16 that's ok with "fliflo" 16:52:31 because the overhead sits in the word accessing the structure 16:52:40 don't use a word, no overhead incurred 16:52:47 Well, I've watched folks write shit for years - it's commercial and web-side.. And, I've watched dufii' whimper about "optimizing" when their basic premise was all gefuckt.. So, I don't much let it all bother me.. If the problem is ugly, reduce it - if the solution is ugly, either reduce it or rethink the problem. 16:53:19 i was coding for cycles count some years ago 16:53:38 but programs get faster all alone. 16:53:39 What I don't like - in gforth anyway - is how 99% of everything seems dumped into the main voc 16:53:50 just wait for the next generation of cpus 16:54:07 oh, well yeah.. On the z80 I'd squeeze til it cried - since then, it's not worth the energy. 16:54:15 one can get to the point of no return, optimizing for speed 16:54:40 gcc does fine.. a bad routine is bad at -O0 or -O3 16:55:03 but readability does not improve all by itself with the next cpu generation 16:55:11 I hear that 16:55:26 .. even the forth I've found and downloaded seems to suffer that. 16:55:39 "let's pack it all on a line - and the hell with comments" 16:55:57 i don't think i'm a shiny example when it comes to "readable code". 16:56:01 (or comments in russkie - THAT was amusing) 16:56:12 but i focus more on that than i did once 16:57:47 learning from experience 16:57:53 yours is ok vertical-alignment & comments help to puzzle out the assorted stack-gymnastics, of course 16:58:16 ..much more than that is just silly. 16:58:36 and, of course we know that a nice comment-block before something is also handy. 16:58:43 --- quit: fridge (Success) 17:00:31 it saved me quite some work when i took more care of, well , let's call it "understandable code" 17:00:48 fewer questions, directed towards me :) 17:00:59 KISS principle ;-) 17:02:29 I think that's why this wordlist shit is bothering me. 17:03:12 ..it seems as though there is no nice, neat, clean way to use them as I'd like. 17:03:50 also, improves relationship to co-workers 17:03:50 when they ask you about your code, at one point you wonder whether they're too stupid to just take it from the code 17:03:51 so they don't ask you so much anymore, and your confidence into them rises 17:04:20 yeah.. Sometimes you have to wonder, though 17:04:51 I mean, I comment pretty well, imnsho - and I still get folks that say "gee, that's ugly" or "but where/why is.." 17:05:18 goes along the way of thought "there a no stupid pupils, there're just bad teachers" 17:05:23 are 17:05:26 ..believe me, I KNOW "ugly" 17:05:52 heh - there are bad teachers, but I'd suspect a shitload more bad students and parents. 17:06:39 too many parents and students expect the "knowledge" poured into the kids ear.. 17:06:46 what's your forth experience ? 17:07:10 I began coding with forth, back around 80 17:07:30 old-timer 17:07:41 forth -> tp ->tc -> tc++ -> C (gcc) 17:07:44 fig and f79 17:07:50 yah 17:08:00 f-pc/f83 was nice 17:08:17 i hated f-pc 17:08:37 for a basically iggerment OS, it was fine. 17:08:56 I'm not terribly enthused with everything I see anymore 17:09:45 btw, if you have not tried it or use it - look into "trueprint" - damned thing makes the NICEST ps files for printing. 17:10:05 haven't tried 17:10:10 i'm an ascii person :) 17:10:13 I found it accidentally 17:10:22 ..but I wanted nicer source-listings. 17:11:38 small enough 17:11:43 60 k debian package 17:12:00 yeah.. Nice little bug-wump 17:16:02 nice toc builder 17:16:13 just tried it on bashforth 17:16:17 shell script 17:16:44 yeah, it's a cool tool 17:17:20 all w/o voodoo - and has a decent manpage to boot! 17:17:58 looks not bad. good tip 17:18:05 np 17:18:49 i'm a display person too btw. hardly ever do i print anything 17:19:31 I like the crt, but for reading in the LR or bath, I like paper. 17:19:37 workplace is littered with screens 17:19:40 ..also easier to keep notes 17:20:59 couldn't imagine working with one screen anymore 17:27:50 well, I'm going to go sit in the tub awhile... Talk to you tomorrow, boss 17:28:05 --- quit: PoppaVic ("goes forth to conq") 17:32:18 --- join: semtex (~semtex@mnch-d9ba4973.pool.mediaWays.net) joined #forth 17:33:23 the joys of dynamic ip addresses 17:33:30 * semtex alias Speuler 17:40:08 --- quit: Speuler (Read error: 110 (Connection timed out)) 17:40:26 --- nick: semtex -> Speuler 18:18:49 --- join: fridge (meldrum@zipperii.zip.com.au) joined #forth 18:56:58 --- join: Herkamire (~jason@ip68-9-68-123.ri.ri.cox.net) joined #forth 21:21:30 --- join: PoppaVic (~pfv@s200.waters.gtlakes.com) joined #forth 23:21:04 sifbot: 2rdrop 23:21:06 PoppaVic: Word not found: 2rdrop 23:21:16 sifbot: rdrop 23:21:18 PoppaVic: Word not found: rdrop 23:21:21 heh 23:21:57 sifbot: : Poppa cr ." Yo, Chief!" cr ; 23:21:58 PoppaVic: 23:22:08 sifbot: poppa 23:22:10 PoppaVic: Word not found: poppa 23:22:16 sifbot: Poppa 23:22:17 PoppaVic: Word not found: Poppa 23:23:28 sifbot: words 23:23:29 PoppaVic: ." .( : if then do loop repeat until exit ... 23:23:43 ahhh 23:59:59 --- log: ended forth/03.04.01