00:00:00 --- log: started forth/06.07.22 02:19:15 --- quit: slava () 02:38:13 --- quit: Quiznos ("changing servers") 04:16:16 --- join: Quiznos (i=1000@69-168-231-199.bflony.adelphia.net) joined #forth 04:16:44 anyone doin work with functional args in forth? 05:36:16 --- join: Serg_Penguin (i=Serg_Pen@ppp85-140-28-18.pppoe.mtu-net.ru) joined #forth 05:42:55 --- part: Serg_Penguin left #forth 05:46:07 --- join: PoppaVic (n=pete@0-2pool198-70.nas30.chicago4.il.us.da.qwest.net) joined #forth 06:37:18 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 06:38:56 --- join: I440r (n=mark4@24-177-235-246.dhcp.gnvl.sc.charter.com) joined #forth 06:39:39 mornin 06:40:03 hi 06:40:30 Howdy 06:40:59 Boy, the reverse-logic of assert() makes me nuts ;-/ 06:44:32 Quiznos: any progress? 06:48:10 what reverse logic 06:48:49 I usually write a mere runtime if( ...) - with assert() I have to remind myself we'll abort on true 06:48:54 PoppaVic on what? 06:49:20 Quiznos: well, you were all wound up the other day on that source, the notes, and whatnot. 06:49:47 i've read the page 07:11:26 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 07:11:37 tata 09:17:52 --- join: crc_work (n=cchilder@h-64-105-207-163.phlapafg.covad.net) joined #forth 09:23:51 --- quit: PoppaVic ("Pulls the pin...") 09:25:29 --- join: PoppaVic (n=pete@0-1pool46-53.nas30.chicago4.il.us.da.qwest.net) joined #forth 09:42:40 --- part: crc_work left #forth 10:09:19 --- quit: nighty (No route to host) 10:22:44 --- quit: virl (Remote closed the connection) 10:26:03 --- join: docl (n=docl@74-36-210-133.dr01.hmdl.id.frontiernet.net) joined #forth 10:55:31 --- join: vatic (n=charlest@pool-162-83-254-201.ny5030.east.verizon.net) joined #forth 11:03:02 good afternoon 11:04:04 C! 11:13:25 --- quit: PoppaVic ("Pulls the pin...") 11:18:46 CYCLIC REDUNDANCY CHECK 11:32:31 ? 11:34:16 ok, anyone wanna check out 1.21b and tell me if the command history works right ? 11:34:27 and if cursor down from within the debugger moves a green cursor ? 11:34:31 what was poppavic on about? assert() trips on false, not true. 11:35:15 who knows? 11:37:46 Nobody, seems likely. :) 11:41:40 Quartus he wanted reversed-action 11:41:55 with an if-guard to reverse assert's action 11:42:47 I440r: works for me now 11:43:52 Quiznos, that makes no sense whatsoever, but that's to be expected. 11:44:05 hey, i dont make this stuff up 11:44:15 i dont make the news, i just report it 11:44:25 cool 11:44:34 both command history and the debugger ? 11:45:16 so, if i name my forth `I441s' does that mean that mine's better than "yours"? :)- 11:45:20 I'm not even clear on what an "if-guard" is. 11:45:32 if( bool) statements; 11:45:38 I440r: yes 11:45:48 More PoppaVic terminoligification? 11:45:50 that's the technical name of that dohicky 11:46:00 no. it's a real computer science term 11:46:00 cool 11:46:13 aka guarded statements 11:46:15 So, instead of calling it an if, you call it an if-guard? What, if-shnizzle was taken? 11:46:25 wow, dont be a hata 11:46:40 anyway 11:47:13 I440r: your datestamps are more than a week in the future in isforth-1.21b.tgz 11:47:28 i dont fully get why Vic was wanting to reverse the sense of the assert either; asserts are just cruft to if-guards that can perform the same function as asserts() 11:48:05 argh i keep forgetting that carp 11:48:14 my laptop NEVER keeps time 11:48:23 i can set it now and when i reboot its b0rked again 11:48:25 --- join: iano (i=me@sub26-46.member.dsl-only.net) joined #forth 11:48:29 let me redo the zip tho 11:49:21 I440r: I did: make; ./extend; ./isforth 11:49:42 the history allows me to go back with the up arrow, but not forward again to more recent history lines with down arrow 11:49:51 this is the x86 version btw 11:50:35 --- quit: I440r (Remote closed the connection) 11:50:37 Hi! Anyone else here doing the ICFP contest this year? 11:51:23 --- join: I440r (n=mark4@24-177-235-246.dhcp.gnvl.sc.charter.com) joined #forth 11:52:15 why is it that whenever i run ntp-client i totally lose all ability to change focus in x 11:53:23 btw the linux x86 version is the only one being maintained atm 11:53:30 tho the fbsd one is gona be updated 11:55:41 bbl 12:09:53 iano - I'm going to get back on it in a few hours. I've seen maybe three versions of the vm posted to comp.lang.forth 12:30:16 yeah, mine is working nicely. I'm Grandeus. Some of the puzzles are pretty hard. 12:31:20 grandiose 12:46:12 ... 12:46:35 normal, regex, extended, sensitive, non-sens. 12:46:41 all of em 12:46:48 that are available 12:48:30 --- quit: vatic (Read error: 110 (Connection timed out)) 12:50:56 --- quit: iano () 12:56:51 so...what the heck *is* the ICFP contest task? 12:57:02 tathi - icfpcontest.org 12:57:39 yes, I've read everything there 12:57:43 it doesn't make much sense to me. 12:57:56 I understand that you're supposed to implement that VM, but then what? 12:58:40 you're expected to make more sense out of it as you continue. 12:58:59 weird 12:59:13 seems like more of a puzzle-solving thing than a programming thing, but whatever 13:00:04 exploratory programming. 13:09:35 --- join: iano (n=iosgood@70.98.242.60) joined #forth 13:11:30 : key key dup 0< if bye then ; : b->l begin key key key key emit emit emit emit again ; ( decided to stop fixing endianness on the fly. The unix filter I have now is much simpler, too. ) 13:12:28 Redefining KEY is a bit severe. No better name for it? 13:13:27 It's not severe in a two-line program. I normally call it 'unixkey', but here I think redefinition makes it clearer. 13:14:47 what does unixkey do? 13:14:59 I normally call the KEY that I define right there, UNIXKEY 13:15:07 ok 13:15:17 ('unixkey' because, somehow, I've only ever needed it in a unix filter) 13:15:42 and key is recusive? 13:15:57 no. 13:16:11 what is the meaning of `b->l'? 13:16:13 : foo 1 . ; : foo foo 2 . ; : foo foo 3 . ; foo 13:16:29 oh enian 13:16:31 endian 13:16:33 k 13:20:22 Neither KEY nor unixkey are good names for a KEY that can close down the entire Forth. 13:21:05 In a program of any lenght. 13:22:53 You'd prefer it if b->l read KEY ?BYE KEY ?BYE KEY ?BYE KEY ?BYE ? 13:23:09 Quartus your mention of "name spaces" yesterday has piqued my interest. thanks 13:23:32 it's a unix filter. As soon as it runs out of input, it needs to think about what it should do. Immediate termination is a common answer. 13:24:19 ayrnieu, that would only be preferable to leaving the KEY redefined. Better would be to intelligently name your redefined KEY. 13:24:26 Quiznos, glad to pique. 13:24:30 :) 13:24:52 I use a nestable module/public:/private:/end-module system for named modules. 13:25:06 It's described in the Quartus Forth user manual, if you're interested. 13:25:09 Quartus - I could name it K , and at least stop people from looking away from KEY DUP 0< IF BYE THEN for meaning. 13:25:25 seriously, i've been wiking wiki-ing? that term, it led straight into functional programming and higher-order coding 13:25:38 K is a lousy name too. But this is only my opinion, it's your code. 13:26:03 Well, name spaces have a role to play in many programming languages. C lacks them. 13:26:06 and i can almost imagine a way to incorporate runtime type info into namespaces 13:27:30 lackage doesnt mean non-existence 13:27:51 Quartus - I think a source of disagreement between us on naming is that I treat names with very small 'scopes', which are used by very spacially compact words, the way I treat very local variables in other languages. The code itself tells you what 'i' means, and calling it 'the-iterator-I-use-for-blah-stopping-at-blah' only makes everything less readable. 13:27:55 Well, in English it does, and in fact they are non-existent in C. 13:28:18 nah 13:28:51 ayrnieu, redefining existing words so they have side-effects, or completely different effects, is confusing. Naming words 'K', or something equally non-communicative, obscures the code. If it's throw-away code, go nuts. If it isn't, do better. That's my advice. 13:29:28 namespaces also led to Plan9 13:29:30 I have nowhere recommended 'the-iterator-I-use-for-blah-stopping-at-blah', nor anything like it. 13:29:38 and filesystems and their layout 13:29:51 Quiznos, whatever 'nah' means, C doesn't have multiple namespaces. 13:29:53 and lingustics briefly 13:29:56 it's isn't 'throw-away' code, it's just code that's entirely encapsulated in those two lines. And /no/ naming of that word can obscure that code. 13:30:14 So the whole program is two lines? 13:30:22 Quartus good compilers have at least two, one for structs and another for non-structs 13:30:35 aye. 13:31:12 Quiznos, you're splitting hairs. There's no programmer-accessible namespaces. 13:32:11 in 'struct foo', the 'struct' can't be separated from the name. 13:39:32 --- join: slava (n=slava@CPE0080ad77a020-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 14:33:20 --- join: vatic (n=charlest@pool-162-83-254-201.ny5030.east.verizon.net) joined #forth 14:33:36 --- quit: neceve (Remote closed the connection) 14:50:06 back 14:50:17 hi I440r 14:50:30 hi 15:08:30 slava did u try the new isforth ? 15:08:42 not yet 15:09:00 k i THINK ive fixed the keyboard problems i was having before lol 15:09:10 one person so far says it works this time 15:13:54 in terms of namespaces and aside from vocabularies, has anyone developed a textual indicator to allow the fully-qualified specifiying of a word in one particular vocabulary from another? (recall how java and c++ have multiple name spaces and how they allow fully qualified name specification) 15:14:40 this post of course about adding namespaces to forth; the simple question being, how would a fully qualified name from a foreign namespace be indicated 15:15:11 Quiznos - I've ::' and ::. words for that, although I haven't used them recently. ::' ( "module" "name" -- xt ) ::. ( ... "module" "name" -- ... ) 15:15:26 ok. how's the parsing on that? 15:15:36 I don't know how to answer that question, Quiznos. 15:15:42 ok; ... 15:16:22 so for ::' tick a word in a particular module? 15:16:27 what is ::.? 15:16:45 : .:: ':: STATE @ if compile, exit then execute ; immediate 15:16:52 ok 15:19:29 http://sagacity.merseine.nu:8080/misc/modulesys.fs Normally used in libraries as: module: ansicolor >module ansicolor definitions ... ty 15:20:05 what's your opinion of your code? does it integrate well with standard forth? 15:21:21 I don't think I need to bother with a seperate wordlist of modules and such the way I did there. Also, in practice, I've mostly just put another vocabulary on the search-path long enough to make locally-meaningful aliases of its words. 15:21:57 ok 15:22:54 for instance, I had a library that implemented a stack-like structure. The application code had two stacks, and only imported that library long enough to rename them to quiz-push and such. I think this has the neat effect that you can name structure-words naturally, like 'new' and 'push', without worrying about the application namespace. 15:23:56 I don't know how to talk about 'integration', though. 15:24:35 integration: did all the new stuff you wrote and used fit well with the core stuff in actual usage 15:25:34 sorry, I don't know what you're asking. 15:25:54 k, one more try: 15:26:05 why arent you using the new stuff now? 15:26:44 --- quit: vatic (Read error: 110 (Connection timed out)) 15:28:36 since then I've experimented with networking applications where I keep all the layers (from "import these low-level socket words" to "build these Forth-like wrappers" to "set up the tasks" to "actually do something useful") in one file, to lessen any barriers to going back and changing lower-level words at the convenience of higher level words. 15:30:45 but wouldnt the lower level code be the most common across all apps? ie, libc, kernel code, other shared libraries? 15:30:50 although I see several places, not even in the networking stuff, where I could shove words into a module. 15:31:52 common code is the stuff we're sposed to be factoring and (adding mine to this) moving into the main vocabulary for easy reuse 15:32:08 Quiznos - in practice, I've made very few changes to the low-level code. Still, I'm not confident of it yet. Also, I never resolved my issue with modulesys.fs -- I decided I could probably make it more normal, using Forth vocabularies and such, but never went back and worked on this. 15:32:21 kk 15:33:31 i can see where some programmatic analysis would be well-suited to finding code that should be refactored; ie, duplication higher-up of lower, more common code that is already named 15:34:20 and possibly finding code strings that eval to NULL, ie, ``dup swap drop'' 15:34:55 that's the job of a peephole optimizer. I don't care much about it. 15:35:01 k 15:37:33 gforth might be reversing argument lists somewhere in its FFI to make them read logically, and according to the manpages. I immediately turn them about (and remove some arguments) to suit Forth conventions. Parts of my code later on goes through gyrations to make sure that it passes things correctly. A whole-program optimizer could compile the topmost word straight down to the syscall, removing stack manipulation. 15:38:31 ok; i've been reading ancient lisp docs and all my thoughts have ben coalescing 15:38:42 and other stuff, uniq and estoeric, too 16:02:24 --- join: Quartus_ (n=Quartus_@209.167.5.1) joined #forth 16:03:32 wireless again! 16:03:53 woot 16:05:00 lol 16:06:43 ... 16:06:46 --- part: Quartus_ left #forth 16:07:28 you insulted him 16:07:38 u scared him 16:07:44 i only wooted 16:07:49 lol 16:44:03 --- quit: slava () 16:44:50 --- join: vatic (n=charlest@pool-162-83-254-201.ny5030.east.verizon.net) joined #forth 16:45:05 --- quit: vatic (Client Quit) 16:46:02 --- join: LOOP-HOG (n=jason@66.213.202.50) joined #forth 16:46:04 hi 16:48:05 --- quit: LOOP-HOG (Client Quit) 16:49:56 hi 16:49:59 /quit 17:22:10 --- join: LOOP-HOG (n=jason@66.213.202.50) joined #forth 17:22:11 hi 17:23:23 ! 17:23:36 LOOP-HOG, do u use isforth ? :) 17:23:55 no 17:24:02 I just use SwiftForth right now 17:24:29 I want to learn windows programing with callbacks, but it is a hairy concept 17:24:52 you like give vectors to Windows for them to execute, so Windows is executing you 17:24:55 something like that 17:25:07 Win32 is hairy no matter how you approach it ;) 17:25:13 I had to take a break 17:25:20 from something that I was doing 17:25:58 It is weird, I think that windows really puts the burden on the programmer, even for things that Windows itself should be doing for you 17:26:05 I wasn't impressed 17:26:39 Anybody playing any online RPGs? 17:29:34 nope :) 17:30:09 my brother probably is though 17:30:41 I was thinking of trying out the new D&D, but I would have to upgrade my PC 17:30:44 I am cheap 17:31:00 heh 17:31:16 I wonder if it is any good 17:31:50 Maybe it would be nicer than EQ insomuch as it is simpler, I think that EQ has gotten too complex 17:32:08 Those online RPGs really want the latest h/w 17:32:13 especially SL 17:32:17 ya 17:32:20 SL ? 17:32:38 oh, Second Life 17:33:19 yes 17:33:26 I hear that it's a real resource hog 17:33:43 but people like the idea of an online rpg that the players can modify themselves 17:33:52 dunno. 17:33:54 and it is non-combative 17:34:04 * tathi doesn't play video games, except little silly ones 17:34:51 like what? 17:34:58 It is a real time killer though 17:37:35 like the beat up the Olsen Twins game? 17:37:40 i play online rpg's 17:37:43 but not atm 17:37:54 which ones? 17:38:00 did you play at one time? 17:38:28 i just run usr/games/rain 17:38:31 materia magica and another that ive not played in about a year and i cant remember what its called heh 17:38:40 and mayhaps worms 17:38:54 and prime 17:38:58 and factors 17:39:02 and hangman 17:39:13 basically, i'm easily entertained 17:39:20 what is usr/games/rain ? 17:39:30 the future mrs Quiznos is not gonna have a difficult time 17:39:40 you are getting married? 17:39:42 drops on tty console 17:39:46 eventually 17:40:54 LOOP-HOG: I like games like xkobo, wok, A Trip on the Funny Boat, vor 17:41:04 xbill is fun 17:41:07 cuyo and enigma had some fun levels 17:41:27 :) 17:42:32 I liked Larn 17:42:40 I like pinball 17:42:58 "im not playing much of anything right now 17:56:36 --- quit: LOOP-HOG ("Leaving") 18:03:30 --- quit: iano () 18:25:33 --- quit: tathi ("leaving") 19:03:29 --- quit: uiuiuiu (Remote closed the connection) 19:03:31 --- join: uiuiuiu (i=ian@dslb-084-056-231-056.pools.arcor-ip.net) joined #forth 19:08:54 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 19:25:51 --- join: iano (i=me@sub26-46.member.dsl-only.net) joined #forth 19:30:33 --- quit: I440r ("Leaving") 19:34:35 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-141-192.pools.arcor-ip.net) joined #forth 19:39:58 --- join: LOOP-HOG (n=jason@66.213.202.50) joined #forth 19:42:21 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 19:42:28 --- nick: snoopy_1711 -> Snoopy42 19:47:16 --- quit: iano () 21:40:16 the gforth manpage has this for gforth-fast : Use it for debugged, performance-critical programs such as benchmarks. 22:17:49 --- join: AI_coder (n=AI@ip-209-124-242-76.dynamic.eatel.net) joined #forth 23:48:35 Is anyone familiar with mind4th? 23:50:06 I remember some business about MIND, mainly consisting of graphs with cognitively-named boxes. 23:50:21 but not familiar, no. 23:52:18 Me neither, but they claim they have "solved ai" on june 7th this year. I was just curious about it. 23:52:56 well, if they've claimed it, ask them about it. 23:56:30 ayrnieu: Yeah, I'm reading about it, the more I read the more I notice the same names posting the material in newsgroups and forums, probably just self-serving attention grabbing. 23:59:59 --- log: ended forth/06.07.22