00:00:00 --- log: started forth/06.08.24 00:10:38 --- quit: EsotericMoniker (Read error: 104 (Connection reset by peer)) 00:10:44 --- join: EsotericMoniker (n=Esoteric@209.8.233.131) joined #forth 00:11:21 --- join: Cheery (n=Cheery@a81-197-19-23.elisa-laajakaista.fi) joined #forth 00:34:15 --- quit: EsotericMoniker (Read error: 104 (Connection reset by peer)) 01:23:36 --- quit: slava () 01:37:09 352 01:37:26 Too high, guess again. 01:37:31 wait. this isn't mutt. 02:12:16 --- join: nighty (n=nighty@tin51-1-82-226-147-104.fbx.proxad.net) joined #forth 02:28:38 --- quit: Quiznos ("BitchX: it's how steak is done") 02:47:16 --- quit: cods ("restart") 02:48:59 --- join: cods (n=cods@tuxee.net) joined #forth 03:15:27 --- join: Quiznos (i=1000@unaffiliated/quiznos) joined #forth 03:33:29 --- join: nighty_ (n=nighty@tin51-1-82-226-147-104.fbx.proxad.net) joined #forth 03:43:45 --- quit: nighty (Read error: 110 (Connection timed out)) 04:35:55 --- join: PoppaVic (n=pete@0-2pool236-13.nas22.chicago4.il.us.da.qwest.net) joined #forth 05:31:47 --- quit: virl (Remote closed the connection) 05:50:08 hmm... poop-doodle. 06:08:53 --- quit: PoppaVic ("Pulls the pin...") 06:37:42 Please, Lord, let the spoon flip. 07:09:42 --- join: feoh (n=cpatti@pdpc/supporter/active/feoh) joined #forth 07:10:07 Folks. Anyone here use DragonForth for the Palm? 07:18:22 not i 07:18:29 --- join: PoppaVic (n=pete@0-2pool198-126.nas30.chicago4.il.us.da.qwest.net) joined #forth 07:18:43 Which Forth do you guys run? 07:19:04 gforth, ficl 07:19:08 eforthl 07:19:20 I can't manage to _build_ PFE 07:19:59 as a general rule, use Gforth to begin - under most systems... It's the FIG successor. 07:20:51 pfe is fig? 07:21:20 no, PFE is a german-dude's tool for his own shit, that has become fairly popular. 07:21:29 ah 07:21:51 he made it source-avail, but the autoshit just fails. 07:22:29 I've used it before, and it's OK - maybe a notch better than Gforth in places. 07:22:30 yea, i'm not fond of autotools either 07:23:14 My entire life-goal has become a system that seems forthish, uses C, and fucks autoshit. 07:23:26 heh 07:24:05 i've been thinking that loading of forth-style binaries would be easier on kernel-malloced 4k boundaries 07:24:08 and saving too 07:24:49 I can't puzzle that 07:25:05 oh.. you mean the PCODE 07:25:24 the compiled code 07:25:29 part of dictionary 07:25:53 binaries are one of two things: compiled-local or compiled-supercode requiring a linker. 07:26:05 forth only 07:26:13 doesn't matter 07:26:30 somewhere, somehow, there is a loader and a linker. 07:26:40 (load) 07:26:48 * PoppaVic sighs 07:27:12 I can at least accept that ASCII inputs are useable. 07:40:07 Quiznos: oh, btw: often the loader and linker are either/both interpreter and compiler ;-) 07:43:11 ok 07:44:06 Hehe.. They just started a parallel debate in ##C 07:45:36 I think a major part of my efforts is in trying to ascertain where a "klass" is distinct from an "instance" and why.. I've been beating this dummy-file for over a week. 07:47:02 wouldnt a klass be after a `new()' 07:47:08 I've about concluded that a "klass" is like a type/void* and "numbers" are what the entire universe suffers. 07:47:08 or is it before? 07:47:50 I'm trying to minimize externalized funcs - a lot of shit seems to be properties 07:47:59 k 07:48:37 At some point you've a "thing" and need to rely on overloaded or inherited or unavail calls. 07:49:59 1024 can be a plain unsigned, a float, an Xt or any other thing... What should interpret the value "1024" 07:50:23 the programmer needing that value on the stack. 07:50:31 there is no real value "1024" it's a token based on a [sub]string 07:51:39 so, worst case: every char is just a value/number pushed to the stack- when and how do you stop? 07:52:24 is that char ASCII, ebcdic or a WCHAR (unishit)? 07:52:36 wait... who pushes what and how? 07:53:02 worse: who pops what, how and where? 07:53:42 I suspect you begin to see the assorted issues. 07:55:03 I have this really NASTY feeling that I need to write a universal parser and assembler (to somewhere) and then get above it. 07:55:32 'scuse: lexer AND parser 07:55:50 or the lexers are stacked.. or the parsers.... 07:57:29 IOW... Some goddamned generic-machine and a language that can interpret even compiling - but doesn't reflect any specific machine - and is "portable" 07:58:21 it's even worse to contemplate when you want to support OO (not OOP) 08:08:13 well, if you're gonna write another parser, then you're leaving the realm and kingdom of Forth and doing something different. is that what you want to do? 08:09:15 perhaps you've gone too far into meta- of what you're wanting to do and you've lost sight of your purpose? 08:09:30 --- join: PoppaVic1 (n=pete@0-1pool47-133.nas30.chicago4.il.us.da.qwest.net) joined #forth 08:09:34 walk towards the light 08:09:44 crap, you quit? hold on 08:09:46 --- quit: PoppaVic (Nick collision from services.) 08:09:51 --- nick: PoppaVic1 -> PoppaVic 08:09:57 well, if you're gonna write another parser, then you're leaving the realm and kingdom of Forth and doing something different. is that what you want to do? 08:10:01 perhaps you've gone too far into meta- of what you're wanting to do and you've lost sight of your purpose? 08:10:20 goddamned isp 08:10:26 nods 08:11:11 I suspect it's the idea of lexer, parser, interpreter, compiler that is the boggle.. I'm seeing how deep I can prove it. 08:11:19 ok 08:12:01 It sure seems to fuck up HARD on dstack, input, lex, parse, compile and interp 08:12:32 I think it even hits rocks on "Numbers" 08:12:40 or "Tokens" 08:13:40 ..I believe we come back to Literals and strings and vectors/func-ptr and the common Dstack 08:13:53 ..oh, and "interpreter" 08:14:50 Regardless of "mode" (state), you STILL need to interpret and likely even "step" 08:15:15 so, that's a compile-time event, interpretation. 08:15:24 I begin to ponder what those both mean 08:15:51 well, what about immediates - that are "gather-time"? 08:16:03 maybe instead of "interpret" say/think runtime 08:17:58 I'm beginning to believe, yes, there are too many shortcuts and conveniences too low. We seem to always be talking "gathering" (what) and interpret (immediate) and compile (for some other interpreter) delayed and "execute" (when, who, what, how?) 08:19:18 I've seen for years that "a word" is simple, and a lot of engines support that. PRE/POSTfix is a lot harder.. And maybe flex too many rules too far. 08:19:24 perhaps that ``too low'' is a function of your choice of implementation-language instead of forth-characteristics? 08:20:07 Quiznos: nah, I can leap all over and do diddly to foo - but that FOO and the "diddly" seems to be the issue. 08:20:18 why? 08:20:32 ciao 08:20:32 --- part: feoh left #forth 08:21:49 I personally believe that the lexers and compilers are Objects.. I'm just trying to figure out the minimal sets and where whom (instance) would do what-to/with what. 08:22:35 min sets of what? 08:22:50 Lotsa' folks want me to switch to Lisp (variant). BUT, you still come back to the OS/platform/assembler (variants) 08:23:15 --- quit: JasonWoof (Remote closed the connection) 08:23:32 there is binary data, fine - and we already know we can speak of netwise or local. 08:23:49 --- join: JasonWoof (n=jason@c-71-192-33-206.hsd1.ma.comcast.net) joined #forth 08:23:50 --- mode: ChanServ set +o JasonWoof 08:24:47 there is also code: calls, dlopen-refs, etc - Too much seems to predicate a working OS/platform of a state/mode before we get to Forths, Lisps or C 08:25:33 Quiznos: I can't even accept dir/path/file w/o some basics. 08:26:12 forth has a very low initial TCO but it appears that you're trying to build or design emacs without an engine 08:26:25 adding dosish drives and backslashes just strikes me as an interface. 08:26:31 of cours it is 08:26:39 total cost of ownership? 08:26:50 yes, i mean, start-up cost 08:26:51 well, then the problem is a baseline. 08:27:32 * JasonWoof goes back to swearing at his computer for loosing track of his previous irssi session 08:27:58 have you got a running engine yet? 08:28:06 Folks hot for Java or Retroforth or "asm" are STILL skipping some stages... I'm trying to resolve a fist of them 08:28:28 a car cant be truly tested until after it's been built 08:28:31 JasonWoof: hehe.. irssi?? you poor llama ;-) 08:28:42 computer simulation is not real. 08:28:58 truly be ... 08:29:29 a car is built of PORTABLE parts - no. I'm still trying to ascertain which, how and why 08:29:54 do you have a working engine yet? 08:30:00 Further, the car has an "environment" and "space" 08:30:24 no, and I won't - until I can "classify" a load more and better 08:30:35 ok 08:30:38 i gotta go out 08:30:42 ttyl 08:31:22 Working code? yeah.. Engine? no - odd how folks want a doc or an engine, but can't see the rest of the issues. 08:32:04 huh... I assumed Quiznos was talking to somebody else 08:32:40 but from my logs it looks... oh riiiigh. poppavic 08:32:44 nm 08:35:25 JasonWoof: yeah.. I may need an octet/char engine. 08:37:19 worse, I may need to run top-down instead of bottom-up - even allowing for Objects 08:39:29 To lex and such, a "token" is an object - but that seems to be a universe different in asm and C 08:40:01 basically, "who decides what is a token that can become an object?" 08:41:53 I'm even having issues with interpret - why the hell are we deciding between number and word-that-isn't-a-number? In the order lookup versus strtol/sscanf? 08:42:43 It's weird, and we are all suffering "expectations" all over the place. 08:46:03 BUT, it sure seems like we need a really simple-minded lexer to start off the Ball. And those lexed strings need to do a variety of unfriendly-to-yacc "rules" - sooo, we need a character baseline, and a word, string, extension - all based on a "LEXER" aka - get/reject&run/reset&get "interpreter" 08:47:05 characters, mapping, lookup, etc 08:49:21 or, for purists: octets>filter(transliterate)>interpret/compile. 08:50:49 --- join: GoGoDncr (n=GoGoDncr@74.132.197.239) joined #forth 08:53:29 JasonWoof: either we are running a program that compiles literals, or we are running a (slower) interpreter - or a combination of the above using pipes or files/devices// But something, somewhere is running FOO against BAR (data)... It's not pretty and it doesn't make anyone "happy" 08:54:20 OK, I give, for today - stay well, folks 08:54:24 --- part: PoppaVic left #forth 08:55:40 * fission lets his eyes uncross 09:12:54 Does he really have ANY idea what he's talking about? He sounds like someone who read a book. 09:13:17 I'd just like to state for the record that I did try and utterly failed to understand 09:14:03 I wonder how many " keys he replaces per year. 09:14:26 never mind " keys, we're probably talking entire keyboards 09:14:36 Point. 09:15:15 but, as my grandmother was fond of saying, talk is cheap -- so when he has something that demonstrates his ideas, maybe it'll make more sense 09:15:33 or any sense 09:16:45 The problem with these highly idealized systems is that they never actually get written, because they're too busy refining their idealizations. 09:17:28 Whereas Factor isn't perfect, but it runs. isForth isn't perfect, but it runs. My forth is far from perfect, but it runs. 09:18:02 right 09:18:05 whatever works 09:25:59 I would say he's a 'bot, but the output is too random. 09:29:50 maybe he's got a hardware RNG 09:35:07 I have poppavic on /ignore because it's a total waste of time to try to understand him, and I was frequently getting annoyed by it 09:35:15 I'm hoping others will join me 09:35:25 only downside is occationally I get confused, as above 09:36:02 usually it's pretty obvious when he's arround because 5/6 of the messages are people saying "no. I said x" 09:36:11 and "what?" 09:36:16 and "what do you mean x" 09:37:16 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #forth 09:38:17 What I'd like in a /ignore is where it says " ..." so I know he spoke, but I don't have to read it. 09:38:46 And if there are two or more statements back to back from a /ignore'd person, it would collapse them to one ... 09:39:07 ooh! 09:39:09 that would be very cool 09:40:30 maybe I should check for an irssi plugin 09:40:43 I hear there are a rediculous quantity of irssi plugins 09:41:01 but I was quite dissapointed that there isn't one that puts quit messages in private chat windows 09:41:25 JasonWoof: if you find one, please let me know 09:41:26 ie if I'm /msg chatting with you in a private window, and you quit, the private window doesn't tell me that 09:41:35 it tells me when you come back on, but not when you leave 09:41:51 my irssi puts quit messages in query windows ... 09:42:04 but not rejoins 09:42:27 oh... maybe I got that wrong 09:42:32 hehe 09:42:40 yeah I would also like it to inform me when a person joins 09:42:42 anyway, point being you can't tell if they are on or not 09:42:43 there is /notify isn't there? 09:43:00 but I wonder if it would appear in window 1 instead of in the query window 09:46:38 fission: I put in my notes to let you know if I write that plugin 10:08:28 --- join: nighty (n=nighty@tin51-1-82-226-147-104.fbx.proxad.net) joined #forth 10:24:45 --- quit: nighty_ (Read error: 110 (Connection timed out)) 10:33:13 --- join: neceve (n=claudiu@unaffiliated/neceve) joined #forth 10:37:11 JasonWoof: cool :D 11:03:37 Hey. 11:03:55 hi Quartus 11:08:06 What's up? 11:12:29 not much... just at work, relieving professors emerti of their computing woes 11:12:30 ahaha 11:13:10 * Quiznos ponders "relieving" 11:13:58 i got nothin 11:26:52 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-175-210.pools.arcor-ip.net) joined #forth 11:35:05 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 11:35:29 --- nick: snoopy_1711 -> Snoopy42 11:57:17 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 12:12:31 --- quit: neceve ("Leaving") 12:28:47 --- join: I440r (n=mark4@63.163.143.188) joined #forth 12:53:05 --- quit: nighty (Client Quit) 13:11:26 --- join: Quartus__ (n=Quartus_@209.167.5.1) joined #forth 13:27:00 --- mode: ChanServ set +o I440r 13:44:49 --- quit: I440r ("bbl") 13:52:52 --- join: slava (n=slava@CPE0080ad77a020-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 13:52:53 --- mode: ChanServ set +o slava 13:53:05 http://www.osnews.com/story.php?news_id=15223 14:18:16 Nostalgia improves things. I used GEOS on the 64. Attractive and ambitious, but slow, and prone to crashing. 14:19:30 --- join: vatic (n=chatzill@pool-162-84-156-148.ny5030.east.verizon.net) joined #forth 14:19:42 JasonWoof: I've started writing that plugin 14:19:46 JasonWoof: it's deceptively easy heh 14:20:04 --- quit: fission ("restarting irssi") 14:21:16 --- join: fission (n=fission@pdpc/supporter/active/fission) joined #forth 14:45:55 fission: very cool 14:47:15 --- quit: fission ("leaving") 14:48:03 --- join: fission (n=fission@pdpc/supporter/active/fission) joined #forth 14:53:05 well I got the "deceptively" part right 14:56:52 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-175-210.pools.arcor-ip.net) joined #forth 14:57:43 eh? 14:57:51 hey JasonWoof 14:58:09 --- quit: snoopy_1711 (sterling.freenode.net irc.freenode.net) 14:58:09 --- quit: Snoopy42 (sterling.freenode.net irc.freenode.net) 14:58:54 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-175-210.pools.arcor-ip.net) joined #forth 14:58:54 --- join: Snoopy42 (i=snoopy_1@dslb-084-058-175-210.pools.arcor-ip.net) joined #forth 14:59:04 so far I've succeeded in making irssi dump core... ;-) 15:00:10 ahh 15:00:30 --- join: snoopy_1611 (i=snoopy_1@dslb-084-058-175-210.pools.arcor-ip.net) joined #forth 15:01:00 --- quit: Snoopy42 (Nick collision from services.) 15:01:01 we scetched out what it needs to do at some point. lets see if I remember 15:01:12 --- nick: snoopy_1611 -> Snoopy42 15:01:50 when someone joins a channel: check all the windows for that server, and see if that nick is in any of the other channels. if not look for a query window for her and add a notice 15:02:35 --- quit: snoopy_1711 (Read error: 145 (Connection timed out)) 15:03:02 it will give false positives sometimes (if someone leaves the last channel you are both in and then joins again without quitting) but I don't see any way around that 15:03:35 well actually I do, but it requires storing an additional bit of information in the query window 15:04:07 ie a flag saying if a quit message has been displayed since the last join message 15:04:16 unless... maybe it's possible to check that yourself 15:05:07 er I'm confused 15:05:16 I was planning to just add a signal hook on "message public" 15:05:17 heh 15:07:18 message? 15:07:32 er weren't we discussing replacing privmsgs with ... ? 15:07:36 I want it to happen when they connect 15:07:43 oh 15:07:46 oh 15:07:47 oh 15:07:49 ahahahaha 15:07:56 I think we were talking about two different things? 15:08:02 hep 15:08:05 yep 15:08:13 I thought you were writing the other plugin 15:08:19 to put join messages in query windows 15:08:32 oh heh 15:08:34 that would be useful too 15:08:56 the ... one should be much easier to write 15:09:07 _should_ be 15:09:22 yeah 15:09:28 I think the docs are outdated, though 15:09:49 last time I wanted to do something tricky with irssi I figured it would be quicker to hack the source 15:10:21 I wanted to grad the activity display thing and save it to an external file/pipe 15:11:27 this thing: [Act: 3,4,5,6,7] 15:11:29 ahh 15:11:37 yeah I'm much more comfortable with C than perl 15:11:38 --- join: aggieben_ (n=bc@63.98.86.62) joined #forth 15:11:39 sigh 15:11:52 so instead of learning about how irssi does things, and finding out if I can do that in a plugin, and how 15:12:02 I just looked through the source and found the code that renders it 15:12:27 --- quit: GoGoDncr (Read error: 110 (Connection timed out)) 15:12:35 didn't really take that long 15:12:58 and now I have the white and pink things from my irssi activity thing in my status bar on all desktops 15:13:23 now I don't forget about irssi for 3 hours at a streach so much 15:14:41 hehe 15:14:43 cool 15:16:09 --- nick: fission -> fission- 15:16:23 --- nick: fission- -> fission 15:17:14 --- quit: virsys ("bah") 15:17:41 --- quit: Quartus__ ("used jmIrc") 15:17:51 --- quit: Ray_work ("User pushed the X - because it's Xtra, baby") 15:25:57 --- nick: fission -> fission- 15:28:58 --- nick: fission- -> fission 15:29:00 --- quit: aggieben (Read error: 110 (Connection timed out)) 15:29:34 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 15:29:53 hiho.. 15:29:59 hi virl 15:31:27 I don't hate ans forth, I only find it not ideal. also I don't see the point why another forth which does some things better shouldn't be used. 15:32:04 well i don't like ans forth either, that's why i'm not implementing one :) 15:33:12 It continues to impress me, though I'm not making any claim that it's somehow 'ideal', whatever that means. I just plugged Eckert's ANS Forth floating-point emulation into Retro's interpret loop, and now it has floating-point, as if by magic. 15:33:55 it had before that a support for floating point 15:34:23 If it did at some point, this release doesn't. 15:34:53 it's not a fix part of retro, it's more an extension file 15:35:26 It's not apparent anywhere in the build tree or documentation for 9.2.9. As far as I know it doesn't ship with any such support. 15:35:55 that's what I like about retro and what I dislike about ans, it has a lot of words per default. I think modularization is good. 15:36:20 i don't think there's a problem with having a lot of words as long as the beginner only has to learn a few to get started. 15:36:26 rf 9.2.9 has 251 words defined at startup. 15:36:40 you can do ans with 40 or 60 or so 15:37:32 as I was a beginner of forth, too much words in a forth system confused me. 15:37:46 In fact a compliant system would have to have all 133 CORE words, but you could certainly provide many of them in loadable source. 15:38:32 because when you learn some basic words like ." or dup and so on then you have a lot of other words which are sometimes not good documented. 15:38:59 btw. which problems does forth have in webdev? 15:39:01 With my ANS layer loaded, there are 213 Standard words, which is in fact fewer than retro starts with by itself. 15:39:50 Actually I think that's 211, I haven't tested the retro LOAD and BLOCK to see if they comply. 15:40:48 So, 40 fewer words. Any other arguments you'd like to put forward? :) 15:41:02 ok.. 15:41:10 factor has 6182 words, and i'm not particularly concerned 15:41:24 you aren't? I would 15:41:38 why? a beginner has no reason to fiddle with the gui toolkit, cocoa binding, etc. 15:41:40 slava, nor am I; the number of words in a system is irrelevant, but if virl's going to float it as an argument, it's easy to knock down. 15:41:55 the set of core words one uses is about the same as forth. 15:42:03 maybe a few more because i have array data types instead of @ ! 15:42:14 that's not arguments that are your opinions 15:42:35 211 being 40 less than 251 is not a hard opinion to defend. 15:42:54 if i strip out the compiler, GUI and developer tools i could get factor down to about 500 words 15:43:12 you'd just get a terminal listener, data types and that's about it 15:43:30 I give up, that's hopeless to discuss with you. 15:43:47 i plan on making the bootstrap modular so this can be done 15:46:16 F-PC fires up with 1523 words. 15:49:33 It's a late-model F83 derivative. Gforth (Standard, obviously) starts up with 1548 words in the current wordlist. 15:49:49 I'm not sure these are all apples, or even all fruit, but there it is. 15:49:51 f-pc has more features than gforth. 15:49:56 online help, text editor, etc 15:50:04 Yes, it's fancy. Comes up in color and everything. 15:50:20 Has a floating display showing the search order. 15:50:30 yup 15:51:16 Win32Forth (which I believe is by the same people) comes up with nearly 4857 words in the dictionary, of which it's happy to display 2364 in response to WORDS. 15:51:28 wow 15:51:43 word counts are irrelevant, as long as WORDS is not the only source of documentation in your system 15:51:45 It has a WORDS that takes a substring argument. 15:52:25 slava, I completely agree. Virl's argument was that he preferred retroforth specifically to an ANS Forth because it has fewer words; it's a foolish argument, but it's also wrong. 15:52:56 its also important to be able to build a stripped down system, for turnkey applications and embedded use 15:53:09 but having fewer words and features is not an advantage, i think 15:53:28 Indeed. I'm a fan of recursive headerless extraction, for turnkeying. 16:02:18 it's not foolish 16:03:30 sry, but because of that I need to call you an idiot. you don't have respect for other views. 16:05:49 *sigh* 16:06:33 in fact most ans forth systems are overbloan and so your simple comparison doesn't work for retro. retro has lesser words than most of ans forth systems. 16:06:54 Hi TreyB. 16:07:22 and why is lesser better? because it's simpler for people to understand the system. 16:08:48 Why write prose when poetry will do? 16:09:35 if depends if one of your goals is to have a system so simple that people can very quickly understand the entire workings of it 16:09:45 btw. lesser words doesn't mean lesser features that is also a stupid conclusion, because the things which need to be built into the system can be count at your hand. 16:09:59 for the rest is modularization the way to go. 16:10:11 Welcome to "Arguing with Virl!" 16:10:36 welcome, to proving that Quartus is arrogant and isn't tolerant. 16:11:16 Only one of us is calling people names, virl. Please tone it down. 16:12:00 no, not only one of us. you are calling my name, idiot. 16:12:31 do you know what the expression "calling people names" means? 16:12:37 or is virl an insult? 16:12:43 is this why everytime somebody talks to you you get pissed? 16:12:46 Quartus comes by his arrogance via years of experience shipping commercial Forth systems. That buys him some respect in my book. 16:12:53 slava, I'm a native speaker? no I'm not. 16:13:06 Virl, in fact I have not called you an idiot, despite what some might consider ample provocation. Please stop calling people names in this channel. 16:13:10 english is not my first language either, but I still manage to avoid random insults 16:13:22 arrogance is something I won't pay, I will piss on such people. 16:13:50 JasonWoof: good thing this plugin is almost done 16:13:54 ahahaha 16:14:01 arrogant persons are not worth to be on this world. 16:14:49 I'd like to be treated as a human and not as stupid kid. stupid arrogant assholes! 16:15:12 then quit talking like a stupid kid 16:15:14 Virl, your language and manner are inappropriate. Please stop it immediately. 16:15:32 nobody called you stupid, or anything like that. 16:17:03 btw. I didn't started this discussion, you did, you stupid assholes. 16:17:11 --- mode: Quartus set -v virl 16:17:29 'No, virl, doesn't need be right' not in a thousand of years. 16:17:37 --- mode: Quartus set +b *!*@chello062178085149.1.12.vie.surfer.at 16:17:54 --- kick: virl was kicked by Quartus (Inappropriate behaviour) 16:18:40 The -v thing only works with +m channels. Then you'd have to +v the rest of us, which gets tiresome. 16:19:09 Yes, sorry, I'm new at this. I hate to have to resort to a ban, but I think he needs a time-out if all he's going to do is type insults into the channel. 16:19:23 I agree. 16:19:56 I did ask him to stop several times. 16:46:51 I get a tremendous kick out of being able to compile a Standard Forth floating-point emulation package under retro, tie it into the interpreter, and suddenly have floating-point support. 16:47:58 why ban if you can kick -- you can only ban once, but you can kick many times ;-) 16:48:23 got an url to that fp package? 16:48:35 segher, I'm sure he'd have bounced back on with twice the vituperative force. Hopefully he'll calm down in the interval. 16:48:41 It's at tinyboot.com. 16:49:03 ah great, thanks 16:49:18 He just sent me a bugfix, don't know if it's reflected there. Let me check. 16:49:37 it's fun to watch him bounce back -- unless you take it personal. you shouldn't :-) 16:50:22 If he's just going to spray foul language into the channel, I don't myself find that particularly fun. 16:50:28 hey, tinyboot.com is suddenly unavailable. 16:50:49 it's some cybersquat thing 16:51:12 Since, like, yesterday. 16:51:15 Weird. 16:51:29 Ok, well, here's a link to the last-but-one bugfix: http://web.archive.org/web/20050217164958/tinyboot.com/float.txt 16:52:13 long live the wayback machine :-) 16:52:26 I can send you the latest & greatest if you'd like. 16:52:47 ah, it's not ieee fp 16:52:57 no, something simpler. 16:53:05 no thanks, i just want to get the feel of it 16:53:09 vax fp is leeter 16:54:37 I make no particular claims of greatness for this emulation, but it's Standard, compiles without a hiccup under the retro ANS layer, and it works. :) 16:55:51 good, good, and good :-) 16:56:31 I hook the F# recognizer into the fallback routine of retro's interpreter. 17:05:51 --- join: virsys (n=virsys@or-71-53-74-48.dhcp.embarqhsd.net) joined #forth 17:12:08 Quartus: Eckert was trying to get someone to volunteer to host his site at the beginning of the Summer. I stepped up but he never replied. Guess he went with a shaky solution... 17:12:30 Maybe so. Maybe it's some billing issue. 17:13:02 Quartus: register.com says the name's for sale. Any takers? ;-( 17:13:23 ah, could be that simple, expired domain name dealie. 17:13:24 --- nick: aggieben_ -> aggieben 17:14:24 Quartus: expired 08-18-2006... 17:14:31 That'll do it. 17:24:15 JasonWoof: http://www.ldx.ca/tmp/mute.pl 17:24:51 Come on, "Tyler Mitchell" sounds like the fake name of an action hero to me. 17:24:52 :) 17:24:58 ahahaha 17:25:20 I've seen Joe Don Baker as "Mitchell". His first name was *clearly* Tyler, it's all coming together. :) 17:25:31 clearly :D 17:25:58 the next step is to merge multiple lines together 17:26:24 --- join: docl (n=docl@74-36-211-202.dr01.hmdl.id.frontiernet.net) joined #forth 17:28:39 fission, that looks handy; that way you can see what's prompting a given response. 17:29:16 yeah.. it was JasonWoof's suggestion 17:29:48 the only problem is that if they type three or four lines together, I want it to condense that into one single ... line 17:30:08 Does it make multiple ... lines now? 17:30:10 yeah 17:30:26 I think that's probably a feature; you still can't see what they're saying, but it lets you know if they're spouting off at length. 17:30:55 hehe 17:31:06 I'd be inclined to make it say 'blah' instead of ... : 17:31:08 I guess I could make that an option ("collapse_babble" or something) 17:31:40 hmmm I wonder what happens if it's blank 17:31:45 then it would appear as a blank line, maybe? 17:32:00 Try it. 17:32:42 --- join: fission_ (n=fission@69.60.114.33) joined #forth 17:32:57 hmmm let's see 17:33:02 yeah :D 17:33:05 it shows up as blank lines 17:33:11 heh 17:33:12 that could be even better 17:33:32 --- quit: fission_ (Client Quit) 17:33:38 I think I'd like one that replaced all the words with 'blah'. 17:33:49 ahahaha 17:34:08 s/[^ ]/blah/g 17:34:14 yeah 17:34:28 That'd be great. I may have to switch to whatever client is required. :) 17:34:54 haha 17:37:07 --- join: fission_ (n=fission@69.60.114.33) joined #forth 17:37:29 well now... let's see what we got 17:37:40 that didn't work at all! ahaha 17:37:47 --- quit: fission_ (Client Quit) 17:39:35 vatic, I looked at some of those links. I played with coroutines under Forth a bit a few months ago, didn't come up with anything particularly applicable for me. 18:21:23 Quartus: seems as though Samuel A. Falvo II has done some work with them... 18:21:44 factor has coroutines in a contributed library 18:22:00 One Quartus Forth user wrote a couple of words for playing with coroutines, too. It's possible to write some very odd code with them. 18:22:22 Quartus: there's a dialog with Michael Gassanenko on clf from 2002 that I haven't completely digested... 18:22:41 slava: Hey thanks for this! 18:22:55 I recall many of his dialogs being quite indigestible. :) 18:23:12 Quartus: Ah... 18:24:01 Quartus: I have a specific interest for musical sequences. Maybe I'm mis-specifying what I'm looking for... 18:25:32 Maybe, as I don't draw a mental connection between what you've been discussing with musical sequences. 18:26:18 --- nick: nanstm -> Raystm2 18:33:28 Quartus: here's a link to a discussion of SuperCollider's use of Streams: http://tinyurl.com/hwlne 18:33:50 Quartus: they're in rtf. about 5 files altogether... 18:34:39 Quartus: I know SuperCollider is object-oriented, but maybe some of this could be done as state machines? 18:35:37 I think most anything can be done as state machines; whether it's easier or not, I can't say. :) 18:36:49 Quartus: Well, I'll keep studying/looking. Thanks for your interest, though! 18:37:39 Quartus: I think Python's iterator/generator facility comes closest to what I have in mind. 18:37:59 I think at least some of it is a better fit for strongly typed systems. 18:38:22 Quartus: Found a scary C implementation in Finkel's book "Advanced Programming Language Design." 18:38:48 Quartus: could you expand a little on that? 18:38:57 Just checked my personal library for that one, but I don't think I have it. 18:39:37 Quartus: It's not that great a book. Pretty broad brush, more excitement than hard science... 18:39:47 Sure. Writing a general-purpose iterator means adaptability to different types of things you might be iterating over. 18:41:05 Quartus: Ah! yes, so a language like Smalltalk is perfectly suited for writing general routine that iterate over anythng from numbers to other routines? 18:41:15 that can iterate 18:42:00 I'd expect that's a simpler task when the iterator can query what it's iterating to determine its type. 18:43:19 Quartus: What interests me is creating a routine that generates a sequence of numbers, let's say... 18:43:49 Quartus: ...and calling the routine causes it to emit the next number in the sequence. 18:44:38 that can be modelled as a stream object 18:44:44 Quartus: and it will keep generating numbers of the sequence until it reaches it's end (if it's not infinite) 18:44:46 Sure. Coroutines would let you do that, though from my experience they're a bit of a pain to code. Depending on your generator, it may be simpler to model it differently. 18:45:14 i use co-routines to implement a graphical interpreter 18:45:34 the readln word pulls input, and the gui event loop pushes it 18:45:42 Quartus, slava: my data type would likely all be the same: a 16-bit number representing a single sound sample. 18:45:54 other than this i haven't used co-routines for anything 18:46:46 slava: is this written in Factor? 18:46:49 yes 18:48:03 slava: must be cool to have a Wikipedia article about your language... :-) 18:51:25 Quartus: there, redid it with hashes ;-) 18:51:42 the muting script, you mean? 18:51:45 yeah heh 19:04:48 I wonder if a useful feature would be an option that will print the original message out if your nick occurs in it. Then when he insults you, at least you know it. 19:04:57 heh 19:05:24 have it translate curses into %*#$, and slowly build a database of repeated words, and display those. :) 19:17:23 I know I've translated ncurses to that, after trying to open multiple windows... 20:02:35 Quartus, slava: http://home.hccnet.nl/a.w.m.van.der.horst/forthlecture6.html 20:03:37 Yes, that 'CO' word is the basics. It's hard to code for, confusing to read, and crashes spectacularly when it goes wrong. :) 20:06:08 in factor co-routines save/restore the entire stack 20:07:28 Sounds more like user-space (or light-weight) threads. 20:07:43 yes, except objects can be passed back and forth 20:08:40 TreyB: there's a thread on clf about co-routines that makes this point... 20:09:41 heh, I suppose if you wanted to know how much a muted person was saying, we could change the plugin so it sets every non-space character to * 20:09:56 heh 20:10:17 I like the idea of using blah for everything, unless a repeated word reaches a certain threshold, so it'd turn PoppaVic into 20:10:34 blah blah blah blah autoshit blah blah blah blah layers blah 20:10:38 LOL 20:11:14 blah blah forthish blah blah blah 20:11:24 Actually he's kind of already there. 20:11:40 * TreyB giggles again. 20:12:49 Wow, there's some annoyingly uncommented code. LATEST >FFA 8 TOGGLE 20:13:13 Just taking a random stab that >FFA converts whatever's in LATEST to a 'flag field address', how in blazes am I supposed to know what the '8 TOGGLE' is meant to achieve? 20:13:31 toggle is the bit flipper 20:13:39 That's not the problem. 20:13:39 JasonWoof: yeah it's pretty easy to modify :D 20:13:56 WTF does bit 8 mean, though? 20:14:01 Exactly. 20:14:31 JasonWoof: I must thank you, actually... I'm now using this little script on more than one channel ;-) 20:14:33 it would be the high sign 20:14:42 [lm]sb specific 20:14:45 That is completely unhelpful. 20:15:14 but regardless of endianness, bit 8 is always the sign on bytes 20:15:27 don't you mean bit 7? ;-) 20:15:40 Which means absolutely nothing in a flag field even if it was bit 7 that was being referred to. 20:15:42 then it's a coding error in the original coder's mind 20:16:08 if the coder meant the sign bit and counted from 1 instead of 0 20:16:15 an classic off-by-1 error 20:16:21 Magic Numbers Considered Harmful 20:16:25 In fact I've figured out what the hell it's supposed to do in ciforth. It has nothing to do with an error in his mind, or a sign bit. 20:16:33 do tell 20:16:53 It turns a ciforth word into a prefixing word. 20:17:13 * TreyB guessed immediate. 20:17:14 meaning? 20:17:50 If the word shows up as the prefix to a word not in the dictionary, it calls the prefix word and passes the rest of the token as input. 20:18:01 k 20:18:14 so, kinda a reverse in time fixer? 20:18:19 that's unforthy 20:18:23 So you can do stuff like $ABCD for hex, etc. 20:18:32 ok 20:18:36 heh cool 20:18:38 It's really, really badly in need of a comment, or a name, or both. 20:18:50 numeric-confusion 20:18:52 PREFIX-IFY 20:19:06 i'd code that fdifferently 20:19:11 sans magic 20:19:58 Anyway I managed to make that code run under the retro ans layer after carving the ci-forth-specific nonsense out of it. This is the joy of non-standard code, having to filter through some other bozo's personal randomness to figure out what in blazes his code does. 20:20:20 Some forth implementations let you hook into the number conversion routines. pForth does. 20:20:58 You can revector the number recognizer in Quartus Forth, retro, probably Gforth too. 20:21:24 I added #ABCD to do the equivalent of uint32_t x = 'ABCD'; in C. 20:21:27 why not just write one word that properly parses the word? 20:21:41 oops 20:21:44 TreyB, retroforth has ' as a numeric prefix for that. 'ABCD leaves a 32-bit value on the stack. 20:21:50 last "word"/number 20:22:44 http://members.aol.com/plforth/ofpong/ 20:22:45 haw 20:22:57 Is that openforth pong? I remember that. 20:23:02 Quiznos: lol, I like your suggestions about "blah blah" 20:23:07 that's hilarious 20:23:09 JasonWoof, that was me. 20:23:09 I might implement that 20:23:16 My version does up-case conversion on letters, but it matches the wonky stuff we do with 32-bit identifiers. 20:23:21 JasonWoof wrong Q 20:23:23 :) 20:23:27 JasonWoof: if you do, please let me know ;-) 20:23:28 right 20:23:39 sorry, not used to having nicks with the first two letters the same 20:23:56 Lazy tab-completer! 20:24:05 we have a sub shop in town named quiznos 20:24:16 or quisnoz 20:24:18 or some such 20:24:28 there's one three blocks from here heh 20:24:41 I just assumed he like the sandwiches from there :-) 20:24:49 nop 20:24:52 haha or maybe he's a spy 20:34:56 has anyone used a Forth from firmworks or codegen's smartfirmware? 20:35:12 Nope. 20:35:12 not I 20:37:31 nor i 20:38:48 fission: http://jasonwoof.com/downloads/mute.pl.blah.diff 20:38:55 that makes it say "blah blah blah" 20:39:11 fission: also I noticed that it doesn't catch actions (/me ...) 20:39:13 PoppaVic filter? 20:39:27 it doesn't put "autoshit" and such in 20:39:50 JasonWoof: hmm I thought those were PRIVMSG as well? 20:40:01 fission: they are 20:40:13 fission: apparently irssi handles them differently 20:40:31 argh heh 20:40:57 hmmm I wonder if there's a regex so we could just replace every word separated by whitespace by 'blah' 20:41:14 You know in Perl you can say $blahblah = "blah " x 40 20:41:21 you could, but you run the risk of creating an overflow 20:41:30 if their post is long and has many short words 20:41:41 well, I suppose we could simply split on whitespace, then count the number and insert that many blahs 20:41:43 ah, the perils of fixed-size buffers :) 20:41:44 heh 20:41:45 Yea, but IRC will truncate it. You won't break anything. 20:42:07 it's not getting sent over irc 20:42:15 heh 20:42:27 better to just count chars 20:42:38 devide by 5 (rounded up) 20:42:49 oh, this script is in perl. 20:42:57 i thought it was forth and you guys were worried about overflowing tib 20:42:58 JasonWoof: yeah that's a good idea, too 20:42:59 Ah, you're right. I'm used to using Net::IRC. But still, where's the fixed buffer issue? 20:43:06 slava: hehe 20:43:41 k4jcw: the issue is I don't want to make the post longer 20:44:00 it shouldn't crash anything 20:44:19 Then just use substr and trim it to the max length you want. 20:44:30 it would be pretty funny to replace a "blah" with "autoshit" at random intervals though :) 20:44:57 here's the current code I just posted: $msg = substr($blahblah, 0, length($msg)); 20:46:04 Why in Dogs name Larry didn't include min() and max() as intrinsics, I'll never unstand. 20:46:09 understand, even. 20:46:25 i'm not a fan of perl 20:46:30 ahahahaha "autoshit" 20:46:39 JasonWoof, I'd want to reveal repeated non-common words so you had some vague sense of what crap he was spouting without having to read it. 20:46:50 Which would be identical to not running the script, now that I think about it. 20:46:54 heh 20:46:58 I think I'll leave my copy 20:46:59 $msg = substr ("blah " x 40, 0, length ($msg) < 256 ? length ($msg) : 256) 20:47:07 then it will be just a blank line 20:49:19 vatic, got all those ciforth examples to work eventually. How egregiously painful. 20:50:15 Quartus: In ciForth? or something else? 20:50:26 In retroforth under my ans layer. 20:50:36 Quartus: Hahahaha! 20:51:10 Quartus: You're a trooper! You should leave the pain to me, however. :-) 20:52:23 Anyway, gonna hit the hay. Many thanks... 20:52:37 Even if I had downloaded ciForth and the examples actually worked (the last one doesn't as it's written), I still wouldn't have known why. 20:52:38 slava, you too! :-) 20:52:41 ok, take care :) 20:52:45 --- quit: vatic ("*poof*") 21:14:16 So I made these 'words' and 'find' equivalents work as coroutines. They're clever as a cartload of monkeys, but I'm not at all sure they're simpler, faster, or easier to understand than an ordinary version would be. 21:20:18 It does allow you to factor out the list-traversal word and use it more than once. 21:47:30 --- join: fission_ (n=fission@69.60.114.33) joined #forth 21:49:00 --- quit: fission_ (".") 21:55:50 there... made it ignore multiple lines 21:56:02 Neat. 21:58:24 wait, I mean 21:58:27 blah blah blah 21:58:47 ... 21:58:49 :) 21:59:42 JasonWoof, simple might be to display each word from a muted person the first time it's found, but not the second, so unless they said something new, you'd never see anything but 'blah'. :) 22:00:36 ahahaha 22:00:59 so it replaces all previously-used words with blah? 22:01:07 Right. 22:01:09 haha 22:01:19 this could get really fancy, I see 22:01:29 what about chronic misspellers? 22:01:57 slava it's call `figers of spish' 22:01:59 Well, it's simple, it's not perfect. But it'd turn most people you'd as soon ignore into all-blah, while still leaving enough bits & pieces so you'd know if they brought up a new subject. 22:02:41 hehe 22:02:50 bl00p; 22:02:53 well I just submitted the version I have 22:03:02 heck, use soundex for each word, then even misspellings would become blah. :) 22:03:25 anybody here good at icons? 22:03:47 i have a book about english and it said that mispelinks are just a klass of figero-spish 22:03:49 You need an F for Factor? :) 22:03:58 toolbar buttons 22:04:05 lotus menubar 22:04:11 / 22:06:22 sleepy time 22:06:33 I recommend fonts as a good source of small icons. 22:06:34 --- quit: slava () 22:31:18 --- topic: set to 'Welcome to #forth. We discuss the Forth programming language, simplicity, and a variety of technical subjects. Introduction: http://tinyurl.com/kvawv | Starting Forth: http://tinyurl.com/qywb5 | Thinking Forth: http://tinyurl.com/nsy4j | Gforth compiler: http://tinyurl.com/s8uho | ANS/ISO Forth Standard doc: http://tinyurl.com/nx7dx' by Quartus 22:31:18 --- mode: Quartus set +t 22:32:16 are those Brodie urls to html or pdf pages? 22:32:26 There's a way to find that out. :) 22:32:32 ln-s.net produces shorter urls. 22:32:40 but your answer would be quicker 22:32:45 Turns out it won't be. 22:33:00 'yes|no' is shorter 22:33:23 Ok, "yes|no". Click the damn links and see what's there already. 22:33:35 no! 22:33:37 heh 22:33:42 lol 22:33:49 nuh uh cant make me 22:33:51 mmm mmm mm 22:33:53 lol 22:36:24 damn with my plugin that would have been one line, not six 22:36:30 * fission grins impishly 22:36:34 Heh. 22:37:06 Figured newcomers might like some useful info instead of running headlong into PoppaVic and then running right back out. 22:37:16 heh 22:38:48 haha 22:38:49 good idea 22:52:28 --- topic: set to 'Welcome to #forth. We discuss the Forth programming language, simplicity, and a variety of technical subjects. Introduction: http://tinyurl.com/kvawv | Starting Forth: http://tinyurl.com/rm7pq | Thinking Forth: http://tinyurl.com/nsy4j | Gforth compiler: http://tinyurl.com/s8uho | ANS/ISO Forth Standard doc: http://tinyurl.com/nx7dx' by Quartus 22:52:32 Wrong URL for Starting Forth. 22:53:45 --- join: segher_ (n=segher@dslb-084-056-156-031.pools.arcor-ip.net) joined #forth 23:00:29 --- quit: segher (Read error: 110 (Connection timed out)) 23:18:43 --- join: Cheery (n=Cheery@a81-197-19-23.elisa-laajakaista.fi) joined #forth 23:55:59 --- join: snowrichard (n=richard@12.18.108.220) joined #forth 23:56:13 hi 23:56:39 Hi snowrichard. 23:56:50 well I got moved. I' 23:57:03 am sore and tired, but everything is out of the other house and over here 23:57:37 It's good when it's finished :) 23:58:01 it may take a week or two to go through all the boxes and put stuff up 23:58:14 For my stuff, it'd be more than a week :) 23:59:59 --- log: ended forth/06.08.24