00:00:00 --- log: started forth/06.07.04 00:12:17 --- part: LOOP-HOG left #forth 00:52:04 --- quit: JasonWoof ("switching computers") 01:12:41 --- join: nighty (n=nighty@sushi.rural-networks.com) joined #forth 02:50:07 so, yesterday my question about [compile] got buried in the discussion 02:50:59 what question did you ask? 02:52:43 Repeat, please. I was absent. 02:53:37 oh, 18:12 < michaelw> what happens if I use [compile] on non-immediate words? 02:53:51 no idea. I never use [COMPILE] 02:55:13 In FIG Forth it compiles a word. 02:55:33 [COMPILE] is used to break immediacy. 02:56:25 yes, i gathered that, basically : [compile] compile ; immediate, right? 02:56:32 [COMPILE] forces compilation of word, which could possibly 02:56:32 be interpreted in case it's immediate. 02:57:37 hmm, then i don't get why postpone is needed 02:58:32 Well. 02:59:13 When you "[COMPILE] IF", all brances go into word being defined. 02:59:50 When you "[COMPILE] DUP", "DUP" goes into defining word, 02:59:51 not the word being defined. 03:00:41 so, : foo [compile] dup ; is the same as : foo dup ; ? 03:00:44 When you "POSTPONE", everything goes into latter. 03:00:53 ayrnieu: yes. 03:01:58 Just to be sure, is my wording correct? 03:02:07 asau - yes, it makes sense. 03:02:30 I feel it's rather complex construction, I'm not sure if I 03:02:31 express it properly. 03:03:20 POSTPONE makes ever more sense. You only use [COMPILE] 's perfectly useless behavior when applied to non-immediate words. 03:03:36 you only lose that, rather. 03:05:00 : compile STATE @ bl parse STATE on evaluate STATE ! ; immediate , right? 03:12:05 --- join: Cheery (n=Henri@a81-197-12-134.elisa-laajakaista.fi) joined #forth 03:18:58 --- join: virsys (n=virsys@or-71-53-74-48.dhcp.embarqhsd.net) joined #forth 03:19:37 "Don't ever frighten a bureaucrat -- the only safety it knows lies with strict comformance to the bureaucracy you wish it to more flexibly interpret." 03:21:31 ayrnieu: I don't know, if your definition of COMPILE is 03:21:32 equivalent to known to me, I go into thinking mode. 03:22:02 I can't even say, if it does smth. useful. 03:22:30 the COMPILE I said there just EVALUATE 's the next word with STATE temporarily set to compilation-mode 03:23:02 ayrnieu: I'm able to understand code. 03:23:15 It's not the one which is ununderstandible. 03:23:46 OK ;-/ -- the code's all I meant. But I can see that I'm wrong, nevermind. 03:25:03 Let's consider COMPILE IF in your sense of COMPILE 03:25:36 COMPILE reads IF, sets STATE and EVALUATE. 03:25:57 --- join: jocke123 (n=kalle111@194.22.57.149) joined #forth 03:26:04 my COMPILE is just [COMPILE] , I think. 03:26:09 If it is used in definition, IF compiles brances into this definition. 03:26:15 ...branches... 03:26:42 So, this COMPILE IF is equivalent to IF 03:29:08 No, it is not [COMPILE] 03:29:39 er, right. 03:29:57 The only use of your COMPILE is in this context: 03:30:21 : a-word ... [ ... COMPILE smth ... ] ... ; 03:30:46 which is equivalent to 03:30:59 : a-word ... [ ... ] smth [ ... ] ... ; 03:32:46 --- quit: tattrdkat (Read error: 110 (Connection timed out)) 03:40:42 --- part: jocke123 left #forth 03:56:34 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 04:02:39 --- join: chris2 (n=chris@p549D3E92.dip0.t-ipconnect.de) joined #forth 04:04:29 I just ran across a Perlis quote that made me think of PoppaVic :) 04:04:39 Every reader should ask himself periodically "Toward what end, toward what end?" -- but do not ask it too often lest you pass up the fun of programming for the constipation of bittersweet philosophy. 04:10:55 lol 04:12:31 hm, I guess I'll curl up with Thinking Forth 04:13:28 tathi, which perlis quote? 04:13:51 the one tathi just said, I'd think. 04:14:10 so that after.. 04:14:30 you need to read chronologically, virl :_) 04:15:00 haha .. >:-( 04:17:36 04:14 < arke> MAX_INT was in which header? BasL 04:17:40 04:14 < mauke> none BazziR 04:17:43 04:14 < twkm> arke: where's your book? 04:17:43 * arke explodes 04:18:36 explodes? 04:22:26 --- quit: ASau (Read error: 104 (Connection reset by peer)) 04:26:16 --- join: ASau (n=user@home-pool-170-3.com2com.ru) joined #forth 04:43:10 --- quit: ASau (Read error: 104 (Connection reset by peer)) 04:48:16 ##C again? 04:50:10 arke: where's your grep? ;) 04:52:26 zou know 04:52:37 its much quicker to type 2 lines in a C channel asking a question 04:52:54 and much quicker to type limits.h than "wheres your book" 04:53:55 maybe twkm has a macro for "where's your book?", it's universally applicable :) 04:54:13 maybe it's a bot :) 04:55:14 no, twkm definetely isnt a bot :) 04:57:40 --- quit: Zymurgy (Remote closed the connection) 05:07:32 only a stupid person... hihi 05:10:50 --- join: PoppaVic (n=pete@0-2pool236-157.nas22.chicago4.il.us.da.qwest.net) joined #forth 05:24:02 --- quit: chris2 ("Leaving") 06:12:06 --- quit: PoppaVic ("Pulls the pin...") 06:56:56 does isforth support HIDEing a word? 06:57:14 what does HIDE do? 06:57:27 the opposite of REVEAL 06:57:59 i wonder when that is actually needed 06:58:59 REVEAL is needed so that i can write FOO in terms of a previously defined word FOO, I guess 06:59:10 glue code perhaps? 06:59:12 well, that's normal. 06:59:29 : foo 1 ; : foo foo . ; 07:00:13 yeah, but i was wondering which situation requires HIDE 07:01:21 er, OK, what does REVEAL do? I remember that it had something to do with the dictionary, but ANS doesn't define it and gforth's manual references it once without defining it 07:02:15 it makes the last-started word findable 07:03:50 oh, right. Did you just make up the name of HIDE , then? I remember that there was some other word, STAIN or TOUCH or RUB or somesuch that the compiler uses to prevent compilation of a word whilst adding that word to the dictionary. 07:03:52 I'm asking myself how that should work not defining the dictionary. 07:04:33 ayrnieu: dunno, i though i saw it somewhere 07:04:38 that actually reduces the power of code, imho. 07:05:14 virl: care to explain? 07:05:27 michaelw - virl is talking about ANS. 07:07:36 ayrnieu: it's called SMUDGE 07:07:58 and it does _both_ REVEAL and "HIDE" 07:08:07 it's an xor 07:08:17 ah, thanks. I'd just remembered that, but gforth doesn't have it -- or doesn't have it visible. 07:08:59 doesn't have it afaik 07:09:12 when you don't define the dictionary then you can't do such words like 'words' 07:25:00 --- quit: nighty ("Disappears in a puff of smoke") 07:25:05 --- join: Quiznos (i=1000@69-168-231-199.bflony.adelphia.net) joined #forth 07:25:09 what is the forth word corresponding to C's contiue statement? 07:25:27 continue 07:25:46 quiznos - pretend that we don't know C at all and ask the question again, please. 07:26:25 in c's while loop, one can continue back to the top of the loop with `continue'; what is the correponding forth word that does the same? 07:26:55 Forth has no such word , although you can make one by various means. 07:27:04 hmm 07:27:16 generally, you don't need to do this. 07:27:23 ayrnieu no fundamental word provides for a restart of loop? 07:28:34 no, no predefined word that randomly restarts a loop. You can, however, make a ANS Forth continue with CS-ROLL / CS-PICK (although I haven't ever tried to do such a thing) 07:28:43 ok ty 07:29:21 curiously, can you show us what you have so far? This loop where you've a CONTINUE where you'd want that. 07:29:50 i'm messin with smallc, add a forth code generator 07:29:52 adding 07:30:16 as a replacement for the assembler output 07:33:12 any other questions? 07:33:36 well, my question was for code :-/ 07:34:10 i dont have a working smallc compiler yet but i'm close 07:34:32 : foo begin 2 . [ 0 cs-pick ] again 1 . again ; <-- prints 2 endlessly 07:34:41 ok 07:35:55 but there's no nice general way to do that; probably you only want to CONTINUE after some logic has deepened the CS stack, where you'd have to 1 CS-PICK to get the BEGIN from within an IF , and whatnot. 07:36:05 i've restricted the forth-words to standard math, standard comparison, if, while, var, const, : ; 07:36:33 oh, you're implementing a Forth, and only wanted to know if you needed to implement a CONTINUE ? 07:36:35 and a couple of others, 46 in total 07:37:04 no, it's the other way, Smallc compiler translates c to a simple forth 07:37:12 Quiznos - http://www.forth.org/literature/forthlev.html 07:37:18 ok 07:37:19 ty 07:37:24 AGAIN is like "continue" 07:37:48 segher_ can there be multiple again's in a single loop? 07:37:54 well, no, continue; in C acts from anywhere in the loop. AGAIN is like the closing brace 07:37:57 if you use cs-pick 07:37:58 begin while again again? 07:38:03 ok 07:38:30 well, i'm still developing, so it's in flux 07:38:39 most systems have YET and BUT as nice shorthands for the most common usages of cs-roll and cs-pick btw 07:39:17 k 07:39:37 well, i rather dont care for the ANSI model. 07:40:05 : foo ( n -- ) begin dup . 1- dup abs 10 > if negate [ 1 cs-pick ] again then again ; 07:40:27 its porpose is too similar with ~rms's making everything portable at the expense of some required things and abilities. 07:40:40 ayrnieu kk 07:40:41 5 FOO \ prints out ... 9 8 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 11 10 9 8 7 ... 07:41:02 : foo BEGIN dup . 1- dup abs 10 > IF negate THEN AGAIN ; 07:41:14 yeah, yeah. 07:41:22 well really 07:41:39 10 > -1 * * 07:41:43 you don't _want_ complicated control structures 07:41:48 correct 07:42:03 true isn't -1 necessarily 07:42:20 but one think is that i want to increase the density of the code translated into forth 07:42:31 that's a longer term idea 07:43:19 --- quit: Cheery (Read error: 104 (Connection reset by peer)) 07:43:58 quiznos: you don't want to shorten the code by obfuscating it, i hope 07:44:08 segher - no, but my programs have an environmental dependency on two's-complement 07:44:22 ayrnieu: fine then 07:44:50 my retort is wrong for other reasons :-) 07:44:54 segher_ correct, obfuscation is not the porpose 07:45:26 not the purpose of course -- but not the means either, was my point 07:45:49 quiznos - it seems a bit silly, to compile C to a Forth that doesn't exist. 07:45:51 i am wanting to maintain the smallness of smallc's characteristic flavor 07:46:24 ayrnieu i'll write xlator to asm or plain binary 07:48:28 and i'm thinking that some forth words can be left out and use 0= to reverse the flag the remaining words leave 07:48:41 but that's for later optimizing 07:49:18 forthlev should help you 07:49:44 ok i'll look at that 07:50:48 Haydon's done good work. thanks, i'll enjoy reading that 07:51:15 ayrnieu do you happen to have copies of old RIT Forth meetings? 07:51:25 the printables they made? 07:51:58 no, sorry. I suddenly rememember ancient transcripts from some BBS-type thing, though. 07:52:17 do you have those? 07:52:22 to share? 07:57:03 ftp://ftp.taygeta.com/pub/Forth/Archive/talk/ 07:57:16 kk 08:08:17 --- quit: virl (Read error: 110 (Connection timed out)) 08:18:27 --- join: ttuttle (n=tom@unaffiliated/ttuttle) joined #forth 08:18:31 Quiznos: hey 08:19:01 Quiznos: whoops 08:19:04 Quartus: hey 08:19:07 Quiznos: no offense ;-) 08:19:48 Tab completion... the cause of, and solution to, all of life's problems. 08:20:01 Robert: lol 08:20:03 ttuttle !! 08:20:07 Quiznos: Quiznos !! 08:20:17 Robert [tab] i wish 08:20:24 i could use vocal macros 08:21:06 Quartus: You here? 08:22:20 shuttle launch 1438h 08:22:42 Which time zone is that? 08:22:47 EDT 08:22:49 Fla. 08:23:00 * Robert fires up NASA TV. 08:39:40 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 08:50:50 --- join: zpg (n=user@81-179-106-227.dsl.pipex.com) joined #forth 09:11:13 --- quit: ttuttle ("leaving") 09:16:51 --- join: chris2 (n=chris@p549D3E92.dip0.t-ipconnect.de) joined #forth 09:19:22 --- quit: guaumiau (Read error: 110 (Connection timed out)) 09:20:20 --- join: guaumiau (n=guaumiau@r200-125-8-6-dialup.adsl.anteldata.net.uy) joined #forth 09:24:54 Hey all. 09:24:58 Q 09:27:05 --- join: PoppaVic (n=pete@0-1pool75-137.nas24.chicago4.il.us.da.qwest.net) joined #forth 09:27:15 hey Vic 09:27:37 Howdy 09:27:56 gawdamn it's hot out... 09:28:56 correction - it's hot as usual, but the humidity is waaay too high 09:31:46 * zpg melts into a puddle 09:32:38 thank bog (and Ma') for central air 09:33:11 "between the pope and air conditioning, i'll take air conditioning" 09:33:18 amen 09:33:37 that's Allen btw. 09:33:43 And, that friggin' hospital must use swamp-coolers - it was as humid as outside 09:33:46 (from Deconstructing Harry) 09:34:00 close the windows and pull the blinds down and turn a box fan on low; you'll be comfortable 09:34:25 so -- i'm having a little difficulty assessing ability of so-called 'Plain Forth' to provide a flexible and productive environment for me. this essentially boils down to one thing: data (structures). 09:34:27 I try to stay in the basement anyway 09:34:39 yeppers 09:34:51 you need the extension wordsets for structs or OO 09:35:16 --- quit: crc (Remote closed the connection) 09:35:48 bsaements are good if there's plenty of cold stone to cool the air and proper source of incoming air into the space 09:35:57 zpg: keep reminding yerself that Forth was usually the first language on foreign hardware - for years ;-) 09:36:17 no sir - I do not want airflow in - it's hot and wet outside 09:36:21 zpg - a flexible and productive environment for you and what? 09:36:39 --- join: crc (n=crc@pdpc/supporter/active/crc) joined #forth 09:36:39 --- mode: ChanServ set +o crc 09:36:40 I want to extract every bit of heat into the walls and floor. 09:37:01 zpg - also, if you've questions about data structures, please ask them. It's easier to answer questions than to provide propaganda. 09:39:31 zpg: which variant are you suffering? 09:40:02 variant? 09:40:15 well, the package - each forth is a variant. 09:41:01 closest thing to "standard" is ANS - and even that seems to vary 09:41:03 ayrnieu: well, this is just a general impression after trowelling the newgroups. i've got a couple of linguistics projects kicking around that are currently implemented using lists of strings (indexable, though this isn't quite as important). so usually when looking for flexibility i try and write a core 'parody' of an existing project to see how it compares. 09:41:19 --- quit: Snoopy42 (clarke.freenode.net irc.freenode.net) 09:41:21 ahh 09:41:22 PoppaVic: hacking in gforth; ficl, kforth also installed. 09:41:28 concept-proofs 09:41:30 --- join: Snoopy42 (i=snoopy_1@dslb-084-058-149-135.pools.arcor-ip.net) joined #forth 09:41:51 yeah, I got ficl to work ok, and gforth seems to work well. Never got PFE to build 09:42:13 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-149-135.pools.arcor-ip.net) joined #forth 09:43:17 indeed. 09:43:51 unfortunately, I have a few "issues" with both - but gforth is a handy interactive-tool, anyway 09:43:58 one such project was written in bad C (my self-implemented list-code was sucky); later, refactored into smalltalk and developed extensively. recently protyped in python with positive results. 09:44:18 yeah, i use emacs too so the interaction is quite nice. though i doubt this is as gforth-dependent as advertised. 09:44:33 zpg is the code GPL'd? 09:44:46 for the above? 09:44:51 for ... 09:44:58 "one such project" 09:45:15 zpg - if you want to rewrite it again in Forth, go ahead. If you feel like you have trouble doing this, or that what you're doing seems too hard, or that you don't like the look of the result, ask questions. 09:45:38 ahh, no not at the moment i'm afraid. developing ideas and code, but collaborating with a friend who's conjuring up some ideas to boot. he's not comfortable with releasing it until it reaches a stage of maturity, so i'm repsecting that for now. 09:45:46 ok ty 09:46:20 ayrnieu: yeah, thanks for the tip; much better to have specific queries than a general moan,. 09:46:49 well, it sorta' helps steer the feedback 09:46:51 .oO maons, graons, and kaons 09:47:15 .oO new nick: 09:47:16 but you PoppaVic mentioned using (third party?) wordsets -- i take it implementing string handling and linked lists would take some time, so if there are any solid and (kinda standardised) implementations kicking around, pointers would be appreciated. 09:47:20 --- nick: Quiznos -> ClassClown 09:47:31 s/you// 09:47:37 heh 09:47:48 yea, that's the ticket 09:47:52 linked lists take no time at all, really. 'string handling' depends on how you want your strings handled :-) 09:47:53 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 09:47:57 well, not precisely... There are ANS "extensions", and gforth goes even beyond that some. 09:48:16 --- nick: snoopy_1711 -> Snoopy42 09:48:17 yeah, the idea of "string" is more class than struct 09:49:17 there's ascii, unifoo, utf-8, counted/pascal/forth, terminated/c, etc, etc 09:49:27 what's unifoo? 09:49:38 Here we go. 09:49:38 'unifoo' is how PoppaVic refers to 'unicode'. 09:49:39 ClassClown: generic for all the unicode/iso stuff 09:49:44 ayrnieu lol 09:49:50 vic, that's funi 09:50:22 ClassClown: it's even more hillarious when you start reading up on it and trying to organize for code and data. 09:50:36 round one 09:50:40 ah ok, regarding strings, ascii is fine for the model 09:50:42 i have tried; it was a hearty laf 09:51:06 essentially: reading from input file and splitting via whitespace into individual string elements, then adding these to a linked list. 09:51:22 zpg, neither linked lists nor strings are time-consuming in Forth. What is it you're trying to do? 09:51:24 that's the core; then i'd implement a demo of buffer reversal 09:51:31 Ah. 09:51:38 ClassClown: I'm sort of leaning toward 100% ascii/c-strings for words/names/code - and MAYBE allowing some sorta unifoo for stricly output or reporting. 09:51:41 like i say, keeping the model simple for now. 09:51:48 PoppaVic after reading the manpages regarding, i finally concluded that all chars should by 32bit (long) or a double celled char in forth 09:51:55 zpg, that sounds like a straightforward task. 09:52:03 zpg: you MIGHT - maybe, can use a db for the "words" 09:52:06 i saw no reason to lose bits in the process 09:52:12 in Smalltalk and Python, I simply subclass a OrderedCollection/List and add a class method #fromFile: to parse and add. 09:52:25 simply, yes :_) 09:52:33 ClassClown: well, the c 'char' is part of the issue, as is the bandied-about "string" 09:52:40 zpg, it'll be more hands-on in Forth, but not extraordinarily so. 09:53:04 Quartus: ah ok. let me be honest: i think the lack of directly 'friendly' facilities has made me inflate the complexity of the problem. 09:53:05 PoppaVic true, it's ancient azoomshuns that need to be belted into submission with proper libc code and recoding 09:53:12 but i do think it necessary to understand Forth by implementing a real-problem. 09:53:21 zpg: well, write "friendly" code 09:53:36 ClassClown: also, some of the newer presumptions. 09:53:51 zpg, I can't speak for your conceptualization of the problem, but take it a step a time. Write your loop that opens the file and reads all the lines one at a time, then write your parser, then add the code to establish a linked list. 09:53:52 PoppaVic: well, manipulating the stack versus inheriting a prettily pre-written list is what i'm comparing. 09:53:56 true; ansi's gettin in the way *a-gain*!! 09:54:11 zpg: have you toured the FIG-Forth site or any of the example stuff for gforth? 09:54:15 zpg - we can't really give you lots of advice without more information about your data and what you want to do and about what parts of your setup are important or could be changed, and so on, so just go on with it :-) 09:54:32 heheh ok - i'll take a closer look 09:54:40 and PoppaVic, no not yet, just the kForth examples. 09:54:44 and make sure you decompose allll over ;-) 09:56:29 zpg: you also *might* - and this is tentative, because I'm leaning this way - consider wordlists as powerful/hefty interfaces. Like methods, members, etc. 09:57:02 I get really upset with thousand "word" vocs/wordlists. 09:57:56 frankly, i miss the fig-style of vocabularies 09:58:01 You'll also notice that, overall, forths tend to publish their "limits" more clearly than some. 09:58:12 ClassClown: or f83, or Fpc 09:58:16 --- join: madwork (n=foo@derby.metrics.com) joined #forth 09:58:33 fig 09:58:40 anciently 09:58:52 I can vaguely recall them, I'd have to dig out some old books 09:59:09 but KISS is a good rule of thumb 09:59:10 What do you miss about them, ClassClown? 09:59:15 tree-structured, searching from current voclist down to main trunk 09:59:23 oh, THAT? 09:59:29 very fast even on 6502 09:59:50 that ends up slowing down larger sets and lacking the "order" and later control 10:00:05 but it's a good base to start with (as i envision it) 10:00:14 although, I will admit that for an interpreter, it was ok with me 10:00:16 Wasn't FIG 3+count? 10:00:31 i forget, i need to dig out the fig books i have 10:00:39 i never liked forth79 10:00:44 Quartus: I think that evolved a bit later, but started out that way 10:00:46 3+count is horrid. 10:01:08 incidentally, since there's some activity: who here is using forth predominantly for embedded work -vs- general purpiose computer. 10:01:17 not i 10:01:21 --- nick: ClassClown -> Quiznos 10:01:31 I live C, but I'm working up a variant. 10:01:47 3+count ? 10:01:52 zpg, both. It does marvellously in constrained environments, of course. 10:02:04 ayrnieu, the dictionary headers kept only the first 3 characters of the name, plus the length. 10:02:07 i'm currently working on replacing smallc's asm code gen with forthgen 10:02:13 i'm almost done 10:02:22 just need to replace some logic and data structs 10:02:34 yeah, like [6][FOO] might imply FOObar 10:02:43 20% closer to canceling shuttle launch 10:02:59 Quartus - better than keeping only the first four characters of any name, still. 10:03:05 "forthgen"? 10:03:21 ayrnieu, marginally perhaps. 10:03:31 i'm changing smallc to output forth-code instead of asm code 10:04:00 a simple forth code 10:04:07 basic words only 10:04:14 fundamental words 10:04:52 hmm 10:05:14 well, even that will vary - based on the platform and vm 10:05:25 ah, C, isn't everything. 10:05:27 so far i've limited the backend azoomshun to size of cell 10:05:37 oh, wait: you mean text, quiz? 10:05:51 Quiznos, did you have a stroke? 10:05:51 rephrase pls? 10:05:57 Quartus when? 10:06:04 how do i check? 10:06:16 :) 10:06:18 I'm wondering what the hell 'azoomshun' is supposed to be. 10:06:20 heh 10:06:24 assumption 10:06:26 heh 10:06:26 presumably 10:06:44 Presumably, so the question becomes why is that considered funny? 10:06:45 virl: well, neither is "asm" - let alone perl or xml or - well, whatever ;-) 10:06:45 thats pheocian 10:07:04 phonecian 10:07:14 phonecian? sp? 10:07:15 Quartus - speech->text 10:07:17 I suppose if you were worried you might have some credibility, and wanted to be sure you were rid of it, then that'd be a good way to go. 10:07:30 Quartus heh, who's that to? 10:07:47 Quiznos: umm - no, it's not even phonetic. 10:07:49 You can safely azoom I mean you. 10:08:07 yea, sure, ok 10:08:12 yea yea sure sure 10:08:16 We all know that Quiznos is too lame to read BitchX.doc -- we knew that before 'azoomshun'; no need to harp on it. 10:08:23 heh 10:08:28 who reads? 10:08:32 oh, phonetic 10:08:41 tathi yea!! 10:08:48 I was going to be very impressed if you knew phoenician :) 10:08:52 heh 10:08:57 i could larn it 10:09:13 I dunno' how - they died out centuries ago 10:09:16 i mean how hard is it to rotate shapes? 10:09:21 heh 10:09:33 quiznos - depends on the shapes, and the dimensions of interest, and the resolution of rotation. 10:09:52 almost all the shapes of the phonican charset are recognisable 10:10:01 i just need to link sound to shape 10:10:07 good luck 10:10:10 ty 10:10:11 quiznos - for very simple shapes with very few dimensions for very poor resolution, see the implementation of tetris provided with gforth 10:10:26 ayrnieu you're thinking too hard. breathe 10:10:32 breathe breathe breathe 10:10:35 :> 10:10:38 I don't need to hold my breath to think! 10:10:42 ok 10:10:56 wait until you see how brits pronounce "Featherstonehaugh" 10:11:15 k 10:12:27 gforth has a tetris? 10:12:30 where? 10:13:33 There's a Standard Forth tetris kicking around. Text based. 10:14:17 bigforth/minos (whatever) might also have one 10:16:08 virl: /usr/share/gforth/0.6.2/tt.fs on my box :) 10:18:57 oh, I can't believe something useful in ANS 10:19:06 heh 10:19:22 scarey concept 10:19:35 echew ewil 10:19:39 echew ANS 10:19:52 eschew? 10:20:11 biblical word :) 10:20:20 JOb did it, we're to do the same 10:20:21 er...tetris is "useful"? 10:20:22 Job 10:20:34 virl - the implementation is quite neat. sokaban.fs in there, too. 10:20:36 tathi: well, his heart was in the right place 10:20:41 tt is not the definition of ANS 10:21:05 yeah, gforth comes with some interesting stuff 10:21:25 yep, but significant? Useful, maybe 10:21:31 sokoban.fs , rather. I studied that, and wrote in its style of simple rule-based play applied to character matrices. 10:21:51 And, after over 20 years of it - I still ponder "OK, wtf?" 10:22:11 It's been 20 years since 1994 for you? That's fast living. 10:22:27 no, I meant forth itself - not ANS itself 10:22:53 well, modern forths don't print 'OK' 10:23:01 I do remember a huge work that took multi-issues of FIG newsletter for a database and a spreadsheet 10:23:03 no, they print 'ok' 10:23:08 it must in order to be a Forth 10:23:16 DO NOT COMPROMISE!!! 10:23:17 heh 10:23:22 no.. 10:23:25 that's one reason I disliked ficl, actually; it had a /prompt/ 10:23:38 ok 10:23:41 is not a prompt 10:23:51 it's an `i'm ok, are you ready?' 10:23:54 clearly. ficl has a prompt. 10:24:07 lol, clearly CM is of the 70s 10:24:09 lol 10:25:25 MORE IMPORTANTLY, gforth indeed prints ' ok' and not 'OK', and it classes well enough as a modern forth. 10:25:25 any idiot can dump the prompt, and "OK" always meant "done did that" 10:25:26 I don't get this one.. 10:25:48 oh, sheesh - yer worried about the case? 10:25:54 heh 10:26:05 dont b uh hater :) 10:26:10 hata 10:26:11 Poppa - don't be silly. 10:26:35 virl - you don't get why I'd prefer 'ok' to a prompt like 'ok: ' ? 10:26:54 I wasn't the one upset with prompts and ok/OK - I'm just trying to follow the flotsam 10:27:05 : ok ." ok " cr ; 10:27:11 no I don't get this joke: clearly CM is of the 70s 10:27:22 CM? 10:27:35 in the 70s psychobabble like "i'm ok, you're ok" were the "in thing" 10:27:37 command-mode? 10:27:42 CLI? 10:27:43 cm == charles moore 10:27:47 oh 10:27:49 virl - it isn't a joke, it's Quiznos sneering at you for suggesting that modern forths don't print 'ok'. 10:27:59 i dont sneer 10:28:07 :) 10:28:08 funny, mine all do 10:28:32 otoh, I do end up in the interactive-mode 10:28:35 i only sneer at ANS, i do not disparage any man's or woman's work. 10:28:57 committees make pink giraffes with nasal trunks. 10:29:00 The ANS Standard was the very hard work of a group of quite exceptional men and women. 10:29:01 i sneer at them 10:29:13 but it's a committee 10:29:31 it's over complicated, writ in pseudo-lawyer-ese 10:29:35 and it's a bear to read 10:29:46 It is the shortest and simplest language standard I've ever encountered. 10:29:54 and a lot of compromises - f79 and such suffered as well 10:30:00 I don't like the 'ok', everytime I print something with ." blah" I get those fucking 'ok' after that. grml. annoying, so I like those forths which doesn't have 'ok' at default. 10:30:18 --- quit: chris2 ("Leaving") 10:30:25 yeah, that doesn't annoy me at all. 10:30:56 virl: never noticed.. Perhaps it's a bad colon-def? Would working in PAD be better? I believe I see now what you are saying, however. 10:31:18 brb 10:31:44 ." testing" cr .s testing 10:31:44 <0> ok 10:32:36 even a CR at the non-prompt will print ok 10:33:07 "quit" cans the 'ok' doesn't it? 10:33:21 you'd have to look 10:33:21 ==> .s quit <0> 10:33:45 well, it does here, just not sure if that's applicable to the grumbling above 10:33:45 oh - I see what you mean, that's different 10:34:06 quit is like a cheapskate abort() 10:35:12 * zpg nods 10:35:42 but it leaves the stack intact and prevents OK from printing. 10:36:06 for gforth, you could copy the definition of (quit) from kernel/int.fs and leave out the call to prompt 10:36:26 and install it with ' (quit) is 'quit 10:36:46 see prompt 10:37:11 but this is madness, anyway; learn to love the OK. 10:37:13 tathi: even "copy the definition" is a chore ;-) 10:37:40 this situation reminds me on the Unix Haters Handbook, the X section 10:38:04 quote: "nonsolutions to nonproblems" harhar. 10:38:13 ayrnieu: yeah 10:40:03 well, as long as the "default mode" is an _interpreter_, there ain't much of an issue 10:41:13 I sort of do miss the ancient F-PC interpreter-interface, as well as editor - for forth. 10:41:16 --- join: nighty (n=nighty@sushi.rural-networks.com) joined #forth 10:42:52 I tend to believe we've got more standards than we do commonality, expectations/capabilities and miss a lot of bets - and I don't just mean Forths 10:44:01 look at C, look at the X window system and then look at the hardware, in reality it comes from every side. 10:45:12 I know 10:45:21 and when I compare those whole standards then the worst sentence is 'compatibility with older standards' 10:46:01 well, there is also "platform" & "bios" and "hardware" - it's a real clusterfuck nowadays. 10:46:36 Tis one of the reasons I rooted for the #openbios folks 10:46:43 for example, for forth, I would suggest to say: 'Ok, we have now this ANS stuff, it's only an extension to older standards, so why don't make a new one entirely from scratch not reusing older models' 10:46:56 yep 10:47:24 prob with forths is: most are pretty well as fixed as assemblers 10:47:45 there's also no need to do that, virl. 10:48:01 I try to think of C as a more-abstract assembler, and even THAT is of marginal utility. 10:48:06 ayrnieu, well I think it is. 10:49:13 virl: the alternative is to work in the existing baseline framework, and develop something more involved from the very first word in the very first wordlist 10:49:24 there comes everytime a time when old ideas need to get refactored, reflected and extended. thats the only way how a new class of problems can be solved. 10:49:45 virl: well, I don't fully agree, but I understand the few 10:49:49 view 10:51:00 forths have all the pains of interpreters and of compilers and of assemblers and of platforms and interfaces. 10:51:37 ttfn 10:51:38 --- quit: zpg ("ERC Version 5.0.2 $Revision: 1.726.2.10 $ (IRC client for Emacs)") 10:52:02 I've pretty well decided that there is little point to "portable object compiling", but I'd wager there could be an intermediate-file form. 10:52:33 bytecode.. 10:52:41 xell ... someday... 10:52:45 no, even that is problematic 10:52:52 ok, it's vapoware .. who cares... 10:52:57 new issues, same problems 10:53:20 ok, for example which problem? 10:53:45 take OS on the left hand - and who and how does what to whom and where. 10:53:57 take machine on the right hand - same issues 10:54:17 ...in the middle, forth has to work the same all over. 10:55:20 "all standards are boxes that tend to restrict, constrict and limit the free exercise of innovation, improvisation and new true solutions." 10:55:21 part of the problem is the mechanical-level, (that folks access ALL the TIME), and part is the language and "breakout". 10:55:29 tough 10:56:21 limits are a fact of life - folks need to realize it. Problem is, a lot of shit is nonportably reported wherever you are: to preprocessors/interpreters/compilers. 10:56:48 forths are better at seeing that than autoshit, make or cpp - but it's a toss-up on solutions there. 10:57:15 yea but those were limits of ancient hw; small systems. current hw doesnt need to be bound by those limits 10:57:30 well, not entirely true 10:57:59 ...but the limitations exist - be they integers, file-systems, dirs, files or formats. 10:58:01 beside standards are mental processes only to confine one's thinking 10:58:08 no 10:58:15 people learn them and obey. 10:58:25 well, an information retrieval service would help there, you ask what are you? and it gives the information. 10:58:27 until you can learn what limits are, yer screwed 10:58:28 sheesh. you people are silly 10:58:33 standards establish a box into which people put their thinking. 10:58:56 virl: good luck 10:59:00 the only standard should be the cpu; forth defines an abstract vm. learn that and excel. 10:59:04 tathi - it puts the lotion on its skin. 10:59:08 tathi: yeah, we should form a committee 10:59:17 "cell" didnt come from a standard, did it? 10:59:25 sorry, Quiznos - yer still wrong 10:59:34 NO MORE COMMITTES lol, i'm tired of trunked giraffes 10:59:41 Vic; ok. 10:59:51 but at least you'll think of it now :) 10:59:59 well then a drunken group? how about that? 11:00:09 that has posibililities 11:00:09 virl: that's different how? 11:01:17 a committe is only a group of some people who drink much and smoke weed 11:02:07 virl: you forgot: they get noteriety and published and thus control the masses 11:02:52 Elizabeth D. Rather : ETERNAL DARK RULER OF ALL THAT CALLS ITSELF FORTH 11:03:24 The kick is picking the apropos "standards" to support in a more focussed std. That's foremost. 11:03:54 ayrnieu LOL 11:03:56 well, you should definitely support ANS Forth. 11:03:58 no, is she? 11:04:17 If you support None-Of-The-Above, then fine: you are starting virgin and can't interface diddly. 11:04:33 top-dog authority only comes from those is demand to be lead 11:04:34 led 11:05:25 Quiznos: dude, I dunno' where yer head is at, but have at it. 11:06:26 PoppaVic well, i'll let God exalt me. if it happens that way then it will be sweeter. 11:08:41 --- join: JasonWoof (n=jason@pdpc/supporter/student/Herkamire) joined #forth 11:08:41 --- mode: ChanServ set +o JasonWoof 11:09:12 yay :) I'm online with my fresh gentoo install 11:09:18 with X and everything 11:09:26 hurrah 11:09:26 quick! Install treewm! 11:09:35 I installed ion3 11:09:41 now I have to configure it :( 11:10:12 I'm sorta' satisfied with macOSX, but I suppose someday I'll drift back to Debian linux 11:10:27 ayrnieu what's treewm? 11:10:37 quiznos - a window manager. 11:10:43 url? 11:10:48 www.google.com 11:10:57 dont gimme that, :) 11:11:00 heh 11:11:08 i collect wm's 11:11:09 I've oft-felt that kernel-configs are the WORST, and then you get to suffer apt-get or fink or whatever - and they never default to the same and proper things. 11:11:12 possibly treewm.sf.net 11:11:16 kk 11:11:33 what's its claim to fame? 11:13:28 ayrnieu ? 11:13:44 I could go into it, and talking about dimensionality and kinesthetic distances the equivalence of fvwm/gnome/kde and odd notes about the topology of MS Windows and MacOSX -- but meh. Advocacy is lame. 11:14:00 heh 11:14:39 if you try it for a while, you'll at least have better-developed answer to your question. 11:15:01 wow, you arent very good at summary briefing, are you? :) 11:15:09 [meant with love :) 11:15:59 you are contrariwise exceptionally capable of reading insultingly into people. 11:16:12 perhaps, but 11:16:31 i only wanted a summary description of what treewm's claim to fame was 11:16:41 a one-liner 11:16:49 "what do you like about it" 11:16:59 damn, I have no paste key 11:17:02 or, more impotantly, what's different about it 11:17:02 oh, gee. "It's better." 11:17:10 treewm.sf.net tells you everything else. 11:17:15 better than ion? 11:17:20 virl - yes. 11:17:21 I like "tree" - y'all can argue over the rest. 11:17:30 I like Ion. I'm insulted ;) 11:17:31 i didnt go there, i used a tool to ftp the tarball with me hunting for it 11:17:48 PoppaVic can you tell me what is different about treewm? 11:17:51 well it looks worser than ion 11:17:59 not even remotely, Q 11:18:02 k 11:18:07 I don't think it can be better handled than ion. 11:18:22 ..and I refuse to go search for weird stuff that sounds specialist 11:18:23 ion is really easy and has a super workflow. 11:18:32 virl - the screenshots only exist so that stupid people can look at them and decide that it's ugly. 11:19:05 I thought screenshots were supposed to offset the illiteracy of doc-authors? 11:19:12 I don't think that's ugly, but hasn't the workflow for me that ion has. 11:19:40 well, I can't speak of such a thing as 'workflow', but neither can you address treewm's manner of it from a screenshot. 11:20:05 ugh, but this is advocating as I feel like getting, right now. 11:20:50 If I wanted "oh, this is kewl" - I'd install Enlightenment. For "it works NOW", I'm happy with macOSX and NOT screwing around, although I had to conclude the same with KDE. 11:20:56 well, it hasn't tiled windows... 11:21:34 if you want answers, ask questions. 11:21:41 I'm not going to use anything where I have to move or resize windows 11:21:46 --- part: Robert left #forth 11:21:52 that's nice 11:22:01 Meanwhile, so are options 11:22:02 --- part: tathi left #forth 11:22:08 JasonWoof, fully ack 11:24:02 almost clean compile except for one bad prototype 11:29:51 --- quit: nighty ("Disappears in a puff of smoke") 11:41:04 --- quit: PoppaVic ("Pulls the pin...") 11:49:31 shuttle aloft!!! 11:49:38 nod 11:49:39 horray! 11:49:43 yep 11:49:51 and a forth is onboard! 11:49:59 vcool 11:50:01 who's? 11:50:19 or? I read that nasa uses forth 11:50:21 moving at 5mi/s 11:51:12 which ANS Forth source is really available to public, so that it makes sense to not dump it? 11:51:23 duo 11:51:28 ? 11:51:29 i echew ans 11:51:34 wtf? 11:51:51 dump ANS Forth, dump it, yeah yeah yeah. 11:52:03 i never loaded it 11:53:38 I mean, from my today view, forth has crashed. but is slowly recovering again, so why not catching the situation and doing something better than ANS forth? 11:53:53 to prevent using the shit again and again. 11:54:07 i'm drooling for some parts of fig forth in something i'm coding. 11:54:13 well, bloody well do it. 11:54:24 dont rush me!!! 11:54:25 heh 11:54:47 for my part, I'll go out for drinks and then get the vi-like interface up on my forth. 11:54:55 s/forth/mud client/ 11:54:59 i found that too, it's interesting 11:55:09 found what? 11:55:19 vi for forth in forth 11:55:44 ok, then not. lot's of people don't want to see the truth. 11:55:51 what truth? 11:56:00 the truth that virl arbitrarily asserts. 11:56:12 continue 11:56:56 have you heard of vime? 11:56:59 sorry vibe 11:57:04 that's what i found 11:57:07 "ANS forth is shit." "no it isn't." "well I think it is." If you want to make something better, then make something better. This isn't some bizarro-world zero-sum game where something better magically appears after you've beaten everything else down. 11:57:12 it's a vi-like block editor 11:57:18 yep 11:57:29 JW - I remember trying it out. 11:58:17 anybody know how I could grab the text from the statusbar line in irssi? 11:58:25 with a moose? 11:59:38 http://www.forth.com/swiftforth/forth-language-trial.html ... er, isn't that MacOSX in the top-right image? 11:59:52 how odd. 12:01:42 ok bbl 12:01:46 that page thinks lack of css means not being standards compliant? I turn that stuff off on purpose! 12:05:53 * docl thanks God for opera 12:12:05 wow, this "preemptive kernel" thing really works 12:12:27 I turned on preemptive multitasking in my linux kernel this time around and it works great 12:12:40 I was playing vor just fine while compiling stuff with make -j3 12:12:46 load average was about 5 12:12:55 game occationally dropped a few frames 12:13:00 but not bad enough to kill me 12:15:36 ok, that time it did kill me 12:15:40 but it's still 10X better than before 12:17:39 oh, tathi isn't here 12:17:45 troll! 12:18:02 gah! it sucks not being able to paste 12:18:14 relatedly, though, I have grown comfortable with gforth's tasker.fs 12:43:16 --- join: slava (n=slava@CPE0080ad77a020-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 12:49:04 well, when I would make everything better that is a bunch of crap, the whole computer industry needs to get reworked. and this is something I can't do.. 12:50:21 you sin at trying to solve a nonproblem, at trying to solve too large of a problem, and at poor factorization of the problem. 12:50:28 hey, slava 12:50:32 hi ayrnieu 12:50:54 slava - curiously, how did your OpenGL program go? 12:51:00 sry, but it is a problem. 12:53:38 ok, then it's not whatever you say is allways true. 12:59:06 --- join: GoGoDncr (n=GoGoDncr@74.132.233.136) joined #forth 12:59:44 ayrnieu, surely you know it's much easier to complain about the status quo than to actually create anything. Plus, that way you don't have to subject anything you might have created to public scrutiny and criticism. 13:00:29 So it's a win-win. The trick is to complain intelligently, and that's where a lot of critics fail. 13:06:04 Ill sit at bars and write perl on my napkin until girls are so thick around me I cant move my body 13:06:20 But that actually works! Honest! :) 13:06:49 ah, of course. I should try it with Forth. 13:07:52 Of course you have to interpret it correctly -- it's the girls that are thick.] 13:07:57 :) 13:18:03 --- quit: GoGoDncr (Remote closed the connection) 13:18:05 Another approach I've seen too much of recently is to claim that whatever you're criticizing is merely a symptom of a problem so large, you couldn't hope to solve it in any way, so therefore you shouldn't try. 13:22:51 --- join: GoGoDncr (n=GoGoDncr@74.132.233.136) joined #forth 13:23:46 when you try it with forth then you have sexbombs :P 13:29:30 --- quit: segher_ (Remote closed the connection) 14:32:43 --- join: Zymurgy (i=zymurgy@cat.delfax.net) joined #forth 14:33:52 --- join: nighty (n=nighty@sushi.rural-networks.com) joined #forth 14:55:25 --- quit: snowrichard ("Leaving") 14:57:03 --- quit: Al2O3 ("Leaving") 14:59:10 --- quit: neceve (Remote closed the connection) 15:00:04 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 15:07:02 found proof that ANS suffered from committee-itis 15:07:45 in a email msg stored in unix.arc of Taygeta 15:08:10 Quiznos, you are also against ANS so why do you attack me? 15:08:20 reads in part "the part of the committee members threatened to shoot down the whole thing", developement of BASIS10 15:08:21 virl - you confuse Quiznos with Quartus 15:08:35 virl i didnt attack you. 15:08:47 he did? 15:08:50 i'm not Quartus 15:09:01 we differ at @[2] 15:09:03 :) 15:09:17 we differ? at @[2] ehm? 15:09:23 what do you mean? 15:09:26 nm 15:09:33 it's ok if you did. 15:09:37 i can move past it 15:09:52 sry, I don't get it 15:09:55 anyway, my previous comment continuing from this morning 15:10:00 virl that's ok 15:10:15 committees build pink trunked giraffes 15:10:51 with stripes ;.) 15:11:14 if that's your preference 15:11:21 and you can get a super-majority 15:11:25 :> 15:15:10 --- join: ttuttle (n=tom@unaffiliated/ttuttle) joined #forth 15:15:20 Hey. 15:15:21 --- quit: Snoopy42 (Read error: 131 (Connection reset by peer)) 15:15:24 hi ttuttle 15:15:43 Hi tuttle. 15:15:57 --- join: Snoopy42 (i=snoopy_1@dslb-084-058-136-008.pools.arcor-ip.net) joined #forth 15:16:09 Quiznos - what email was it? 15:16:23 unix.arc file @taygeta 15:16:36 use nomarch pkg to unarc 15:16:48 oh, I supposed that it had many emails. 15:16:54 yea 15:17:08 in truth, i mirrored taygeta a LONG time ago 15:17:26 i should dearc and tar them all up more efficiently 15:21:18 * ttuttle is very happy that his toy assembly OS is vaguely working. All he needs is a keyboard driver and then he can start working on the Forth part. 15:21:39 Good stuff! 15:21:51 --- join: I440r (n=mark4@24-177-235-246.dhcp.gnvl.sc.charter.com) joined #forth 15:21:56 keyboards are evil, evil things though :-/ 15:22:19 I learned that trying to do much interesting with Enth/Flux. The PPI interface is insane. ... maybe it's easier with USB. 15:23:08 ttuttle coolies 15:23:31 --- join: LOOP-HOG (n=jason@66.213.202.50) joined #forth 15:23:51 Quiznos: Yeah... I forgot the x86 stack is 32-bit aligned, and tried to pop a byte with "add esp, 1". 15:23:51 man does anybody know of a decient FTP client for the mac, because I can't find one 15:24:51 ttuttle there is an opcode for that 15:24:56 OSX ? 'ftp' at a prompt should suffice; you could install ncftp if you need to, or the port of OpenBSD's ftp, perhaps, through fink/darwinports 15:25:04 LOOP-HOG cnet.com 15:25:07 You can also write an ftp client. They're easy. 15:25:15 I'm not in the mood 15:25:33 Quiznos: I know. 15:25:35 they either hang, bungle the upload, or don't have profiles, or something like that 15:25:38 Quiznos: It's pop. 15:25:49 Quiznos: Or is there one for pop without a destination? 15:25:54 cnet.com, gee thanks for the briliant advice, just like my mom and dad 15:26:17 LOOP-HOG: What's so bad about cnet.com? 15:26:31 LOOP-HOG: /me bites his tongue and avoids muttering "Linux" as the FTP client. 15:26:48 poor job of biting your tongue, ttuttle. 15:26:56 ttuttle almost all intel asm words are overloaded 15:27:01 midnight commander :) 15:27:04 it's a byte < 07fh 15:27:08 I440r woot mc 15:27:21 it's a byte < 07fh iirc 15:27:24 i use mc ALOT ! 15:27:31 but i dont use the internal editor 15:27:31 bleh 15:27:33 nuh uh! i do!!! 15:27:41 i only use joe 15:27:58 joe has a sane cursor mode 15:28:12 real coders use cat or dd 15:28:16 i.e. when i cursor down the actual cursor doesnt go down one line and left 30 characters 15:28:25 heh 15:28:26 then down one like and right 7 characters 15:28:35 in a totally SCATTERBRAINED manner 15:29:31 why don't you use blocks with your forth, I440r? 15:29:33 I440r so! are you in a bar with your wee itty bitty PDA? 15:29:33 I'm using some body elses computer 15:29:34 :) 15:29:59 ayrnieu, i have block files extensions but ill only use block files for data bases not source files myself 15:30:13 because block files are retarded except in an embedded system 15:30:19 heh 15:30:28 flat files are easier to work with 15:30:39 and you have space available for COMMENTS !!!!!!!!!!!!!!!! 15:30:44 which you do NOT have with block files 15:30:50 and shaddow files are also retarded 15:30:51 shadow blocks 15:30:51 I440r - block files give you shadow documentation. 15:31:00 shaddow files are horrible 15:31:05 blocks are not retarded, just differetn 15:31:13 having to flip back and forth is bad 15:31:22 you dont have both source AND comments together 15:32:00 cluttering your code is code is bad. You can have detailed paragraph style documentation at the touch of a key (or /right there/, if you assume enough terminal) and still have direct code. 15:32:09 s/is code// 15:32:13 if you look at my sources you will see i expend ALOT of energy keeping my sources looking like something OTHER than an unmade bed 15:32:27 none of my source files look cluttered 15:32:40 and i have as much comments in there as i do code usually 15:32:57 and block files arent comments 15:33:01 they are descriptions 15:33:07 function xyz does blah blah blah 15:33:10 shadow blocks are /documentation/. 15:33:29 that does NOT describe HOW or WHY or any of the internals of function xyz 15:33:30 You hardly see that in any source file that doesn't embed TeX. 15:33:55 docunmentation is not an excuse not to comment 15:34:01 documentation is for the users 15:34:05 uh, no. 15:34:06 comments are for the maintainers 15:34:52 --- part: tathi left #forth 15:35:53 IAC, I'd supposed that you'd want to code in blocks, somehow. Wanting traditional code-structure and simplicity and the pressure of block-format and whatnot. 'okido'. 15:36:12 you cant do that with traditional block files 15:36:18 can't do what? 15:36:19 code code code code code code code code code 15:36:23 comment comment comment 15:36:25 code code code code code code code code code 15:36:26 comment comment comment 15:36:27 code code code code code code code code code 15:36:30 SUCKS 15:36:36 code code comment comment 15:36:41 sure, but that's not how people do block files. 15:36:41 is the ONLY way to gto 15:37:04 and in a block file the above will restrict you to VERY few lines of source 15:37:12 block files CRAM everything in to a small space 15:37:43 and a BLOB of code is inferior to a nicely spread out piece of code (not TOO spread out tho :) 15:37:54 i dont like block files for sources 15:38:12 VERY few? You get sixteen lines, and can easily work with multiple blocks at a time. 15:38:46 yea you get to see 16 lines and IF you cram everything into a blob with NO white space at all 15:38:50 horrible 15:39:00 my client client's logical division is such that I could have three airy blocks for everything. 15:39:19 isforths block extensions allow for ANY size of block 15:39:24 within reason i mean 15:39:24 well, and maybe two more for the BSD socket understructure. 15:39:43 and you can have ALOT of block files open at one time 15:39:56 still doesnt make it a good medium for sources unless its the ONLY medium 15:41:32 i cant understand why anyone would PREFER block files at all 15:42:01 even forth inc wouldnt add flat files to swiftx/swift forth until Vertex RSI insided they do so 15:42:09 alright, forget about Captain 15:42:15 i dont even know if anyone other than vertex has that functionality lol 15:42:25 captain ? 15:44:46 Captain FTP for the mac 15:45:10 the user interface window doesn't even pop up when I start it 15:45:28 SwiftForth certainly supports files, I440r. 15:47:12 because vertex insisted 15:47:30 forth inc resisted that for a long time but virtex said we wont use it inuless you do suppor them 15:47:40 vertex does satellite tracking systems 15:47:48 they make the dish, the multiplex/demultiplex 15:47:54 and the tracking stuff 15:48:04 and ALL their code is done in forth 15:48:34 they even took the time to port an inherited product from c to forth 15:48:43 that took them months 15:49:07 which company? 15:49:13 vertex 15:49:49 URL? 15:49:52 I440r - wow, cool. 15:50:04 do a google for virtex rsi 15:50:10 tho they arent called that now 15:50:30 General Dynamics (C4 Systems(!)) SATCOM 15:50:38 yup 15:50:51 they do all the stuff for direct tv for instance 15:51:05 all of direct tv's satellite systems are virtex systems 15:51:50 curiously, how did you know about them? And their insistence on file support? 15:52:12 ive worked two different contracts with them :) 15:54:05 ah, with Forth? Can you tell us anything about how they use it? 15:54:32 they use forth inc's forths :) 15:55:05 --- quit: nighty ("Disappears in a puff of smoke") 15:57:28 well, like people want their TV's to mess up all of the time 15:57:37 PC TV = . 0 15:58:00 If I had 10% of the hassles that I had with my TV, as I did with my PC/Mac/Unix box then I'd just read a book 15:58:06 Fuck C 15:58:18 dont bea hata 16:03:41 lots of files on cnet won't even download 16:04:02 LOOP-HOG what are you wanting? 16:05:00 a fucking real FTP client for the MAC 16:05:09 which mac os? 16:05:16 I've tried about 10 so far and they ALL SUCK SHIT 16:05:17 X 16:05:25 Fetch Sucks 16:05:30 Captain FTP sucks 16:05:31 Is there a tourette's problem here? 16:05:42 cyberduck? 16:06:07 LOOP-HOG have you tried cyberduck? 16:06:10 It sucks, it always hangs at the end of the upload, and there is no profiles, you have to manually enter your server information each time 16:06:14 it's garbage 16:06:20 cyberduck sucks 16:06:21 yes or no, sans commentary to be faster 16:06:24 pls 16:06:30 panic? 16:06:36 Never heard of it 16:06:37 loop-hog - mass downloading? Use wget 16:07:00 I'll check 16:07:35 is osx the bsd-based os? 16:07:45 quiznos - NeXT, more or less. 16:07:47 I don't know, it's not my computer 16:08:04 but it's based on a BSD, right? 16:08:37 tyring cuteFTP for mac next 16:09:31 LOOP-HOG ##macosx 16:10:25 Yes, Q, I'll shut up now 16:10:39 join that channel for assistance. 16:10:44 they'd know more than i 16:10:48 sorry 16:10:50 s'ok 16:12:11 Yes, go curse about the lack of appropriate software for your OS in the right place, please. 16:13:09 think kinddly of it; this might all be emotional backdrop to tomorrow's triumphant but mellow "so, I wrote an FTP client in Forth -- and it /bloody works/." 16:13:40 ayrnieu, I'll take the other side of that bet. :) 16:13:50 Any odds you feel you can afford. 16:14:00 heh 16:17:01 --- quit: LOOP-HOG ("Leaving") 16:17:23 perhaps he will write it; is he a decent forth coder? 16:17:37 One guess. 16:17:44 i dont want to guess 16:17:50 i dont like to azoom 16:18:13 and i dont want to make an adz of you or me 16:18:15 :)~ 16:20:46 --- join: LOOP-HOG (n=jason@66.213.202.50) joined #forth 16:56:53 good evening 16:57:18 Hi crc. 17:07:44 --- part: LOOP-HOG left #forth 17:09:25 crc: hey 18:00:38 --- quit: I440r ("Leaving") 18:01:05 --- join: LOOP-HOG (n=jason@66.213.202.50) joined #forth 18:03:53 --- quit: LOOP-HOG ("Leaving") 18:29:15 --- join: ideogram (n=adam@astound-66-234-215-157.ca.astound.net) joined #forth 18:52:24 man, Thinking Forth is all kinds of useful. 18:53:11 it's a great read 18:53:19 people should learn forth just to read it 18:53:37 It hits on many levels of design. 18:53:46 *nod*, although I think they don't have to, it covers so much ground. 18:57:37 --- quit: uiuiuiu (Remote closed the connection) 18:57:39 --- join: uiuiuiu (i=ian@dslb-084-056-231-212.pools.arcor-ip.net) joined #forth 18:59:48 --- quit: ttuttle ("leaving") 19:01:48 http://ayrnieu.livejournal.com/119599.html 19:02:04 transcript of why I made that remark. 19:40:12 --- quit: Teratogen (Connection reset by peer) 19:48:06 --- quit: ayrnieu ("leaving") 20:08:01 --- quit: GoGoDncr (Remote closed the connection) 21:19:59 --- quit: guaumiau (Connection timed out) 21:20:51 --- join: guaumiau (n=guaumiau@r200-125-13-76-dialup.adsl.anteldata.net.uy) joined #forth 21:37:02 --- join: ayrnieu (i=julian@pdpc/supporter/sustaining/ayrnieu) joined #forth 21:42:08 --- quit: Raystm2 (Read error: 104 (Connection reset by peer)) 21:43:05 --- join: Raystm2 (n=Raystm2@adsl-68-95-251-194.dsl.rcsntx.swbell.net) joined #forth 21:44:37 "(Note that we must substitute 0= for NOT . The '83 Standard has changed NOT to mean one's complement, so that 1 NOT yields true. By the way, I think this was a mistake.)" 22:12:49 From Thinking Forth? 22:14:21 yes, near the end of Sharing Components 22:16:20 So refresh my memory, wasn't I440r ranting that F83 had it right? 22:16:41 yes, NOT as INVERT is the one true way. 22:17:01 Yet : NOT INVERT ; is somehow not a solution to that. 22:18:55 Moore: "The 68000 assembler is another example you can break your heart over, looking for a good way to express those op-codes with the minimal number of operators. All the evidence suggests that there is no good solution. The people who designed the 68000 didn't have assemblers in mind. And they could have made things a lot easier, at no cost to themselves." 22:19:22 I think the 68k is one of the simpler ones. 22:19:44 An assembler for it isn't huge. I guess minimal means really, really minimal to Chuck. :) 22:20:33 well, this is in the context of being able to compute a correspondence rather than look up patterns in a table. 22:20:34 just look at Forth and you'll see what he means by minimal 22:21:04 Chuck's Forths didn't start out particularly minimal. You'd have to look at ColorForth to see it taken to an extreme. 22:21:29 ayrnieu, well, there's no table lookups in my 68k assembler, but there are a number of different correspondences to compute. 22:29:53 --- part: ideogram left #forth 22:37:44 --- part: slava left #forth 22:46:08 Thinking Forth has an exercise: "Define the word DIRECTION , which returns either 1, -1, or 0, depending on whether the input argument is non-zero positive, negative, or zero, respectively." 22:46:41 I've : direction dup 0= ?exit 0< if -1 else 1 then ; <-- bad, at the end of a chapter devoted to avoiding logic 22:47:12 and: here 2 cells + -1 , 1 , 0 , constant direction-t : direction dup 0<> swap 0< + cells direction-t @ ; , which is bad for other reasons :-) 22:47:27 Hmm. 22:48:05 I keep thinking that the pair of 0<> 0< tests should give me nice arithmetic, but I haven't found it. 22:48:55 I have an advantage, I've done this before. Let me see if I can dredge it out of memory. 22:49:02 --- join: ASau (n=user@home-pool-170-3.com2com.ru) joined #forth 22:49:16 privet, ASau 22:49:56 Privet! 22:50:09 judicious use of AND , maybe. 22:58:00 : direction dup 0< 2* swap 0<> xor negate ; 22:58:14 That's possibly the least optimal solution, but it's the best my brain will do right this second. :) 22:58:18 oh, I accidentally came across the answer in the appendix. It uses logic :_/ 22:58:25 What is it? 22:58:36 : direction dup if 0< 1 or then ; 22:58:49 Well that's got a branch in it. 22:59:19 It can be done without one, as I've shown, but I'm sure somewhat better than that. 23:00:13 dup if ... then certainly reads better than my dup 0= ?exit ... 23:00:28 Yes, no solution containing ?exit looks optimal to me. :) 23:00:40 Did you try mine? 23:01:53 Here, one improvement: : direction dup 0> 2* swap 0<> xor ; 23:02:38 very nice :-) 23:03:28 Still six words, but no branch. I have a suspicion it can be done even more succinctly. 23:03:55 And of course the usual meanless caveat about two's-complement. 23:04:12 0> is worse than 0< 23:05:12 because...? 23:05:28 0< tests for one bit. 23:05:58 How 0> is done on yours CPU, I don't know. 23:06:10 if you reverse it , as DUP 0<> SWAP , you might cheat with a CODE word. 23:06:10 ...your CPU... 23:06:36 : direction foo 0> 2* xor ; 23:09:57 : direction dup 31 rshift negate swap negate 31 rshift or ; also works, but it's ungodly long. 23:11:05 Ok, I've got a winner, five words long. 23:11:23 : direction dup 0< swap 0> - ; 23:11:27 Give that a spin. 23:13:10 Yup, that one looks like a keeper. 23:13:45 I like it. 23:14:08 Depends on true being -1, but that's not a dangerous bet. 23:15:05 I'd also call it sgn or somethng similar, but that's just habit. 23:15:11 I would name it "sgn" or "sign" and changed "0<" with "0>". 23:15:25 You can't do that to the last version. 23:15:38 And sign is already a standard word. 23:15:43 No word exchange, sorry. 23:15:49 ? 23:16:15 ASau meant to say 'exchange' instead of 'changed'. 23:16:23 I'm still lost. 23:16:32 Well. 23:16:52 I'd name this word "sgn" or "sg". 23:17:00 That part I figured out. 23:17:01 Final wording. 23:18:33 --- join: LOOP-HOG (n=jason@66.213.202.50) joined #forth 23:18:41 And as a bonus it's five words, the one in the appendix was 6. 23:20:56 the benefit of the appendix word is only that it doesn't rely on two's complement , but, pre-ANS, I wonder if that would've occured to anyone anyway. 23:21:13 I'm surprised it occurs to anyone now. 23:21:36 There were probably more oddball systems in those days. 23:21:47 there was a window of concern, say :-) 23:21:58 Like one of those little windows that comes with a box of Lego. :) 23:22:11 time for me to tuck in. Good night Quartus, ASau. 23:22:15 Goodnight. 23:22:26 Good night, ayrnieu. 23:23:50 Sometimes I convert boolean values to old-style flags with 23:23:59 : >? 0<> abs ; 23:24:13 For what purpose? 23:24:33 For example, it is useful in UNIX scripting: 23:24:45 : script catch >? (bye) ; ( Gforth ) 23:24:50 Surely : >? 1 and ; is a lot better? 23:25:28 Or if you want to convert any true value, not just a properly formed one --- : >? 0<> 1 and ; 23:25:48 "abs" is one word. 23:26:07 But multiple instructions. 23:26:14 Slower. 23:26:18 No, it's one instruction. 23:26:36 In what way? 23:26:58 In x86 CPU. 23:28:20 How many cycles compared to a binary masking? 23:28:46 I know there's a way to do a branchless ABS, but it's not particularly brief. 23:30:15 Either a compare and branch, or four instructions or so. 23:31:21 I'm no expert in x86 instructions, though, perhaps it's faster there. 23:34:56 Ok, ASau, this conversation has become a bit one-sided :) Goodnight. 23:59:59 --- log: ended forth/06.07.04