00:00:00 --- log: started forth/05.01.27 00:20:51 --- join: warpzero_ (~warpzero@wza.us) joined #forth 00:21:43 --- quit: warpzero (Read error: 104 (Connection reset by peer)) 00:28:54 --- join: segher (~segher@blueice2n1.de.ibm.com) joined #forth 01:30:41 --- quit: segher (Read error: 104 (Connection reset by peer)) 02:16:27 --- part: SeaForth left #forth 02:22:55 --- join: samc_ (~sam@203-114-131-186.inspire.net.nz) joined #forth 02:42:19 --- join: aum (~aum@60-234-138-239.bitstream.orcon.net.nz) joined #forth 03:06:58 --- quit: samc_ (Read error: 54 (Connection reset by peer)) 03:10:36 --- join: samc_ (~sam@203-114-131-190.inspire.net.nz) joined #forth 03:26:04 --- join: SeaForth (~SeaForth@c-24-1-126-202.client.comcast.net) joined #forth 03:42:07 --- join: samc__ (~sam@203-114-131-27.inspire.net.nz) joined #forth 03:44:05 --- quit: samc_ (No route to host) 03:49:19 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 03:50:21 --- join: samc_ (~sam@203-114-131-36.inspire.net.nz) joined #forth 03:56:01 --- quit: samc__ (Read error: 60 (Operation timed out)) 04:04:06 --- join: hyrax_ (~das@adsl-64-219-100-33.dsl.lgvwtx.swbell.net) joined #forth 04:05:15 --- quit: SeaForth (tolkien.freenode.net irc.freenode.net) 04:05:15 --- quit: Fractal (tolkien.freenode.net irc.freenode.net) 04:05:15 --- quit: samc_ (tolkien.freenode.net irc.freenode.net) 04:05:15 --- quit: arke (tolkien.freenode.net irc.freenode.net) 04:05:16 --- quit: ycchang (tolkien.freenode.net irc.freenode.net) 04:05:16 --- quit: hyrax (tolkien.freenode.net irc.freenode.net) 04:05:55 --- join: samc_ (~sam@203-114-131-36.inspire.net.nz) joined #forth 04:05:55 --- join: SeaForth (~SeaForth@c-24-1-126-202.client.comcast.net) joined #forth 04:05:55 --- join: ycchang (~ycchang@ycchang.cis.nctu.edu.tw) joined #forth 04:05:55 --- join: arke (f2@bespin.org) joined #forth 04:05:55 --- join: Fractal (jah@selling.kernels.to.linus.torvalds.at.hcsw.org) joined #forth 04:06:32 --- nick: hyrax_ -> hyrax 04:13:20 --- join: Narrenschiff (~ritchie@itsnotthatbig.plus.com) joined #forth 04:13:43 --- quit: samc_ (Read error: 113 (No route to host)) 04:27:12 --- join: segher (~segher@blueice4n1.de.ibm.com) joined #forth 04:31:03 --- quit: ycchang (Read error: 110 (Connection timed out)) 04:40:36 --- quit: hyrax ("Chatzilla 0.9.66c [Mozilla rv:1.7.5/20041107]") 05:11:01 --- join: ycchang (~ycchang@ycchang.cis.nctu.edu.tw) joined #forth 05:30:45 --- quit: segher (Read error: 104 (Connection reset by peer)) 05:39:24 --- join: segher (~segher@blueice4n1.de.ibm.com) joined #forth 06:28:03 --- join: snowrichard (~richard@adsl-69-155-177-153.dsl.lgvwtx.swbell.net) joined #forth 06:44:23 good morning 06:46:45 --- quit: snowrichard ("Leaving") 07:15:45 --- quit: segher (Read error: 104 (Connection reset by peer)) 07:34:17 --- join: segher (~segher@blueice3n1.de.ibm.com) joined #forth 07:50:45 --- join: qFox (C00K13S@82-169-140-229-mx.xdsl.tiscali.nl) joined #forth 07:55:35 --- quit: segher (Read error: 104 (Connection reset by peer)) 07:56:01 --- join: snowrichard (~richard@adsl-69-155-177-153.dsl.lgvwtx.swbell.net) joined #forth 07:57:57 --- quit: snowrichard (Client Quit) 08:01:58 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 08:01:58 --- mode: ChanServ set +o Herkamire 08:09:49 --- join: segher (~segher@blueice4n1.de.ibm.com) joined #forth 08:17:26 made a poster for takethis.org 08:17:33 could you proofread and comment? 08:17:35 http://herkamire.com/downloads/takethis.png 08:18:07 'morning btw :) 08:33:35 --- quit: segher (Read error: 104 (Connection reset by peer)) 08:47:37 --- join: Topaz (~top@sown-85.ecs.soton.ac.uk) joined #forth 08:53:00 --- join: snowrichard (~chatzilla@adsl-69-155-177-153.dsl.lgvwtx.swbell.net) joined #forth 08:58:08 --- quit: snowrichard ("ChatZilla 0.9.52B [Mozilla rv:1.6/20040115]") 09:05:59 --- join: Serg[GPRS] (~z@193.201.231.126) joined #forth 09:06:24 hi 09:07:04 * Serg[GPRS] is fighting w/ DirectX 9c, attempting to play FlatOut 09:08:18 can one hellp me ? 09:15:21 --- join: segher (~segher@blueice4n1.de.ibm.com) joined #forth 09:25:46 zz 09:26:06 --- quit: Serg[GPRS] () 09:34:14 herkamire: foolishnes --> foolishness 09:34:23 seems fine, otherwise 09:58:39 ahh :) thankyou 09:59:14 no spellchecker in sodipodi :) 10:29:42 --- quit: segher ("Leaving") 10:46:37 --- quit: cmeme (Remote closed the connection) 10:52:52 --- join: snowrichard (~richard@adsl-69-155-177-153.dsl.lgvwtx.swbell.net) joined #forth 10:52:54 hello 11:07:15 --- quit: snowrichard (Nick collision from services.) 11:07:28 --- join: richard_ (~richard@adsl-69-155-177-153.dsl.lgvwtx.swbell.net) joined #forth 11:09:53 --- join: snowrichard (~richard@adsl-69-155-177-153.dsl.lgvwtx.swbell.net) joined #forth 11:31:56 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 11:32:09 --- quit: I440r (Read error: 60 (Operation timed out)) 11:32:13 --- quit: cmeme (Remote closed the connection) 11:32:57 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 12:02:28 --- quit: cmeme (Read error: 104 (Connection reset by peer)) 12:04:18 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 12:07:37 --- part: snowrichard left #forth 12:30:09 --- quit: cmeme (Read error: 54 (Connection reset by peer)) 12:30:22 --- quit: Raystm2 ("User pushed the X - because it's Xtra, baby") 12:36:13 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 12:37:39 --- quit: cmeme (Read error: 104 (Connection reset by peer)) 12:39:49 --- join: TheBlueWizard (TheBlueWiz@modem-128.nyc-tc04b.FCC.NET) joined #forth 12:48:38 --- quit: richard_ ("Leaving") 12:51:07 --- join: Teratogen (~leontopod@intertwingled.net) joined #forth 13:02:09 --- join: snowrichard (~richard@adsl-69-155-177-153.dsl.lgvwtx.swbell.net) joined #forth 13:07:29 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 13:07:43 --- quit: cmeme (Remote closed the connection) 13:08:27 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 13:10:55 --- quit: cmeme (Remote closed the connection) 13:11:08 --- quit: snowrichard ("Leaving") 13:16:57 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 13:17:12 --- quit: cmeme (Remote closed the connection) 13:17:57 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 13:38:57 --- quit: SeaForth ("Leaving") 13:43:22 --- join: SeaForth (~SeaForth@c-24-1-126-202.client.comcast.net) joined #forth 13:49:48 --- join: Sonarman (~snofs@adsl-64-169-93-4.dsl.snfc21.pacbell.net) joined #forth 13:55:39 --- part: SeaForth left #forth 13:56:00 --- quit: Teratogen (Read error: 104 (Connection reset by peer)) 13:58:49 --- join: snowrichard (~chatzilla@adsl-69-155-177-153.dsl.lgvwtx.swbell.net) joined #forth 14:00:26 hello 14:01:28 hiya 14:02:09 how are you? I just installed a new CD/rw because my old one broke. 14:04:38 I'm doing fine 14:04:59 I see re: replacement...have fun with the new toy 14:05:04 was a gift from my nephew 14:05:42 hmm 14:06:14 have you used retroforth? 14:08:48 I got the find/replace for the block editor working, and patched query to handle the backspace. That makes it a little more usable. 14:09:22 I haven't used retroforth 14:09:25 ok 14:09:31 * TheBlueWizard smiles 14:09:50 which is your favorite? 14:13:57 which forth? nothing in particular (though I find Pygmy Forth kinda interesting) 14:14:57 just curious. 14:15:10 I could not get the current gforth to build. 14:16:16 --- part: snowrichard left #forth 14:33:41 --- join: Raystm2 (~Ray@adsl-69-149-63-57.dsl.rcsntx.swbell.net) joined #forth 14:35:51 --- join: SeaForth (~SeaForth@c-24-1-126-202.client.comcast.net) joined #forth 14:41:30 --- join: raystm22 (~color4th@adsl-69-149-63-57.dsl.rcsntx.swbell.net) joined #forth 14:48:55 --- quit: Raystm2 ("User pushed the X - because it's Xtra, baby") 15:07:54 --- quit: Narrenschiff ("Leaving") 15:10:43 --- join: Raystm2 (~Ray@adsl-69-149-63-57.dsl.rcsntx.swbell.net) joined #forth 15:10:58 --- quit: raystm22 ("User pushed the X - because it's Xtra, baby") 15:22:27 --- quit: cmeme (Read error: 54 (Connection reset by peer)) 15:26:14 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 15:30:01 Hi. :) 15:33:33 Hi all 15:46:15 --- part: SeaForth left #forth 15:48:39 --- quit: qFox ("this quit is sponsored by somebody!") 15:53:16 --- join: SeaForth (~SeaForth@c-24-1-126-202.client.comcast.net) joined #forth 15:58:06 --- quit: Topaz (Read error: 113 (No route to host)) 16:12:18 --- part: TheBlueWizard left #forth 16:12:45 --- quit: cmeme (Connection timed out) 16:16:27 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 16:23:53 --- quit: arke (Remote closed the connection) 16:23:55 --- join: arke (f2@bespin.org) joined #forth 16:28:27 --- join: slava (~slava@24.43.80.135) joined #forth 16:53:43 teh hies slava my love sweet 100000xforther 16:54:24 ? 16:54:52 hi aum :) 16:54:56 ignore that :) 16:54:56 hi 16:55:33 hi 16:56:33 :) 16:59:14 hey all 17:00:01 hi saon, aum, slava 17:05:52 yo all 17:05:52 slava: thx to your encouragement, i've got oo and dynamic mem allocation working in my forth now 17:06:00 aum, cool 17:06:20 i've been messing with my hashtable implementation for the last few days 17:06:45 implementing hashes that automatically increase the number of buckets as entries are added 17:06:52 nice 17:07:03 what i like about forth is that it adds 'soul' to bit-bashing 17:07:38 it should give a nice speed boost, achieving O(1) lookups. i have good hashcode algorithms that give a good spread 17:08:06 you inspire me slava 17:08:23 --- join: Hyrax (~das@adsl-64-219-100-33.dsl.lgvwtx.swbell.net) joined #forth 17:08:24 maybe i should implement binary searches of vtables in my OO (just doing linear search at present) 17:12:57 aum, i do a two-level thing, where each object has a numeric type so methods on built-in types are invoked with an indirect jump through a table, and user-defined types' methods are looked up in a hash 17:13:27 but that's probably not useful to you since you don't have 'built in' types 17:13:51 don't speak too soon - i could well succumb to temptation to implement builtin types 17:14:05 i thought you were targetting some 4kb of ram machine or something 17:14:13 in my earlier python forth impl, everything on the stack is an object 17:14:21 dynamic typing brings a performance overhead 17:14:30 i anticipate a year's worth of work on my compiler 17:14:53 in my pyforth, i'd up the refcount when pushing, and down the refcount when popping, worked ok 17:15:08 are you aware that refcounting is the worst gc one can think of, pretty much? :) 17:15:10 so then, can just push pointers-to-objects onto stack 17:15:23 refcounting takes bugger-all code 17:15:43 yes, but it scatters the ref/unref logic through your code, and has overhead (both time and space) 17:17:22 eg, ever noticed how big C++ programs take a long time to exit? 17:17:39 its because a huge number of pages must be swapped in, as millions of refcounts decrement eventually to zero 17:17:46 --- quit: saon ("Lost terminal") 17:18:28 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 17:19:27 --- join: zol1 (~l@ppp-62-245-161-209.mnet-online.de) joined #forth 17:19:35 g'day 17:24:21 has any of you tried out a shadow stack, carrying run time type information ? i wonder whether adding some type inference rules to words, and output the results to a warning log would do any good (training system, not production code generator, mind you) 17:24:36 i use this type of technique to infer stack effects and types 17:24:47 how did it work ? 17:24:52 it works well 17:25:13 although it could be improved, but already its helpful to statically check stack flow 17:25:21 worth it to try adding that to jsforth ? 17:25:43 i don't know, what are your goals? 17:26:07 idea of using this was to give some help to newbies to tell what was wrong in his word 17:26:26 its good for experts, too :) 17:26:48 i'm not sure whether jsforth is ever going to be used by experts :) 17:27:27 but that gives me some space to try out things i wouldn't in a production system 17:27:41 like what? 17:28:00 other things i have mentioned already, like the standard compliancy switch 17:28:00 --- quit: cmeme (Read error: 60 (Operation timed out)) 17:28:32 words have run time bit masked information about what standard(s) they comply with 17:28:42 which can be used by the compiler 17:28:44 hmm 17:28:51 you support all 2342342342398495348 forth 'standards'? 17:29:15 i could turn off, say, all word which are dpans but not f83 17:29:16 haha 17:29:19 that would be awesome 17:29:28 thats a great idea 17:29:28 no, just dpans, f83, f79, fig 17:29:41 i think most people code for a specific forth 17:29:45 i need to add a bit for f79 17:29:47 writing portable forth is too hard 17:29:53 unless you have a bunch of wrapper words 17:29:58 cause it needs alternative definitions for a few wors 17:30:11 not just filtering 17:31:00 never tried that with another forth before 17:31:10 i wonder if anybody did 17:31:32 that's the kind of experiments i can and like to do with a new system like jsforth 17:31:49 if it doesn't work out, no damage done 17:32:10 t'is been worked on anyway 17:32:49 reason that that is, jsforth is meant to be a training/tutorial forth 17:33:05 hmm 17:33:07 and there do exist tutorials, describing different standards 17:33:12 true 17:33:18 have you ever used drscheme? 17:33:18 that a great way to confuse a noob 17:33:26 it lets you switch between different scheme dialects 17:33:28 no 17:33:36 and it has a bunch of teaching features, like single-stepping 17:33:45 then i'm going to pinch it :) 17:33:46 and a pretty cool IDE 17:33:58 i'm not a fan of scheme myself, but drscheme is as good as it gets :) 17:34:32 needs very little code, most stuff is between parenthesis :) 17:34:56 Haha. :) 17:35:19 slava: the lisp family of languages is the best next to forth. Only problem is that most have the win32forth-syndrome 17:35:44 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 17:35:55 arke, win32forth-syndrome? bad design? 17:35:56 --- quit: cmeme (Remote closed the connection) 17:36:11 slava: bloat upon bloat upon bloat upon bloat 17:36:12 words are not simple definitions, but whole apps 17:36:25 well, win32forth's main problem is not bloat, but messy code 17:36:41 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 17:36:42 all of the abiove 17:36:43 :) 17:36:48 i like common lisp 17:37:55 win32forth has a design? 17:38:33 i only looked at the definiton of a few words, and had the imnpression that not much thought has been put into factoring 17:39:03 arke, there is a difference between bloat and having lots of features 17:42:56 zol1, win32forth doesn't have a good compiler so they're forced to write words like rdrop and dup>r and other words that 'fuse' together two words that are already in their name 17:43:04 zol1, that's just one example of bad design 17:43:49 too many features = bloat :) 17:43:52 rdrop is a standard (ANS) word 17:44:13 arke, not really. bloat is code that is there but does nothing 17:44:44 arke, like people who take 1,000 lines to implement something that can be done in 50 17:44:49 sry. forget what i said 17:45:04 t'is NOT standard 17:48:56 --- quit: Hyrax (Read error: 110 (Connection timed out)) 17:49:58 slava, line count is not a good metric 17:50:09 i know 17:50:11 but you get my point 17:50:18 there's vertical coders and horizontal coders 17:50:33 * slava is a vertical coder 17:51:03 I'm a horizontal coder 17:51:09 depends with me. if i can put it on one line, i'm horizontal. if not, i'm vertical 17:51:25 http://cvs.sourceforge.net/viewcvs.py/factor/Factor/Factor/library/inference/words.factor?rev=1.41&view=auto 17:51:46 I have to fit things on one line if I'm going to be able to load them from a blockfile :) 17:51:50 hmm, that code is not very good :) 17:52:14 --- quit: Sonarman (Read error: 110 (Connection timed out)) 17:53:48 Lots of comments in the code :) 17:54:26 * crc doesn't have any words for comments with definitions in retro8 17:54:44 s/with/within/ 17:54:54 poor one :) 17:54:59 oh? 17:55:06 I never used them when I had them 17:55:09 like ( x -- ) 17:55:22 Shadow blocks :) 17:55:27 Or an external reference 17:55:33 to much eye strain 17:55:39 ? 17:55:44 i want stack effect right next to word name 17:56:01 being able to see both in a glimpse 17:56:10 but that takes up valuable code block space =p 17:56:11 and not twirling around eyeballs 17:56:15 * crc knows his words well enough not to need that 17:56:21 but other people don't know your words 17:56:24 yes, *your* code 17:56:25 True 17:56:39 slava: all of my words are documented, including stack effects 17:56:47 Just not in the bootstrap code 17:56:54 where then? 17:57:00 In the manual :) 17:57:04 oh 17:57:15 i find comments in the source nicer, because then 'see' shows them too 17:57:23 I don't have see 17:57:28 i know 17:57:40 which is hidden underneath a peat swamp in the vicinity of a burnt-out nuke cells storage facility .. 17:57:49 You can decompile a word, complete with a list of each routine that's called, but noo stack comments 17:58:00 i don't have decompiling 17:58:14 the compiler performs enough transformation that this would not restore the original source in a useful form 17:58:15 It's a loadable option in retroforth ;) 17:58:40 I don't decompile often though 17:58:51 i use 'see' all the time 17:59:00 also 'usages.' is very handy 17:59:09 usages? 17:59:18 i think ability to view source is more important than decompilation 17:59:24 crc, yes 17:59:27 hmm 17:59:29 zol1, both are handy 17:59:47 zol1, i have a 'jedit' word that opens a word definition in my editor, but 'see' is a quicker to just dump the word def in the console 17:59:51 ok. given the exclusive-or choice, i'd prefer source view 17:59:53 zol1: how do you implement "see" for a native compiler that doesn't keep the source around? 18:00:14 why not the source around ? 18:00:20 Why should I? 18:00:33 no source, no source view 18:00:33 It'd complicate things 18:00:50 why would you want to see source without source ? 18:01:01 one advantage of keeping a 'see'able form of the code around is that you can recompile without reloading source files 18:01:14 i do this when working on the compiler, i can make some changes and recompile stuff straight away 18:01:44 * zol1 's floor is shaking 18:01:55 drum'n bass party below 18:02:00 nice 18:02:08 I use the block editor to write most code now; easy enough to recompile from source there :) 18:02:18 i could write a word 'reload' 18:02:26 takes a word on the stack, and reloads the source file this word originated from 18:02:33 would be quicker than typing a source file name by hand 18:02:41 but then, i have a keystroke in my editor to reload a factor file anyway 18:03:13 i used a word "project" which was used "project foo". upon execution of foo, editor opened source, after editing previous foo was forgotten, and new foo compiled 18:03:49 (which again defined foo, so i could use that as often as i liked) 18:03:58 what i want to experiment with is making an editor that edits the syntax tree directly 18:04:04 so you cannot make a typo 18:04:05 The only time I "forget" a word is when the definition is flawed by calls to non-existing words 18:05:12 i do forget words on cold start too 18:05:44 cold start? 18:05:44 but i hardly ever implement a word "forget" 18:06:00 yes, by execution of word "cold" 18:06:07 I don't have a "cold" word 18:06:32 if there's no "bye", "cold" can be useful 18:06:41 to restore defined state of system 18:06:41 I do have "bye" :) 18:06:47 after lots of messing yup 18:07:04 there are systems which do not have bye 18:07:15 because there's nothing to bye to 18:07:33 Actually, I can save the dictionary state, and restore it later with some of the compiler extensions I've writtenn 18:07:45 RetroForth/Native lacks "bye" 18:08:30 rf/native makes me want to make a factor/native but i'll never bother ;) 18:08:35 why would one ever want to leave retroforth? 18:08:45 I have no idea :) 18:09:12 Other than the lack of networking code at this point :) 18:11:44 forth.org has now 3 links to forthfreak 18:12:07 (took a while till they've put up the first) 18:14:40 --- join: I440r (mark4@216-110-82-59.gen.twtelecom.net) joined #forth 18:16:02 --- quit: saon ("Lost terminal") 18:29:50 zol1: cook 18:29:54 cool even 18:29:58 * crc is getting tired 18:30:57 crc, looks like it slowly gets adopted as one of the major forth sites. there are a number of sites now with just two pointers: to forth.org and to the wiki 18:32:16 but i might have to put it on another server - the one where it is one has quite a lot of load at some times right now. 18:32:53 performance wasn't exactly great recently 18:33:02 who runs forthfreak? 18:33:13 what'you mean with "run" ? 18:33:18 who's wiki is it? 18:33:23 mine 18:33:26 no 18:33:26 mine :) 18:33:31 it's the users' wiki 18:33:41 can i merge the concatenative languages wiki into your wiki? 18:33:43 * crc added a lot of content to the wiki 18:33:46 ours runs on phpwiki, which sucks 18:33:57 slava, wiki sisters ? 18:34:05 and sf won't let me run something decent like cliki 18:34:20 zol1, http://factor.sourceforge.net/wiki/index.php 18:34:30 slava: had a look at the forth wiki markup stuff yet ? 18:34:46 slava: the days are not far that this would be a wiki 18:35:32 http://www.forthfreak.net/wiki/index.cgi?WikiMarkupProcessor 18:37:39 i paused work in it because of jsforth 18:38:04 (and hoping somebody would pick it up while its pausing) 18:39:00 slava: if you mean, by "running", "who operates the server", thats me 18:39:18 i'm also the owner of that domain 18:39:41 in fact, owner, tech-c, zone-c, everything :) 18:41:02 credit to crc for contents 18:41:14 though ian osgood is catching up :) 18:41:20 heh 18:41:31 I still do quite a bit :) 18:42:04 I provided enough content to get the wiki rolling, and that's what counts for me 18:43:02 last week page edits: crc=3 ian osgood=4 18:43:13 heh 18:43:52 (now crc goes edting two more pages *g*) 18:45:12 a few weeks ago, jonah thomas was the major contributor in terms of page count by far 18:45:31 actually, I can't even access forthfreak.net right now :( 18:45:45 about 20 pages in 3 days 18:46:11 hmm .. log doesn't show you attempted 18:46:28 that's not load related then 18:46:33 I can't even ping the server 18:46:42 now, there it is 18:46:44 right 18:46:49 you can't ping 18:46:51 firewalled 18:47:09 because of the ssh worm 18:47:14 ok 18:47:22 hundreds ok automated ssh login attempts 18:47:26 of 18:47:38 they were pinging first 18:49:35 if you can access the fwiki stuff better than forthfreak, the difference is server load related 18:49:44 fwiki is on another server, with lower load 18:50:13 fwiki.logilan.com 18:50:44 that was the higher-load server until short time ago 18:50:58 "just" 200 gbytes traffic/month 18:51:14 when the other was about 100 18:52:07 but since about 2 weeks, the server with forthfreak wiki is pretty busy 18:53:00 forthfreak wiki is on both anyway (they back each other up, daily) 18:53:42 so i might just switch over to the other server 18:55:00 hope you don't mind the IF reject 18:55:07 t'is just for performance 18:55:13 Not a problem 18:55:24 I'll just hack it in when I need to use it 18:55:31 and jsforth is not with performance in mind 18:55:38 right 18:56:17 why does user need to bother about the missing space ? 18:56:28 It's actually cleaner in RetroForth 18:56:31 you wouldn;t need headers for IF 18:56:45 if the compiler compiles them on noticing IF 18:57:16 i.e. a slightly smarter IF 18:57:22 heh 18:57:37 I like my solution. It allows me to be close to the hardware :) 18:58:07 no, you aren't when using IF 18:58:12 Yes I am 18:58:16 =if compiles to: 18:58:17 there's branch ... 18:58:20 cmp eax, [esi] 18:58:22 lodsd 18:58:23 lodsd 18:58:28 jz ???? 18:58:38 then patches the jz to the address to jump to 18:58:46 s/jz/jnz/ 18:58:48 that's what i mean 18:58:53 you aren't close to the hardware 18:58:57 Yes I am 18:59:01 code generate by IF is 18:59:09 but you work on IF level 18:59:24 what zol1 is suggesting is a peephole optimizer 18:59:30 hmm 18:59:48 I've grown quite comfortable with multiple if words 19:00:29 well, one can get used to anything :P 19:00:32 * crc doesn't want to code a peephole optomizer 19:00:42 zol1: I got the original idea from herkforth 19:00:52 again, "why do you have code IF" ? 19:00:57 that's about the same ... 19:01:01 ? 19:01:20 it causes the compiler to perform some action compile time 19:01:30 So? 19:01:56 compiing an cond branch runtime, depending on condition, is in the same line 19:02:43 not exactly 19:02:44 my idea is, the reasons you put fwd aginst a smarter if would be reason for not using IF at all. 19:03:01 I don't use any form of if very often 19:03:06 as IF is already somewhat smart 19:03:19 * crc sighs 19:03:42 each form of if simply inlines a sequence of bytes that are predetermined. 19:03:57 No checks for prior words to determine the sequence 19:04:05 No intelligence required by the word 19:04:08 you already do a prior word check in ; though right? 19:04:19 In ;; 19:04:27 And that's the only exception 19:04:32 It changes a CALL to a JMP 19:04:46 factor this out, make it work with if :) 19:04:52 I can't 19:05:19 It checks to see if [HERE - 5] = $e8, if so increment it 19:05:51 (there is another check to make sure that the last thing compiled wasn't inlined code, but that's also a simple check) 19:06:22 It doesn't have to keep track of the last compiled word and modify code based on that 19:07:26 revised page edit sdtats last week: crc, 5 pages :) 19:10:48 this earns crc the title "most active contributor this week" by a margin of 1 19:12:20 zol1: wait a little while; I have quite a bit to add :) 19:33:47 crc, how easy/difficult would you reckon it would be to hook up your irc client to, say, jsforth ? 19:34:28 * zol1 thinks about link in ForthCommunities to online chat, embedded in wiki 19:35:45 this can't be server-side 19:47:04 zol1: It'd be hard 19:47:26 The code relies on direct OS access to setup networking and such 19:47:36 It'd *have* to be server side :( 19:47:41 ok. postponed. 19:48:04 maybe proxied 19:48:10 * crc will look into the possibility of a JS IRC client that could be used with JSForth though 19:48:56 if JS can do it, jsforth should be able to as well 19:49:44 background of jsforth is, i need to get it running on different browsers once only. 19:50:03 and what runs under jsforth would be browser independent 19:50:09 Have you seen http://www.levelthreesolutions.com/jisirc/index.html ? 19:50:49 just looking at it 19:50:54 great 19:52:19 bookmarked 19:53:12 could put it on the page AskAForthExpert :) 19:53:27 :) 19:53:41 or AskAForthExpertProvidedThereIsAnyAround 19:54:05 i'd really love that 19:54:08 AskCharlesForHelpBetween6and11pmEasternTime :) 19:54:36 wiki people dropping in here because they found the link to click on 19:54:47 That'd be cool 19:55:04 could even happen once a week or month 19:55:15 * crc plans to add a web-based irc client to retroforth.org sometime this year... 19:55:38 Yay. :) 19:55:41 ah, ok, then i only need to link to you 19:55:48 Yup 19:56:12 I'm not sure if it'll be java-based or javascript-based though. 19:56:26 I already ruled out CGI:IRC -- too unreliable 19:56:43 i don't want irc on the server 19:56:58 that's client business 19:57:07 I have a live RetroForth/Linux system running on my server ;) 20:00:10 :) 20:00:26 crc: reminds me, why in heavens name do you have a .cx? :) 20:00:38 It's a dyndns service :) 20:00:53 crc, i can C-record you if you like 20:01:01 C-record? 20:01:07 like, a dns alias 20:01:17 how easy is it to update? 20:01:19 name1.domain1 -> name2.domain2 20:01:30 you update name2.domain2 20:01:39 ? 20:01:44 * crc is confused 20:02:04 and name1.domain1 returns the up-to-date ip address of name2.domain2 20:02:11 ok 20:03:09 At the moment I have rf8.ath.cx set up via a free dyndns service 20:03:26 I set my current IP to that URL, and let some people login via ssh 20:03:31 i got about 50 domains to choose of 20:03:36 hmm 20:03:39 50 domains? 20:03:45 but probably forthfreak.net is the one which makes most sense 20:03:49 * crc envies you 20:04:01 many of those are .de domains 20:04:30 * crc remembers visiting forthfreak.de ... 20:04:47 right. but i like .net better 20:04:53 Me too 20:04:59 or .org 20:05:32 is still available 20:05:48 if you want to reg it, i can dns you 20:05:54 hmm 20:06:08 otoh, it may confuse people 20:06:39 probably 20:07:02 My key problem with DNS is that my IP changes about once a week :( 20:07:16 thats what c-records are nice for 20:07:39 is pointer to another name, rather than an ip address 20:08:00 --- join: Sonarman (~snofs@adsl-209-233-52-86.dsl.snfc21.pacbell.net) joined #forth 20:08:20 So retro.forthfreak.net could point to the rf8.ath.cx name I have setup? 20:08:31 right 20:08:39 that would be awesome 20:10:35 60 seconds caching time ok ? 20:10:42 sure 20:11:15 entry created 20:11:36 may take some moments to propagate through dns 20:14:19 ;; QUESTION SECTION: 20:14:19 ;retro.forthfreak.net. IN A 20:14:19 ;; ANSWER SECTION: 20:14:19 retro.forthfreak.net. 60 IN CNAME rf8.ath.cx. 20:15:36 takes a day 20:15:43 ok 20:15:52 cause previous (wildcard) resolving was set to 86400 secs 20:15:59 * crc will connecting to it tomorrow evening 20:16:31 i better bring wildcard time down 20:16:36 for the next case 20:19:54 to have a look how those c-records work, you can play with topaz.forthfreak.net 20:20:12 with dig, for example 20:22:17 doing dig -t ns retro.forthfreak.net you should see what it has been aliased to already 20:23:02 change is in effect here now 20:23:06 i can ping you with your proper address 20:23:49 --- quit: aum () 20:23:55 ping retro.forthfreak.net 20:23:56 64 bytes from pool-70-20-194-120.phil.east.verizon.net (70.20.194.120) 20:24:49 I can't ping it yet :( 20:25:14 (i had to reinit my local dns though, because without it would have cached the address of forthfreak server for 1 day) 20:26:06 but with the reinit, it forgot it cached records, and asked the authoritative dns again,. 20:26:24 from where it got the up-to-date answer 20:26:52 but you can't reinit your providers dns 20:26:56 :( 20:27:16 anyone else should be able to use retro.forthfreak.net already 20:27:35 (provided they didn't try to resolve *before* the change was through 20:27:37 ) 20:28:08 do you guys think that an adaptive 4 wheel drive system would be worth it for a race car? 20:28:21 with that i mean that torque is transmitted automatically to the wheels that need it most 20:28:22 thus, you , and your provider's users are probably the only one in the world still getting the wrong answer :P 20:28:29 front for steering, rear for power, etc. 20:28:31 :( 20:28:51 at least for rallye cars, this is in use 20:28:59 called "sperrdifferential" 20:29:11 puts torque on the wheel with best grip 20:29:22 and takes torque away from slipping wheel 20:29:44 that's the opposite of consumer car behaviour 20:29:48 yeah, exactly 20:29:51 maximum handling 20:30:01 you think that its worth its weight for a sup0ercar? 20:30:32 if that's in use for rallye cars, i would be surprised if racing cars wouldn't use it 20:30:51 of rallye cars i know, of racing cars i can only speculate 20:30:58 Well, 4wd racing cars use it, but not too many racing cars do becuase of its weight 20:31:25 they want that extra half a second in their 0-200mph time, rather than improve the handling 20:33:13 arke, can you pls ping retro.forthfreak.net and tell what the address is ? 20:40:09 goodnight (thanks zol1) 20:40:30 my pleasure 20:41:46 zol1: 70.20.194.120 20:42:05 great 20:42:11 thanks sonar 20:44:33 crc is now a retroforthfreak 20:47:46 crc, your webserver seems to be down 21:05:55 --- join: snowrichard (~richard@adsl-69-155-177-153.dsl.lgvwtx.swbell.net) joined #forth 21:07:36 --- quit: snowrichard (Client Quit) 22:01:00 --- join: samc (~sam@203-114-131-6.inspire.net.nz) joined #forth 22:06:08 --- join: zoly (~l@ppp-62-245-208-55.mnet-online.de) joined #forth 22:18:11 --- quit: zol1 (Read error: 110 (Connection timed out)) 22:20:52 --- quit: Sonarman ("leaving") 22:47:08 mmm... 22:47:22 * Herkamire is compelled to comment on a conversation between people who have gone to bed 22:47:25 and then go to bed 22:47:45 do, we'll comment on that 22:47:52 oh... you're one of them 22:47:56 nope 22:47:58 :) 22:48:12 apparently you didn't go to bed... guess I read that wrong 22:48:13 i'm not "people who have gone to bed" 22:48:18 let's see if I read this bit right :) 22:48:31 was crc talking about the issue with then ; 22:48:39 if foo then ; 22:48:51 not that i recall 22:48:58 oh 22:49:22 a bit about IF , and there was mentioning of ;; 22:50:07 oh well 22:50:19 I wasn't sure I followed it 22:50:22 but i've only be around for about 4 or 5 hours 22:50:29 been 22:50:45 in herkforth you can't do "then ;" 22:50:56 then nop ; 22:50:57 well, you can't if that follows a call 22:51:32 because ; decompiles the last instruction if it's a branch, and replaces it with code to pop the rstack and branch 22:51:44 (tail call optomization or whatever it's called) 22:51:51 this makes tail recursion automatic 22:52:09 but it clashes with if/then 22:52:10 :) 22:52:18 * zoly won't comment 22:52:18 because the instruction the if/then branches to gets moved 22:52:44 * zoly won't even :) 22:53:06 I rrr. the one it branches past that is 22:53:24 anyway, I've since decided to just not write "then ;" 22:53:32 I wrote conditional exits 22:53:37 0; <; <>; etc 22:53:39 that is, there is a smart ; but it is not smart enough 22:54:02 in my model there's no way for it to tell 22:54:46 why would the else or if jump behind then if there's a ; ? 22:54:49 so instead of writing : foo ... if bar then ; I write : foo ... 0=; bar ; 22:54:53 it could exit straight away 22:55:08 which is shorter, and imo simpler 22:55:49 zoly: huh? if/else/then doesn't exit 22:55:55 then ; does 22:56:02 (would) 22:56:05 yes, but that's two words 22:56:15 how's THEN supposed to know that a ; follows? 22:56:20 why branch to exit, rather then exit ? 22:56:36 what branch to exit? huh? 22:56:39 you patch the branch 22:57:36 can't even tell if we agree 22:57:53 I hear you saying something about how it should just exit, instead of branching to the end 22:57:59 Herkamire: "then" doesn't inject any code, does it? 22:58:08 where it may not because then ; wouldn't work anyway 22:58:09 my prefered syntax does this explicitly: : foo ... 0=; bar ; 22:58:20 arke: no, it just patches a branch 22:59:13 right. my solution: don't use if/then to branch to the end, just exit 22:59:55 ) 22:59:57 :) 23:01:07 disadvantage is, if you mod the code, for example, add a final "drop", you have to review the whole word, to see whether it contains something incompatible with adding a word 23:01:28 zoly: disadvantage of what? 23:01:34 change one spot, you may have to change at a different spot too 23:02:01 yeah, flow control is like that 23:02:17 i'm not a friend of things which collapse because of being required to modify different places because you changed one place 23:02:29 I don't see how my conditional exits vs conditionally branching to the end where it exits really changes that situation 23:02:57 if you add an element to the stack, you're going to have to make sure it gets off again, regardless of control flow 23:03:13 that's evident 23:03:41 did you never forget to add a final "drop" to a word, noticing it when testing it ? 23:03:46 i did plenty of times 23:03:47 I don't see the connection between your disadvantage and the branching stuff 23:04:03 a word just left a stack element, which i had to drop 23:04:13 adding the final drop was just one example 23:04:19 yeah almost definitely, I get the stack usage wrong sometimes 23:04:21 --- quit: samc (Read error: 54 (Connection reset by peer)) 23:04:26 now, i'm not done with just adding "drop" 23:04:42 i have to review the whole word, whether adding a drop breaks it 23:05:07 are you saying you don't like words that have more than one exit? 23:05:24 that sums it about up. 23:05:37 at least not if i have to care about the exits myself 23:05:49 if the compiler does, i can live with it 23:06:13 then ; should compile into something nice. 23:06:16 i do use them sometimes 23:06:28 i dont believe colorforth does, but it can be easily done, i think. 23:06:28 but i notice that they are more prone for problems when modifying them 23:06:48 only difference is that you need to keep two histories, instead of one. but thats like what, 2 lines of code? 23:07:58 "then" does one step towards smartness, but is not consequent enough to take the other step, which need is resulting from added smartness 23:11:49 --- join: snowrichard (~chatzilla@adsl-69-155-177-153.dsl.lgvwtx.swbell.net) joined #forth 23:11:54 hello 23:12:02 hi 23:12:11 crc around? 23:12:16 went to bed 23:12:20 ok 23:12:31 he read my note on his forum. 23:12:53 trying to think how to describe or demonstrate 23:13:00 a patch to retroforth for backspace key 23:13:08 here's an example from herkforth: 23:13:10 : ?term-wrap term-width <=; ew-ascii? @ if; term-y++ term-width - ; 23:13:11 about half an hour earlier than you joined before 23:13:31 ?term-wrap takes a single argument: the current x position of the cursor 23:15:32 if it hits the edge of the terminal (and we're not doing a straight ascii dump) then it updates the x/y values appropriately 23:16:01 weird usage, but whatever. 23:16:47 in normal forth it could be written : ?term-wrap term-width > if ew-ascii? @ 0= if term-y++ term-width - then then ; 23:19:47 the former is shorter 23:19:58 and I find it much simpler to verify 23:20:54 funny, i'm busy with backspace key (for accept) this very moment too 23:21:09 even when reading it to try to figure out what the stack usage is 23:22:13 it was very difficult to use retro without the patch I made on the native version because pressing backspace would give you an undefined symbol error 23:22:27 snowrichard: oh dear :) 23:23:13 I typed some lines 5 or 6 times before I got them right :) 23:23:24 ouc 23:23:25 h 23:23:29 nice chatting 23:23:32 --- quit: Herkamire ("off to bed") 23:26:51 i have the funny situation that (jsforth..), when coding query to use accept, which would use key, i *have* to code a hi-level accept 23:27:11 cause only as hi-level, "key" would work :) 23:27:42 I am not sure I understand 23:27:59 is this the forth in javascript? 23:28:03 right 23:28:42 the reason for that is, jsforth must be event driven 23:28:53 i can't have an input loop, waiting for keys 23:28:59 yes 23:29:10 javascript is not made for that 23:29:34 made to act when you press a button or mouseover or whatever 23:29:41 xactly 23:29:48 i.e. "key" stops the interpreter 23:29:55 and key event starts it again 23:31:13 before my "query" was part of the key event handler 23:31:14 is your input in a form field? 23:31:27 i'm just changing it to build upon key 23:31:32 right 23:31:36 got firefox ? 23:31:45 mozilla and netscape 7.2 23:31:48 http://forthfreak.net/JS-Forth.html 23:31:51 should work 23:32:04 internet explorer, safari, opera don't work right now 23:32:51 i'm just redoing terminal stuff to get rid of the backscroll buffer 23:33:17 the top window works in mozilla 23:33:27 the bottom too, only no echo yet 23:33:40 but type "words" enter, and it outputs 23:33:41 well it is hard to see what I was typeing with no echo :) 23:33:46 right. 23:33:58 that's because key doesn't echo, as it is supposed to do 23:34:10 and i'm working on the bottom stuff, 23:34:17 just building accept 23:34:31 the retroforh query loop uses emit to echo after it reads the key 23:34:32 therefore no key echo at this point 23:34:56 be assured, it *will* echo input soon 23:35:19 but dealing with chars, i.e. buffering, editing, is more important now 23:35:28 echo is cosmetic :) 23:35:49 I had my fill of javascript trying to use an "shopping cart" where the inventory was all in javascript instead of using a database. 23:35:56 you can press escape 23:36:07 that shows you the current buffer on a clean screen 23:36:55 therefore, if you press escape after each key, you got a reasonable approximation of echoing 23:37:34 zoly: Or, you could just add "dup emit" :) 23:37:40 top and bottom is the same interpreter, only two different sets of i/o routines 23:37:53 no. output gets buffered 23:37:55 hi arke 23:37:59 hi snowrichard 23:38:11 you did some coding on retro right? 23:38:14 oh, i could 23:38:18 snowrichard: nothing major 23:38:24 cause stopping for input flushs the buffer 23:38:30 snowrichard: a little bit of playing, but I plan doing more. 23:39:18 so far I have done hd block file read/write, fixed the backspace problem, and coded a find/repl for the block editor. 23:39:36 * zoly wants blocks in jsforth too :) 23:40:17 that all this last week or so 23:40:39 zoly: you crazy. 23:40:55 can javascript write local files? 23:41:00 why ? i want to be able to load some source comfortably 23:41:06 i'm afraid no 23:41:17 but i can POST or GET to a web server 23:41:31 therefore, two systems could use each other as disk storage :) 23:41:37 then you would have to cut and paste I guess 23:42:03 23:41 < kc5tja> "From the man who brought you BashForth comes... JSCRIPT FORTH!" 23:42:09 maybe you could write a storage system with PHP or something 23:42:14 not necessarily. having a web server as disk for jsforth would do 23:42:34 arke, *g* 23:42:57 snowrichard: php is server based, for that, i wouldn't need php 23:43:29 just write permission on the server? 23:43:30 some bashforth cgi script would do (*duck*) 23:44:10 coffee brb 23:45:16 I was out fixing my nephews computer today. He had a real mess. Had language set to german when he installed his printer so he could not read any of the printer config controls. 23:46:03 Hehe. 23:46:06 deleted all the printer defs, uninstalled the printer drivers, and reinstalled. 23:47:17 what I went out there for was to get his scanner working. He had bought a scanner at goodwill for $8 with no software. He tried to d/l drivers but his dialup connection kept dropping off before he could get them all 23:47:47 he bought me a cd burner so I could d/l them with my dsl and burn CDR with the drivers . so I got early bday present. :) 23:50:08 :) 23:50:47 he also was trying to run an MSDOS game , and kept getting some wierd error about autoexec.nt not being right. I googled the error message and found a microsoft KB entry to fix it. 23:52:29 --- join: samc (~sam@203-114-131-100.inspire.net.nz) joined #forth 23:53:27 he wanted to use a free animation software called anim8 but it is very complex I don't think even I could figure it out without a lot of work. 23:53:45 Heard of it. 23:57:04 I was able to draw cubes, spheres, and so on. The part with making a skeleton figure was a little tougher, 23:58:30 I am thinking of deleting my windows partition and putting netbsd 2.0 on there instead. 23:58:45 I tried the Live CD and it looks pretty cool. 23:59:35 :) 23:59:59 --- log: ended forth/05.01.27