00:00:00 --- log: started forth/06.08.17 00:06:01 --- join: segher_ (n=segher@dslb-084-056-135-107.pools.arcor-ip.net) joined #forth 00:13:13 Hi segher_. 00:19:02 --- quit: segher (Read error: 110 (Connection timed out)) 00:25:11 --- quit: Quartus__ ("used jmIrc") 00:25:27 --- quit: juri_ (Read error: 54 (Connection reset by peer)) 01:18:52 Just guessing but ans forth (gforth in my case) doesn't provide a random number function no? 01:19:31 duno specifically 01:20:06 require random.fs looks promising however... 01:20:44 kk 01:23:33 Quiznos: Are you familiar with perl? 01:23:48 not really, join ##Linux for that pls 01:24:10 What an unusual canned response. 01:24:20 heh, it aint canned ;) it's bottled 02:08:38 --- join: Cheery (n=Cheery@a81-197-20-242.elisa-laajakaista.fi) joined #forth 02:12:06 What would it take to get arrays into forth, can someone tell me how to forget the C array, because it's driving me nuts with the ridiculous pointer arithmetic. 02:12:41 I just want to say a[100][30] but I have no idea how to do that in less than 100 characters. 02:13:46 I mean forth is good at abstracting how do I abstract xt *a[100][30]; where xt is an execution token. 02:14:24 You would never see an array of 3000 functions in C though hehe. 02:15:30 forth arrays are just sequentially adjacent vectors of cells or bytes (ie, strings) 02:15:41 the [][] is just addition to the base address 02:16:07 there is array code at Taygeta to study 02:16:23 Do you have a link? 02:16:25 allocate memory for the vector and populate 02:16:28 taygeta.com 02:16:33 also good would know for sure 02:16:45 google 03:00:15 Have I asked enough questions tonight? 03:01:40 I've got another, what is a good word for assigning a bunch of pointers to every N-th interval of memory alloted? 03:02:02 Just opinion and taste really... 03:02:51 umm 03:03:05 pigeon-hole? 03:03:16 Ooh, I like that one. 03:03:18 i'm seeing several things of that 03:03:24 look at these first 03:03:29 It's better than my obj2mem name. 03:03:39 pan (as in stirring a pan for gold or food) 03:03:51 tilt 03:04:13 wipe (as with the back of your hand on a pool table 03:04:21 or swipe 03:04:26 I don't get it. 03:04:44 play pool and try to clear the table of the balls 03:05:07 that movement with your hand is called swiping 03:05:22 for a non-public word, i like pan 03:05:25 The hand movement is too random though. 03:05:48 I was thinking something a bit more organized, like pigeon hole or waspnest. 03:05:57 oh, what's the name of that centrifugal "game" where you have to get the little balls into one hole and 03:06:07 crossfire? 03:06:13 you can only do it by spinning the little box that the balls are in 03:06:27 it was shown in a movie with Matthew Broderick 03:06:31 i think 03:06:43 Not sure. 03:06:55 tilt is a good word for the visual action 03:07:08 go with "pan" then 03:07:16 or pigeon-hole 03:07:34 the ``nth'' part of your query brought that to mind 03:08:42 I stumbled across an article on the net the other day that talked about a programmer when he first started working professionally, he was like, "After my coworkers threatened my life over naming incrementer variables things like dracula and coco-puff I decided i, j, and k would work." 03:08:56 lol 03:19:24 I just love the simple build up a line at a time approach of forth, C's subroutines were just to much for me, for that matter any other language also. 03:20:02 Really lisp's nature is nice although they don't use rpn, instead they use ))))))) 03:20:16 --- quit: Cheery (Connection timed out) 03:21:08 true, its veru condicive to actually thinking ;) 03:23:10 --- join: Cheery (n=Cheery@a81-197-20-242.elisa-laajakaista.fi) joined #forth 03:33:31 --- join: nighty_ (n=nighty@sushi.rural-networks.com) joined #forth 04:31:05 --- quit: nighty (Read error: 113 (No route to host)) 04:41:33 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 04:41:42 virl!!! 04:42:24 Quiznos!!! 04:42:37 do you use the fasm asm'er? 04:43:50 ehm, no I don't 04:43:54 kk 05:05:41 hullew, i'm a Quiznos and i'm writing a forth kernel. 05:06:20 --- join: PoppaVic (n=pete@0-2pool238-111.nas24.chicago4.il.us.da.qwest.net) joined #forth 05:08:29 with nice funky features 05:08:48 where? 05:08:58 actually, i'm building up the vm part 05:09:13 and adding cell value checking to it 05:13:27 what are the two usual branch word names? 05:13:32 branch and what? 05:13:45 qbranch? 05:14:01 that must be new 05:14:08 isnt there a branch0? 05:14:14 help if I knew what you wanted. 05:14:32 i need to add the branch words for the conditional words 05:14:41 like if 05:15:08 there are relative branches, absolute branches, and an alternate is to have a 'qbranch' that is conditional-branching 05:15:21 oh, the high-level?? 05:16:23 ok, i'll grep the ans and some src 05:17:28 I think the # of primitives is a _lot_ lower than the number of hi-level words (secondaries) that use them. 05:17:38 this is true 05:19:23 Quiznos: I believe you might find that ans is not going to even suggest the "implementation" (asm-level) primitives 05:19:59 yea taht i know; i've got the eforth src open too 05:20:06 ahh 05:20:12 they're trivial words tho. so, nbd 05:37:02 --- join: timlarson_ (n=timlarso@65.116.199.19) joined #forth 05:49:28 PoppaVic does : branch IP@ IP! ; make sense? 05:49:43 that's a secondary? 05:50:02 it would be a : word manipulating the vm 05:50:07 hmm 05:50:24 well, maybe it does to your vm? 05:50:30 yea ok 05:51:05 ax = TOS, and si is IP 05:51:18 bp -> RP, SP = SP 05:51:23 doesn't help me any, of course ;-) 05:51:26 ok 05:52:09 Also, recall that even "registers" is an oddity that varies between machines. 05:52:40 true but i'm not writing to be platform portable. 05:52:45 just within the family 05:54:06 actually, I was thinking about that too - sub "engine" for "machine" 05:54:26 oh you mean the vm? 05:54:30 yah 05:54:33 gotcha 05:56:01 i think by using ax as tos, it makes certain words easier to code 06:05:08 wow.. 06:05:24 Quiznos, your forth will be a ANS thing? 06:21:16 --- quit: PoppaVic ("Pulls the pin...") 06:33:36 --- join: juri_ (i=[SOka6qR@volumehost.com) joined #forth 06:39:12 --- join: PoppaVic (n=pete@0-1pool47-220.nas30.chicago4.il.us.da.qwest.net) joined #forth 06:48:07 Any luck, Quiznos ? 07:43:07 --- quit: juri_ ("leaving") 07:43:37 --- join: juri_ (i=[AV3BlTm@volumehost.com) joined #forth 08:04:14 virl not intentionally, but only sofar as i'm comfortable. 08:04:30 i'm not strictly anti-ans 08:04:54 but i'm not going to stand in the way of making a kernel/sys that east to port to. 08:05:11 east/easy 08:06:49 --- join: rabbitwhite (n=roger@136.160.196.114) joined #forth 08:08:28 hey 08:08:40 he 08:08:44 y 08:14:38 lots of people 08:17:50 noone talking 08:18:00 yep. 08:18:00 whats everyone working on? 08:18:12 At least here, people answer questions. Unlike the fscking twits in #samba, or #cygwin. 08:18:26 oh 08:18:29 wish i had a question :) 08:18:40 lets see.. 08:18:53 i'm presently bickering with a PHD over my optimizations to his C program. "waah! your optimizations are obfuscating my research code! wheres your PHD?" 08:19:32 damn 08:19:43 i had a run in with an assembly programmer who tore up my code 08:20:06 but, as it turns out, i realized that some (most) of his advice was valid 08:20:45 i dont think its possible to obfuscate C 08:20:53 You youngsters, today. You think you know everything, and just because we've been doing it longer than you've been alive, you think you still know more than us. 08:21:29 uh, how old are you? 08:21:40 Dude. You don't think it's possible to obfuscate C? Have you ever looked at any C code? 08:21:43 lol 08:21:45 40-something. 08:22:08 juri_ [wah] lol 08:22:28 k4jcw lol 08:22:45 does anybody realize what i meant? 08:23:13 wait wait 08:23:20 ok, limitations of text 08:23:25 i meant ... "any *further*" 08:25:22 * PoppaVic sighs 08:25:37 What I miss, doing groceries and debating shopping and politics? 08:27:23 ok change xt 08:27:23 i meant ... "any *further*" 08:27:25 whoa 08:27:47 * rabbitwhite shouldnt be allowed to use irc 08:27:53 heh 08:29:21 so has anyone gotten a programming job through intellasys? 08:30:22 not i 08:30:32 * Quiznos sniffs 08:30:38 did you submit a resume? 08:30:53 to them? 08:32:10 nop 08:34:21 ok random change of subject 08:34:26 k 08:34:35 works for me ;-) 08:34:36 this is for the room 08:34:48 * PoppaVic thought we'd beat C ;-) 08:34:49 anyone use blocks and define words to access them 08:34:53 i smell an head-hunter 08:34:57 like 08:35:04 : word x load ; 08:35:07 or x constant word 08:35:13 or even : word x y thru ; 08:35:14 rabbitwhite what do you want? 08:35:21 :) 08:35:38 oops, did i let the cat out of the hat? :)~ 08:36:11 i'll be implementing blocks as a foundation in my kernel 08:36:24 or i'll just copy someone's source code 08:36:25 my GC forth uses blocks 08:36:31 cool 08:36:41 and i just wanted to learn about this technique 08:36:50 what tech? 08:36:56 that is ... from seasoned, wizened forth programmers such as k4cjw ! :) 08:37:03 what i just mentioned? 08:37:40 defining blocks behind words 08:37:45 gc, or blockage 08:37:46 ah 08:40:49 should i give it 20 minutes? 08:40:51 hmm? 08:41:01 for an answer 08:41:04 what I miss, talking groceries and menues? 08:41:08 one builds blocks from the bottom up 08:41:40 At some point, you take your "primitives" and need to start a "searchable vocabulary" 08:41:56 ..trust me, I've been avoiding it with other issues 08:42:29 what are you TALKING about?? 08:42:40 otoh, you CAN start with building "headers" and reference "primitives" 08:43:11 what in the world? 08:43:15 Quiznos: blocks? bottom-up? wtf is *he* talking about? 08:43:21 what does this have to do with my question? 08:43:43 rabbitwhite: please repost - rephrased.. The wife just left the goddamned room 08:43:54 i duno Vic 08:44:20 Quiznos: trying to talk, and handle the Family Issues... It was getting ugly. 08:44:34 PoppaVic he wrote `blocks behind (i read that as "after") words' 08:44:40 PoppaVic i noticed 08:44:58 all i wanted to know were the circumstances under which other people have "named" their blocks by defining words in the auto-load screen (in standard block 1) 08:45:02 Quiznos: It looks like Mom is not going to be here for Christmas. 08:45:08 ok 08:45:18 "named" FILE-blocks?? 08:45:21 that's a long time to go home 08:45:28 what?! poppavic, come on. 08:46:07 rabbitwhite: if yer talking about "named file-blocks", fine - they are CONSTANTS. 08:46:18 ... 08:46:24 if the filepathnamespec is an issue, that's ANOTHER constant 08:46:34 someone else?? 08:46:42 why you'd want all these things drifting out in the open is beyond me 08:46:45 a named-block's value is the number of the block that the code sits on 08:47:19 * rabbitwhite is speechless 08:47:27 why? 08:47:51 because, you guys have obviously ignored the examples i already posted about a page up in this channel 08:48:06 my question wasn't HOW to do it 08:48:10 how big is a page? 08:48:17 it doesn't matter!!! 08:48:35 wel, `thru' is familar 08:48:44 so?? 08:48:55 you know forth right? 08:48:58 yes 08:49:03 a page is not a block 08:49:14 heh, an irc page length 08:49:31 a 'thru' is not a list, address or any other fucking thing: it's contextual. 08:49:50 thru is a looping word for load 08:49:51 if you mean "the word" - THAT tells you what you want 08:50:06 Quiznos: yeah, I recall it. 08:50:13 Leo defined it 08:50:25 who's leo?? 08:50:37 Quiznos: maybe rabbitwhite is redefining it? 08:50:41 Brodie, author of _thinking forth_ 08:50:45 RE-defining it?? 08:50:52 also of "STarting Forth" 08:50:53 PoppaVic i dont think he is 08:50:53 i have the book 08:50:57 good 08:51:00 great. 08:51:13 but i didnt use his definition, if that's what you're talking about 08:51:17 why would i?? 08:51:19 So, a "page" is not a "block" - a "block" is not a file. 08:51:23 oh. 08:51:30 poppavic are you insane 08:51:40 rabbitwhite: yer pushing me there, yes. 08:51:48 PoppaVic "page" was my reference to his referal to code he wrote a few mins ago 08:51:56 ahh 08:52:21 rabbitwhite: what are you using, where, and what is your goal. 08:52:24 PoppaVic go outside for a few mins :) 08:52:34 get some air or smog or whatever :) 08:52:49 ok, I'll spin back to C and then my code - holler 08:53:10 later 08:53:53 all i wanted to know was why and when people used this general technique. 08:54:16 shorthand, rabbitwhite 08:54:19 blocks are for when one doesnt wnt to use the host-os' 08:54:21 oops 08:54:26 quiznos 08:54:30 blocks are for when one doesnt wnt to use the host-os's file system, or 08:54:31 i programmed a native forth for the gamecube 08:54:35 ok 08:54:49 i have been using blocks since ... about march 08:54:54 why are you explaining what blocks are to me 08:55:00 Very few folks deal with block-files anymore.. If they do, it's usually for a form of "database" 08:55:08 poppavic! there are no files! 08:55:33 if there are no files, there is no issue. Now.. "What is a 'block'?" 08:55:42 are you asking me? 08:56:00 how old are you? 08:56:02 rabbitwhite i think the difficulty we're having is that we dont know what your context is in asking about blocks 08:56:04 Quiznos: really, this is just useless. 08:56:14 rabbitwhite age is irrelevent; i'm 4 ;) 08:56:20 not it isnt! 08:56:24 ok 08:56:27 poppavic strikes me as a name an older man might use 08:56:32 i was just confirming my suspicion 08:56:35 so what? 08:56:39 it doesnt matter 08:56:55 yes it does 08:56:56 interpersonal skills are not limited to inteligent people :) 08:56:58 heh 08:57:05 rabbitwhite: look, in forth a 'block' is a 1K stretch of mem that reflects a PART of a file.. Now, wtf are you talking about? 08:57:33 Quiznos: I wasn't raised to give them a "time out" - I believe in carrots and clubs ;-) 08:57:34 poppavic ... congratulations, you know what a block is ... 08:57:51 PoppaVic ah 08:57:59 rabbitwhite we all know 08:58:00 you just told me it wasn't a goddamned file 08:58:22 well ... 08:58:28 well my ass 08:58:33 you could say it is a file, but my Forth doesnt have a filesystem 08:58:40 I asked you to rephrase & clarify 08:58:55 I could say it's the fucking MOON and be more clear 08:59:06 rabbitwhite, if I understand your question, the examples you gave are just shorthand techniques. 08:59:20 Quiznos: is he asking about RAM buffers? 09:00:00 blocks are or can be in-ram only or loaded from a storage device 09:00:35 quartus ... i know that, but i also know that they are also used to enable a user to move components around without affecting other components 09:00:35 are we back to "what size and where from"? 09:00:40 poppavic just dont talk 09:00:58 rabbitwhite ah hah! more detail! 09:01:02 ok... umm 09:01:02 rabbitwhite: then ignore me, fuck yah 09:01:17 PoppaVic yea, "size matters" 09:01:20 heh 09:01:41 rabbitwhite, I'm not sure I follow. 09:01:49 rabbitwhite just define the required words and let the user worry about "transhing blocks" 09:01:51 Quiznos: naahh - technique should matter more, butt.. "mine is bigger than yers!" is common 09:02:02 heh 09:02:11 mine is simpler than yours 09:02:14 i'm not going to persue this question any fruther 09:02:17 bahahahaa 09:02:17 *further 09:02:21 farther? 09:02:22 Quiznos: I like that, too 09:02:28 quiznos: WHATEVER!! 09:02:34 yea yea sure sure 09:03:45 Quiznos: so, the insanity was his... I feel better. 09:04:01 lack of proper DBU i think 09:04:06 lol 09:04:19 what is dbu? 09:04:22 * Quiznos sighs that the presure is off me 09:04:26 ``define before use'' 09:04:32 a commone feature of languages 09:04:35 one/on 09:04:39 It's almost funny, but you have to wonder wtf they are learning from and to do.. 09:05:04 well that's that new fangled 100 year old "public ejumacation" religion 09:05:05 :) 09:05:14 actually, bout 130 years now 09:05:16 what are you talking about 09:05:37 nuttin in general 09:05:42 Quiznos: worse, they seem to (sometimes) pay for school, or they read, and they never learned some basics. 09:05:54 that's the porpose 09:06:02 wait ... does this have anything to do with me 09:06:28 inteligent people get really bored and fidgity doing work than can be auto-reptetitive 09:06:32 rabbitwhite nop 09:07:07 wow, ok. 09:07:52 ristmas. 09:07:52 ok 09:07:53 rabbitwhite stay and loiter and figer out who each of us is 09:07:54 uhkj;c\ 09:08:04 huh? 09:08:18 figure out who you are? 09:08:21 be a regular visitor here 09:08:29 Quiznos: are they still promoting "starting forth" as the textbook for forths? 09:08:39 wouldnt know. 09:08:48 ...is there nothing more than getting to "thinking forth"? 09:08:48 it is posted online tho 09:09:17 I think there are a whoole lot of issues going on 09:09:28 in what? 09:09:40 learning about forth(s) 09:09:48 ah 09:10:14 it can be a deprogramming of sorts to those who learned other languages first 09:10:28 I can understand taking some expectations to the the "forth-table", but sheesh- it doesn't reflect. 09:10:42 i learned Forth early on before really knowing basic on a ][+ 09:10:58 yeah, my background was mixed even worse 09:12:25 I do keep chuckling, when I think of all the anti-C screams and lack of a purely "asm" or "forth" or "lisp" OS that is also "portable" ;-) 09:12:46 asm cant be in that list 09:12:53 well, at least we had CP/M ;-) 09:12:58 heh 09:13:30 Quiznos: sure it can - there *IS* no "asm" - there are umpty Asm for umpty platforms and umpty machines. 09:13:53 yea 09:14:15 It's almost hillarious, after awhile of hearing the screams. 09:14:42 wear earplugs 09:15:02 Nah, after awhile, it triggers the pleasure-centers 09:15:11 lol 09:15:17 sadistically? 09:15:23 yeppers 09:15:34 i wouldnt know about those 09:16:23 Quiznos: well, there has been plenty of time to see "the alternative" - and frankly, they don't exist. - and folks then STILL layer stupidly. 09:17:04 alternative is usually just based on incorrect opinion tho 09:17:25 that's fine - so "show me" - don't berate me. 09:17:58 ok 09:18:20 basically, every platform= N-cpu+devices+Extensible OS, etc.. 09:19:58 In the last... oh, 30 years: I have yet to see a collection of fanatics write a forthish or asmish platform and supports that will work all over - it's a hellish issue, but everyone sees their unique tools as Right. 09:20:56 And, most of the screamers have some ONE axe to grind - or a job to do. 09:22:53 Quiznos: anyway, the time is ripe, and folks are screaming all over - but there are still no real solutions.. SOOOoo, we just "deal with it". 09:22:57 well, the net is for agregrating all stuff; it's quite congruent to what John Smith wrote in his _Wealth of Nations_ in 1776 09:23:14 when he referred to the "invisible hand of God" 09:23:21 bahh 09:24:05 Quiznos, take it over to #icantstoptalkingaboutjesus, will ya? 09:24:09 God has no issue here. Some clown coded the cpu, the bios and another plugged in the devices. 09:24:31 well, if you cant see "it" that's not my difficulty 09:24:39 hehehaha 09:25:24 Quiznos: if I want god-speak, I'll talk to Ma' - She's heading that way to the exclusion of bathing and eating, for cripesakes. 09:25:47 yea well, lack of proper speaking will do that to everyone. 09:25:55 Meanwhile. Someone sets a machine in front of you - and you need to program it. 09:26:09 just tell me the specs 09:26:15 bah 09:28:19 Quiznos: we were BELOW the specs, into the does/reports shit. And you are still thinking of multiple specs for multiple asm and multiple os and multiple "machines" 09:28:49 not me, but everyone has to translate from cpu to cpu when writing asm code 09:28:52 A mechanic is not really an engineer. 09:29:03 we're called geeks 09:29:07 I like to compare them, but that's just "reality" 09:29:18 Not the one *I* live in. 09:29:38 Quiznos: WHY does all this 'translation" take place? 09:29:59 bc no two or more people think alike except on the macro level 09:30:22 but not withstanding that, agreement happens 09:30:30 ahh... So, you ain't seen enough pain, or you've had too much pleasure. Got it. 09:30:43 not applicable to mme 09:30:55 it certainly is 09:31:11 as you said so also is reality different than yours 09:31:19 there *IS NO "asm"* 09:31:22 as also evidenced by what Quartus just posted 09:31:48 Quartus and I disagree a lot, I don't much care in this context 09:31:54 sure there is; it is someone's interpretation of what the textual representation of the machine code should look like 09:32:33 ahh.. Not tight enough.. And remember how forths work versus "shells" and "processes" and "filters". 09:32:41 afa C is concerned, it's supposed to be a high level assembler with a better symbol table 09:33:19 Quiznos: C'ers flame me for that all the time, but I tend to think yer more right then they are. 09:33:42 and there have been several attempts to genericise asm text and symbology going back decades 09:33:49 well, it is what C is. 09:33:50 Quiznos: think forths... think FFI 09:34:00 I tend to agree 09:34:10 ffi is interesting, perhaps i'll get to it 09:34:24 it's ugly and makes me want to scream 09:34:37 but it's got to be really simple when translated to or forthified 09:34:47 It's not. 09:34:50 dll via libdl is the same way for me 09:35:30 I think the final proofs are: lisp - preceeding Forth - just builds it's own binaries and ignores the system. 09:35:33 well, for what little i unerstand about ffi, it's all about fiddling with the function signatures 09:35:39 true 09:35:55 but it does do ffi and libdl from what i've seen 09:35:58 Quiznos: so, ask yerself WHY - at many levels 09:36:06 variety is the spice of life 09:36:10 and coding 09:36:25 I don't need spice in my code - only my chow. 09:36:37 Purina PoppaVic Chow 09:37:07 heh 09:37:37 If you can't visualize this, then try to visualize a uniform make/compile 09:37:49 Visualize Whirled Peas. 09:38:04 yeah, k: I already know yer a dit 09:38:10 --- quit: Quartus (SendQ exceeded) 09:38:29 heh 09:38:38 ok forth-mode: 09:38:43 anyway, time to start thinking about dinner... Tootles. 09:38:47 k 09:38:48 --- quit: PoppaVic ("Pulls the pin...") 09:38:48 --- join: Quartus (n=trailer@CPE0001023f6e4f-CM013349902843.cpe.net.cable.rogers.com) joined #forth 09:38:48 --- mode: ChanServ set +o Quartus 09:38:57 poppavic just left 09:39:00 for dinner 09:41:29 You mean "dinner", and that's "interpreted" because some people prefer "lunch" and can't "agree" on what a "meal" should be "called". 09:41:52 it's the word he used 09:43:43 What an astonishing load of nonsense. Between his incoherent blather and you trying to sell copies of the WatchTower, newcomers to the channel won't stay long. Congratulations on that, it's an effective deterrent. 09:44:29 You should change your sig to "go #forth and *" 09:46:01 Quartus your hatred is apparent and ineffective. I have NOT harmed you. you just hate the mention of our father in heaven and love and that's your difficulty, not mine. 09:46:43 Pal, it's flat out inappropriate for you to peddle your faith in this channel. Take it somewhere appropriate. 09:46:43 and btw, no one except PoppaVic has left and he's a regular. 09:46:54 you are not the boss of me. 09:53:01 No, but he is the op of the channel. 09:56:59 mememe! can i be the boss of everyone? 09:57:47 i'm a newcomer. and i dont even know forth yet. ;) 09:58:06 Have you had a chance to do any investigation along those lines yet? 09:58:29 yep. and reading channel traffic has been most enlightening, as well. 09:59:06 Good. Anything specific that caught your eye? 09:59:08 it dosent help that i started hanging out here right when i started working 80+ hours a week. ;) 09:59:44 yea. some guy's been coming in the last few days talking about image transforms in forth, converting a C program. i'm real interested to see what he comes up with. 09:59:48 sounds like a bad time to be starting forth ... 10:00:42 As I recall he's trying to learn Forth while also converting a C program; that's an unfortunate combination. 10:15:30 so, he's doing what i would be doing, if i had the time to do it. sucks to be... 10:16:49 It's always hard to attempt a translation that sort; laterally translated code from C to Forth is horrible, and it's harder to unravel it into decent Forth than it would be to write it in Forth to start with. So that approach makes the mountain considerably steeper to climb. 10:17:16 if it helps, the code i'd be converting was origionally writen in fortran! :P 10:17:31 Doesn't help, despite the first letter being F. :) 10:17:33 oh yeah, that'll help ;) 10:17:55 fortran.. forth... whats the difference? a few pesky letters, thats all. ;P 10:17:59 heh 10:18:08 doesn't Chuck condemn Fortran ? 10:18:26 I haven't heard him do that. He started with Fortran, if I recall his history. 10:18:44 i know, but i'd like to know what he thinks of it now ... 10:18:49 i actually found a bright gleeming spot in fortran, when trying to convert the code. fortran represented mathematic functions better than C does... 10:18:54 I don't think he uses anything but his own tools, not for years. 10:19:31 juri_, you might be interested to look at the formula translators available for Forth, they turn infix forumlas into RPN. 10:19:53 i think he should just jump in and start practicing 10:20:01 One is Julian Noble's FORmula TRANslator, another is Wil Baden's OPG (Operator Precedence Grammar). 10:20:43 rab: i'm insanely busy at the moment, so i'm just sorta a bystander. ;) 10:21:07 80+ hours of work, and optimizing a image recognition engine in my spare time... 10:21:22 eventually, i'll learn the language. :) 10:40:10 --- join: bronze (n=Lester@c-24-91-157-212.hsd1.ma.comcast.net) joined #forth 10:40:23 --- part: bronze left #forth 10:59:32 a bad time for learning forth? hmm, I tend to agree. Bescause I try to show it to other people and there are some interesting stumble stones, when you understand what I mean. 10:59:50 He means because she just started working long hours. 11:00:48 --- part: timlarson_ left #forth 11:21:35 oh.. 11:34:36 is it part of the ANS forth standard, that wordnames like HELLO, HeLlO or hello are all the same word? 11:35:10 No. Standard systems can be either case-sensitive or case-insensitive. All the Standard requires is that all Standard words be findable by at least their UPPERCASE versions. 11:36:37 So if a system claims standard compliance, you know that, for instance, DUP will work. dup may also work, but you can rely on DUP. 11:37:05 some standard 11:37:20 The ANS/ISO Forth standard. 11:38:22 well well.. then when I define a word Haha and then haha which do different things then this simple convention makes a forth program not portable. ehm.. really a good standard.. 11:38:46 thanks for clarifying my point for me :) 11:39:01 If you do that in a Standard program, you need to declare a dependency on case-sensitivity in the program. 11:39:43 and how does that look like? 11:40:03 In documentation provided with the program, often in the form of comments at the top. 11:40:27 aha.. ok.. 11:41:42 http://quartus.net/dpans/dpans4.htm#4.2 , note "- using lower case for standard definition names or depending on the case sensitivity of a system". 11:41:48 rabbitwhite, how is your stuff going on? 11:46:04 well i was inspired by reading and thinking about machine forth and seaforth and i realized my system's worldview was too complex so currently i'm in the process of going back and simplifying the language and fixing some issues to make the job of programming in the environment simpler 11:47:56 Quartus, so standard definitions = lowercase 11:49:00 rabbitwhite, what's your approach to flow control? 11:49:45 not sure what you mean. maybe you can help me understand by telling me what your approach is. 11:50:08 do you have ifs? loops? 11:50:13 virl, I'm not sure what you mean by 'standard definitions = lowercase' 11:50:52 only uppercase is standard 11:51:03 ok.. 11:51:25 For the Standard set of words, they must be findable in UPPERCASE. New definitions can be uppercase or lowercase; whether the dictionary search is case-sensitive is up to the implementation. 11:51:32 virl: yes for both 11:52:00 rabbitwhite, do you have something like this: 1 2 =if then? 11:52:12 no 11:52:42 so what do you have? 11:52:48 currently to do what you typed: 1 2 xor 0if drop ... then 11:53:32 hmm... 11:53:59 cool 11:54:03 but i'm interested in minimizing if's so i'm in the process of evaluating 0if 11:54:46 oops, i gotta change computers 11:54:50 (they want me upstairs) 11:55:20 back soon. 11:55:23 --- quit: rabbitwhite () 11:57:08 it's so interesting gforth, bigforth or kforth don't have something like case sensitive definitions. 11:58:00 --- nick: segher_ -> segher 11:58:05 Gforth has a facility for setting up case-sensitive wordlists. I think they're called tables. 11:58:27 Many modern systems are case-insensitive. 11:58:56 I assume that yours is also insensitive 11:59:21 Quartus Forth is case-insensitive. 12:00:09 it's imho a horrible fact. 12:00:53 so a beginner can write HELLO, hello or HeLlo and then ask himself why the hell always the same word gets executed. 12:01:28 it would be nice when the systems would cry about it and not let him pass. 12:03:48 and when I see the bigforth source then I get sick. when an experienced forth coder uses lowercase characters in a system which seems to make no difference between that then we have a problem. 12:07:14 same happens to gforth 12:07:16 poor 12:07:38 Some people, like you, prefer a case-sensitive system. Some don't. 12:08:24 --- join: rabbitwhite (n=roger@136.160.196.114) joined #forth 12:09:44 My strong preference is for a case-insensitive system, and I prefer the use of lowercase for Standard words. 12:09:50 --- join: Quartus__ (n=Quartus_@209.167.5.1) joined #forth 12:12:43 I don't like the idea that someone writes a program in forth with case-sensitive names for a system which doesn't support them, but lets them through and then a bunch of strange things happens. 12:13:27 sry, but I think ans isn't the solution 12:14:19 Once you give up ANS-compatibility, you can pretty much do what you want. Have at it. 12:15:08 so you think all Forth systems should be forced to be case-sensitive, because that's what you prefer? 12:15:22 lol 12:16:28 --- join: vatic (n=chatzill@pool-162-83-254-201.ny5030.east.verizon.net) joined #forth 12:16:31 he probably just means that he thinks a standard shouldn't leave certain things to whim 12:17:18 the standard leaves as much implementation freedom as possible, which is a good thing. 12:17:47 but i agree with virl that the case sensitivity allowance seems to create a problem 12:18:11 not that it matters much - i mean does anyone actually take advantage of the standard? 12:19:08 I'm with Moore on the idea that you should be able to read Forth over the telephone and have it understood. Using the same name differing only by shifted characters runs counter to that. 12:19:37 well what about context? 12:19:55 rabbitwhite, absolutely. Commercial Forth vendors do, Gforth does. I write code to run in multiple Standard systems. 12:20:06 ... no ... i meant in speech 12:20:21 i'm just trying to think of an example. 12:20:33 well, no wait, right there - the word "just" 12:20:46 has ... what, 3 different meanings - depending on how you use it? 12:20:54 I was responding to your question about anyone taking advantage of the standard. 12:21:02 ohh oops - lag 12:21:38 * rabbitwhite rethinks that ... maybe it wasnt lag just not putting things together lol 12:21:48 What does context have to do with the difference between JUST and just? 12:22:22 well, just and JUST sound the same spoken. 12:22:49 exactly my point. 12:22:57 no, that's MY point 12:23:17 just can mean 1)right/good 2)almost or 3)only 12:23:31 the only way you know is context 12:23:47 which has what to do with upper/lowecase? 12:23:49 ANS-Forth defines the context. 12:23:50 so, i argue that case insens. does not benefit spoken forth that much. 12:24:13 because, you're saying that just and JUST is a bad thing because they sound the same spoken! 12:24:34 dindt you just basically imply that by saying forth should be able to be spoken? 12:25:09 yes. There's no audible semantic difference, so case-sensitivity would impair the communication. 12:25:45 quartus. please don't take offense ... but, i dont want to lose respect for your intelligence. read or think again what i said about words having different meanings. 12:26:17 To paraphrase the Mozilla folks: We spell it "@", but we say "fetch". 12:26:59 rabbit, it's clear there's a gap in our mutual understanding, but frankly I don't have any concern for your estimate of my intelligence. If you'd like to discuss it without the attack, that'd be fine. 12:27:20 rabbitwhite: the same cased word may have different meanings in ANS-Forth, depending on the search order :-) 12:29:30 I, for one, would have prefered that ANS-Forth mandated lower-case instead of upper-case for systems that care about sensitivity but that represents my general aversion to using the shift key for programming language "primatives". 12:30:49 quartus, smart or not smart, i'll say my point - logically, since the word "just" can have 3 different meanings in spoken English, the fact that "just" and "JUST" can have their 2 different meanings in spoken Forth yet sound the same is probably not a problem because in the same way that a person can distinguish the seperate meanings of English "just" easily by context, i have a feeling that "just" and "JUST" could easily be distinguished by the fact th 12:31:10 be nice people. 12:31:43 and stop selling copies of the watchtower. religion and irc dont go together in programming channels. ;) 12:31:56 heh 12:34:09 who sells copies of the watchtower? 12:34:36 (i was refering to quizno's earlier religious content) 12:35:03 i'm sorry guys. i didn't mean to get worked up 12:35:16 arguing about case sensitivity is silly 12:35:41 and old :) 12:36:25 i'm sure *someone* agrees with me there .. 12:36:42 rabbitwhite, yes it's old and stupid. 12:37:17 today there isn't a relict like case insensitive programming languages. 12:38:12 virl: VisualBasic retains its case-insensitivity, but has a case-preserving editor. 12:38:15 in fact the trend for forth is toward case insensitivity. 12:38:33 well, that's nice 12:39:58 The primary issue with case-insensitivity comes from non-Western languages and UNICODE support. 12:40:26 You *can* do it, but it makes comparisons more compilcated. 12:41:29 I think case insensitivity is important in a system which supports it 12:41:43 it's completly pragmatic 12:43:49 On systems with enough resources, you can do whatever you like. 12:43:50 virl: but important for compatibility, which is why only uppercase is standard (for standard-defined words) 12:44:34 I understand why they chose upper case, but I do wish they'd chosen lower case instead :-) 12:44:47 ok, i am officially never going to talk about case sensitivity again. starting now. 12:44:58 discuss away, guys 12:45:16 Without our foil? Never mind :-) 12:57:28 --- quit: Snoopy42 (Read error: 131 (Connection reset by peer)) 12:57:29 I think everybody should write their programs in whatever they want. so I think it's stupid 12:57:59 --- join: Snoopy42 (i=snoopy_1@dslb-084-058-107-141.pools.arcor-ip.net) joined #forth 13:01:54 and btw. who dictates his program over a telephone? 13:03:09 i haven't done it yet.. but i can see it. especially if i were working on a team project remotely. 13:04:18 maybe moorse code is the solution 13:04:38 "moore"s code 13:04:42 get it 13:08:44 sry, but I disagree 13:08:57 with my moores code? 13:09:15 yeah or morse code 13:09:41 actually, i've done a lot of one-liners over the phone. 13:09:46 wow, tough crowd.. 13:10:10 Badump bump! 13:10:27 juri youve worked in forth team projects? 13:10:59 @treyb thank you 13:12:34 nope. i dont program in forth. :P 13:12:41 rabbitwhite, she can't when not coding in forth 13:13:01 juri_, so which one liners did you? =) in which language? 13:13:07 i've written good one-liners on the phone in shell and C. ;) 13:13:17 god, i forgot she was the one learning forth 13:14:08 interesting she did one liners in languages which support case-sensitivity oh my god! she can't be right.. *sarcastic* 13:15:20 yea, but i didnt use case sensitivity in the one-liners. ;P 13:17:11 but you don't wrote them in uppercase.. 13:18:09 Is it just me or is gforth buggy? 13:18:33 Depending on the order that I name words it seems as though they get forgotten. 13:19:01 perhaps.. 13:19:03 *the terminal*:42: Undefined word 13:19:26 --- part: Cheery left #forth 13:21:56 Ah, the problem seems to be with defining words then calling words then defining more words. 13:22:38 The memory alloted seems to disappear when you call words... 13:22:44 That's odd 13:24:29 Now it's forgetting another variable, has anyone had any problem with this? 13:28:12 dictionary lookup in gforth has never had a bur report, as far as I know. If you're getting 'undefined word' errors, odds are good the words are undefined. 13:28:28 Bug report, rather. Sorry, mobile keyboard. 13:29:21 Quartus__: It's 100 % reproducable... 13:30:39 ok. That doesn't make it a bug in the compiler necessarily. Can you paste the relevant code? 13:31:02 I just put the executable code after all the definitions and the definitions that are in the SAME order when the executable is in between them as it is when the executable is after them it will forget or not. 13:31:53 Sure 13:31:58 Let me sanitize it 13:32:16 I don't know what you mean by executable code vs. definitions, here. It would help to see the offending code. 13:34:00 Hold on isolating it to just one small segment of code. 13:35:38 there's a pastebin at http://retroforth.net/paste 13:36:17 --- quit: Quartus__ ("used jmIrc") 13:36:59 --- join: Quartus__ (n=Quartus_@209.167.5.1) joined #forth 13:37:10 what did I miss? 13:38:06 nothing 13:39:00 this client times out if I go out of radio-communication range for more than a minute. Annoying. 13:39:49 http://retroforth.net/paste/ 13:39:55 http://retroforth.net/paste/?id=138 13:40:42 The ^^^^ should point underneath defos 13:40:59 Not abc_per_defo it must have been misaligned when I pasted it. 13:41:48 that code is nothing short of bizarre, AI. You're coding by ticking words and copying the xts into memory? 13:42:22 Quartus__: xt's are no different than function pointers... 13:43:09 They occupy one AU, they should operate just the same as any other word or integer. 13:43:32 True as that may be, you're doing what you're doing in the hardest possible way. I suspect at some point you're overwriting critical info, and thus gorching the dictionary search, but I'll need to unravel this to figure that out. 13:43:39 Now if you put the "' mod ' + ' - ' * ' / ' noop ' dup ' drop 13:43:39 fillabc" at the end the bug is gone. 13:44:09 Quartus__: Nothing is hard, it's actually very easy in forth to accomplish what I want. 13:44:23 I would have used lisp but even there it is more difficult than I want to use. 13:44:37 C or any other language would be near impossible. 13:44:51 I'm serious, you're doing this the very hardest way possible. 13:45:01 Quartus__: Do you know what I want to do? 13:45:44 Overall, no. In terms of what that snippet represents, you can achieve that far more simply. What is your grand design? 13:45:52 That is a rhetorical question, I'm asking it because you're making simple minded dogmatic statements that have no support. 13:46:17 wow. you people need a babysitter. 13:46:32 Quartus__: Actually no it can't and secondly I can't really discuss it because it's not a public program. 13:47:00 ok AI. Good luck then. 13:47:07 Thanks 13:47:19 Tell me when you fix the bug. 13:51:21 XT's take a cell, you've only allot'd 8 bytes. 13:51:26 is it possible that's meant to be a lookup table? 13:51:55 8 cells constant n_abc 13:52:27 fillabc then stomps on the dictionary, as Quartus__ said, removing your ability to find it. 13:52:38 if it's a table of xts you want, simpler is: create foo ' mod , ' * , ' / , etc. 13:53:16 Quartus__: That requires too little effort :-) 13:54:02 , is the word and concept you want. Writes a value to HERE and increments HERE past it. 13:58:41 the ability to quckly lay up data structures like that (with create and , and friends) is one of Forth's strengths. 14:01:32 it really shines when you use that facility to compute values at compile-time. 14:13:13 here's equivalent code to create and populate abc: http://retroforth.net/paste/?id=139 14:13:51 hopefully I got all the xts there, I'm working on a tiny gadget. 14:16:04 so you can eliminate fillabc, and also the allot for it. I see in your code that you need cells as a multiplier for your allots, or as Trey says, only address units are allotted. 14:16:39 cells in gforth are 32-bit, four bytes, so cells is an equivalent 4 * operation. 14:41:27 treyB, your nick is familiar for some reason. 14:44:36 oh, ex Palm/BE, right? 14:44:38 --- part: rabbitwhite left #forth 14:47:11 Right. 14:49:14 I left PSI and got a job integrating a forth interpreter into a statistics/data-gathering package for cell phones. 14:49:34 neat. 14:49:35 They actaully *pay* me to write forth code :-) Suckers. 14:49:55 good times. 14:50:00 I'd have done it for fun :-) 14:50:02 Can you go into more detail? 14:50:12 heh. Keep that quiet. 14:50:17 I.e, does the package actually run on a phone? 14:50:34 Or why would they choose to integrate a Forth interpreter into the package, rather than writing the package in Forth? 14:51:29 The package gets integrated by the phone manufactures to instrument the handset for all kinds of data collection: app usage, signal strength, etc. 14:52:11 The forth interpreter lets us build dynamic, customizable filters to streamline the data collection process. 14:52:26 do they actually publicize that it's Forth, or is it called something else? 14:52:45 And it's actually running on the handset? 14:53:51 The current product doesn't use forth. Future versions will. Neither the user of the package nor the handset owner will ever see the forth code. Our applications guys will use it to tailor data collection for various products. 14:54:20 k4jcw: Yep, it actually runs on the handset. 14:54:27 Very cool. 14:54:57 I'd like to get paid to write a Forth app like that. 14:55:04 Of course, I'd like to be taller, better looking, and rich, too. 14:55:08 Lucky somebody there had the smarts to go with Forth, and not some of the uglier embedded options. 14:57:44 We have footprint requirements and the desire to compile code on the handset. Not many other languages fit the bill. 14:58:22 Still, I've known managers who would have tried hard to find another way, pre-compiled byte-code or something equally onerous. 14:59:50 On gforth's case-sensitivity, I've never used 'table' before. If used instead of wordlist, the wordlist is case-sensitive. Neat. 15:01:46 RetroForth is case-sensitive, but the ANS layer has an enhancement that crc helped me with -- if a word isn't found, the all-lowercase version of it is tried before giving up. That way I can implement all the standard words in lowercase, and they'll still be found if specified in UPPERCASE. 15:02:15 But the system is still case-sensitive, which is pretty neat. 15:03:17 Interesting. 15:03:26 * TreyB has to bail for a grocery store run. 15:03:35 later! 15:13:08 good evening 15:13:15 Hey. 15:17:01 What's up? 15:17:04 While we're on the subject of case (in)sensitivity, my newbie question is whether the insensitivity should be located in the FIND word. 15:18:01 vatic, FIND uses counted strings, so generally there's a sub-factor (find) or sfind (Gforth's name). That one takes c-addr u strings. That's where the name-matching would go, whether insensitive or not. 15:20:06 Quartus: OK, but what one is aiming for is case sensitivity, except for dictionary lookup, which should be insensitive? 15:20:06 Some of the old Forth interpreters used some variant on 'BL WORD FIND' in the interpreter; the modern approach is 'parse-name sfind', avoiding copying the parsed word into a separate buffer. 15:20:46 vatic, I've only been talking about case-(in)sensitivity as regards dictionary lookup. Are you talking about it in some other context? 15:20:50 Quartus: leave it to me to be using the old BL WORD FIND! 15:21:12 The parsing approach is a bit faster, as you don't spend time copying the word. Both work, of course. 15:22:38 Quartus: Sorry, I haven't thought through all this yet, so maybe my question is premature. I guess there isn't any other kind of insensitivity besides dictionary lookup, no? 15:23:22 Well, there's string matching and searching -- COMPARE and SEARCH, for instance, but those would be character-by-character, I'd be alarmed if they weren't case-sensitive. :) 15:23:36 Quartus: I guess what I'm trying to say is a design goal would be to preserve case, but lookup is case insensitive? 15:24:07 I recommend keeping the dictionary names in their original form, so they display the way they were entered (with WORDS or what-have-you). 15:24:18 Quartus, TreyB: Thanks 15:24:24 --- quit: Quartus__ ("used jmIrc") 15:24:26 Cleaned up my code 15:24:59 AI_coder, I hope it helped. The code seemed a bit less bizarre to me when I realized it was probably a lookup table. I thought initially you were building an executable word that way, which would indeed be odd. 15:27:02 Quartus: so someone creates a word called "FooBar." Then a search for "foobar" should find "FooBar"? 15:27:22 That's what a case-insensitive system would do. 15:27:33 Also FoObAr and FOOBAR would match. 15:28:08 In Quartus Forth, even fOObär would. 15:28:48 (that's an umlaut, in case it didn't come through that way, I'm never sure on irc) 15:28:55 Quartus: yes, I should just try this out. Anyway, didn't mean to step on your conversation with crc.. :-) 15:29:04 No worries. :) 15:29:05 Quartus: UTF8 here! 15:29:30 Remind me of the UTF8 spec -- accented characters at all? 15:29:58 Quartus: Yup. 15:30:51 In Quartus Forth I have a lookup table that maps upper, lower, and accented versions of all chars to each other, that's used twice for each character during the (find) string-compare. 15:32:22 It's an optimized compare, matches lengths first, exits on non-match without returning a value of any kind. Fast as possible. 15:32:48 Quartus: ah, so you do it with a lookup tablekup table... 15:33:05 Yes, fastest way. 15:33:13 if you always do this case-insensitive match, you can store the names as filtered; only requires one lookup per char per find 15:33:31 You can, but I prefer that WORDS show the actual spelling the developer used. 15:33:49 you can use the filtered version in the hash only, too 15:33:59 Yes, I hash case-insensitive. 15:34:06 best of both worlds :-) 15:34:25 Storing the original spelling means you could have selectable case-sensitivity, if you prefer. 15:34:32 yes 15:34:45 and it's nice for .name etc., as you said 15:35:26 The extra lookup is a tiny price. 15:36:07 well, if you have a hash table already, sure 15:36:17 if you have to do a linear search... ;-) 15:36:52 Even then, it's a tiny price. One instruction -- you might accidentally write a string-compare with an extra instruction in it, after all :) What do they say -- every program can be made one instruction shorter? :) 15:37:30 well it's more than one instruction, if you want to be pedantic -- but yeah 15:37:51 one instruction in a bloody hot path though 15:38:12 Sure, but if you're really concerned about the heat of that path, you're going to hash the dictionary. 15:38:34 you'd think i'd have done that by now, eh 15:38:43 Yeah, geez, get on it. :) 15:38:52 i do cache results in a hash table though 15:39:06 What results? 15:39:13 quite good 15:39:19 No, what results do you cache? :) 15:39:37 oh, just the last found word pointers, one per hash 15:39:41 hash value 15:39:59 Oh ok. How often does the table get invalidated? 15:40:02 problem is on every search order change i need to invalidate 15:40:06 Right. 15:40:11 way too often :-) 15:40:26 it was a 100x..1000x speedup though ;-) 15:40:37 Yes, move that hashtable down an abstraction or two, and you'll be winning. 15:40:46 i know 15:41:10 the system is fast enough already now 15:41:30 but i want to change to a full hash, to clean up how everything works 15:41:32 RetroForth's dictionary lookup is very fast despite it being a simple linked list, so I just built wordlist support on top of that without trying to work in a hashtable. 15:41:36 i hate ugly code :-) 15:41:49 I know how you feel. 15:42:04 that's what i did, yeah. and the the cache on top of that 15:42:48 I'm still greatly enamored of the xor-wordlist dealie that you can do with hashtables, though. 15:43:09 yeah 15:43:37 if you have a maximum, fixed, number of wordlists, that is quite fun 15:43:57 if not, it just amounts to hashing the wordlist id in with the name 15:44:21 Right. 15:44:34 but useful, anyway 15:45:11 and better than having same name, different wordlist, all in the same hash bucker 15:46:29 True. I'm not sure hashing the wordlist id in with the name would always work to differentiate, if the same word in two wordlists hashed to the same bucket (after the modulo operation). 15:46:47 The XOR has to work, because it's bounded by the number of buckets. 15:47:19 ah yes 15:47:33 you have to store the wid with the entry 15:47:47 Right, and the magic goes right out of it. :) 15:48:24 still it works nicely, functionally 15:48:33 Yeah, but the MAGIC, man, the MAGIC! :) 15:48:38 no pixie dust left, yeah 15:51:25 Maybe a hybrid approach -- each wordlist to have an associated hashtable, all pointing at the same one until you run out of WIDs to xor with, then create a new one. 15:52:04 Or use other criteria, like the average chain length. 15:52:25 Bit more complex, but could be a speed win. 15:52:45 Would screw up MARKER rather badly, though :) 15:54:38 Simpler to just resize the hashtable if more WIDs are needed. 15:55:16 Or abandon the pixie dust and do it the pedestrian way. I like that dust, though. 15:55:22 yeah 15:56:28 Practically I've never written any Forth that needed a huge number of wordlists, though I'm sure it can be done. 15:57:00 i have two wordlists per device node, in OF... 15:57:20 --- part: timlarson left #forth 15:58:01 That'd use'em up fast. 16:00:28 yeah 16:26:22 writing good and short code, is that possible with ans? 16:27:36 with practuce 16:27:38 ice 16:28:24 haha.. 16:28:30 :) 16:28:39 but i'm good that way with asm 16:28:54 your forth is an ans forth? 16:29:12 i'm not aiming that way but i might adopt some features of it 16:29:24 the core words are going to be lowercase tho 16:29:51 i'm still filling out the vm and forthifying opcodes 16:30:24 forthify a new slang word.. 16:30:31 heh 16:32:27 i see the ANS as a guide only; so that's how i'll use it 16:34:22 i've been thinking in the last day that i might be able to separate code words from colon words and ONLY put code words in the asm source file 16:35:01 so that the file will contain only the building blocks plus one word each for reading and writing to and from stdin/stdout 16:35:14 and everything else will be in a file like extend.f 16:41:30 virl, whatcha think of the last post? 16:42:11 can't say. 16:42:34 why don't you split it up in different files? 16:56:41 for core kernel, i think two is enuf 16:57:11 oh and by 'forthifying' i mean to wrap some code (or opcode) with other code to make usage easier. 17:24:08 Anyone know german? Rotiert das Programm um einen vom Stack eingelesen Wert nach rechts. <- What does that mean? It's a comment for the shift_left word 17:24:37 Programmzeiger wird nicht verschoben <- Thinks that means eip doesn't move 17:24:45 one moment 17:24:56 Laenge des Programms bliebt konstant <- Means program doesn't get bigger 17:25:06 The shift_left comment means it rotates the data around to the left and reads it in from the right. 17:26:22 Suggests a rotate rather than a shift, to me. But my German is rusty so you may want to get that confirmed. 17:26:45 well, I think whoever formulated the comments, he isn't a good comment writer 17:26:49 http://www.informatik.uni-frankfurt.de/asa/SemSS04/AdaptiveProgrammgenerierungFolien.pdf#search=%22higp%20metasocket%22 17:27:30 Page 8 17:28:25 HiGP what's that? 17:28:26 --- quit: Quiznos (Read error: 131 (Connection reset by peer)) 17:30:02 http://hampshire.edu/lspector/pubs/onto-sab96-e.pdf Page 3 17:30:04 well, whoever it wrote he has a talent in writing confusing 17:30:14 virl: I thought the same thing 17:30:21 --- join: Quiznos (i=1000@69-168-231-199.bflony.adelphia.net) joined #forth 17:30:27 I'm trying to rewrite it into forth from lisp and c++ 17:31:38 Page four has an explanation in english http://hampshire.edu/lspector/pubs/onto-sab96-e.pdf but it is just as confusing. 17:32:04 yeah, it's even for me as a native speaker difficult to understand what he means. 17:33:41 I don't understand what it means that the program gets rotated, for me that's a stupid concept. 17:34:08 I think it's broken German, but I'd guess it is referring to a rotate operation. 17:34:28 normally when we speak of a program, we mean code and this code isn't normally only one value which gets easily shifted 17:34:38 yeah, it means rotate 17:35:08 Here it is in lisp http://hampshire.edu/~lasCCS/midgp1.5.lisp 17:35:08 but confusing is that the command is called *_shift and shift isn't rotate 17:35:16 But since the comment is broken, so the description may also be inaccurate. I'd be wary of trying to implement code from a PowerPoint presentation. 17:35:21 shift and rotate are similiar but not the same 17:35:24 Lol 17:36:08 In his lisp program he moves the instruction pointer, so I'm not sure what to make of it. 17:36:29 lisp, my hell language. when hell exists then that would be it. 17:36:38 Then perhaps that's what it does. Shifts the instruction pointer. That makes the German make a bit more sense. 17:36:59 Programmzeiger wird nicht verschoben <- What about this? 17:37:36 Program pointer is not shifted. 17:38:13 What's the difference between programmzeiger and instruction pointer? 17:38:35 The author might know the answer to that one. My guess would be that the meaning is equivalent. 17:38:52 Then again he may not, hehe 17:39:23 google the word "zeiger" 17:39:35 reminds me of a geiger counter 17:39:42 which could be english redundancy 17:39:53 i know it was a gentleman Geiger 17:39:54 Geiger was somebody's name. 17:40:06 words are more related than not 17:40:11 even in foreign languages 17:40:19 stems and prefices and etc 17:41:37 No relation here. Geiger means 'violinist', I think. 17:41:54 it's still a good thing to goodgle for zeiger 17:41:57 google 17:41:58 Hans Geiger 17:42:02 "goedel?" 17:42:04 heh 17:42:32 http://dict.leo.org/ende?lp=ende&lang=en&searchLoc=0&cmpType=relaxed§Hdr=on&spellToler=on&search=zeiger&relink=on 17:42:43 pointe [comp.] [tech.] 17:42:46 pointer [comp.] [tech.] 17:42:59 program pointer is what the IP is 17:43:07 zeiger means exactly the same as pointer 17:43:07 IP points to program [code] 17:48:14 The lawsuit alleged that the NSA ``uses artificial intelligence aids to search for keywords and analyze patterns in millions of communications at any given time.'' Multiple lawsuits have been filed related to data-mining against phone companies, accusing them of improperly turning over records to the NSA. 17:48:18 http://www.guardian.co.uk/worldlatest/story/0,,-6022282,00.html 17:49:01 wow cool 17:49:03 ty 17:50:39 bah, real strong ai would be cool.. but that I wouldn't call ai, I think I would call that ci computerbased intelligence 17:51:23 Well not that long ago voice recognition was considered deep ai now it's just off the shelf stuff, it seems like ai is just what we don't understand. 17:51:37 like god.. 17:51:47 Nah, god is just a myth. 17:51:57 when you think.. 17:51:58 Good voice recognition is still deep AI. Lousy voice recognition we have had for awhile. 17:52:08 I'm just only between the lines. 17:52:56 voice recognition isn't imho ai, it's only intelligent peripherie 17:53:45 The actual phoeneme recognizers are still pretty lousy, and there's very little in the way of semantic disambiguation behind them. 17:56:38 How to wreck a nice beach. 17:57:00 Yes. :) 17:57:39 hmm? 17:58:14 A common way of expressing the problems with modern speech recognition. "How to recognize speech" -> "How to wreck a nice beach". 17:58:25 heh 17:59:07 that's an intelligent answer 17:59:11 t'is all boot pro per pro nun see a shun 17:59:21 pra per 17:59:31 ok.. 18:00:01 itsz all uh boot pra per pro nun see a shun 18:00:14 heh, bowt 18:00:19 what are you talking about? 18:00:30 elucidation 18:00:38 enunciation 18:00:44 eggsagera shun 18:01:15 nice. 18:01:28 i actually used to play with speech recognition code. ;P 18:01:42 We used to torture our vocoders with asian women. 18:01:57 They're pretty much a worst case test. 18:02:05 it's actually the case that writ english is not the same at all to spoken english 18:02:08 for what do you need a vocoder in speech recognition? 18:03:06 We weren't doing speech recognition, but compression of real-time speech over a 2400bps modem. It's another example of how human speech is hard to work with, and has a large number of parameters to deal with. 18:04:03 you mean getting it again into an understandable form? 18:04:30 Yea, basically. 18:05:01 compression is about reducing the quanity of x to represent the value of y 18:05:18 I know vocoders only from robotic sounds, any other things which can be used them for? 18:05:23 where x is the language used to write (encode) y 18:05:27 We were doing vocal tract modeling on a TI TMS310 DSP. 18:05:59 We had a voice encryption system that was supposed to compete with the STU-III secure phones. 18:06:55 Ultimately, 9600 modems because cheap and practical enough, and we switched to that. At least at that time, 2400bps just wasn't practical. Now, with more modern processing and algorithms, it may be. I've been out of that field for a long time. 18:08:50 well obviously it is as can be clearly infered by certain automated phone systems in use 18:09:23 what? That makes no sense. 18:09:55 there are automated phone systems that are very good with processing speech 18:10:18 Yes, and most of them don't try to compress the source at the handset down to 2400bps, then uncompress it at the server. 18:10:27 Where "most" == "none" 18:10:51 sure, but virl was only writing from a historical point, not current activity 18:12:51 ok i'm done. nite 19:10:50 --- quit: uiuiuiu (Remote closed the connection) 19:10:52 --- join: uiuiuiu (i=ian@dslb-084-056-231-004.pools.arcor-ip.net) joined #forth 19:18:57 --- join: madgarden (n=madgarde@Toronto-HSE-ppp3712227.sympatico.ca) joined #forth 19:41:59 Hey madgarden. 19:42:19 What do you THINK !!! 19:42:35 oh man this joke gets old 19:42:57 You are all FOOLS !! 19:44:48 yeah, you too 19:45:03 Well, that's implied. Werty knows all. 19:48:51 --- quit: vatic ("*poof*") 19:57:49 how portable is it when you work in ans forth with a memory address? 19:58:14 say $123 @ for example.. 20:07:56 Not very. 20:08:36 Quartus, THINK !!! 20:09:05 BEWARE MY WRATH! Oh wait, that's not werty. 20:09:59 I'm going to make a Forthy turtle vectory fun thing, and ain't nobody gonna stop me none neither! 20:10:18 tell turtle go to hell! 20:13:13 :'( 20:13:29 I did a turtle demo for Quartus. 20:13:58 Turtle is fun. 20:14:17 My saucer game uses turtle concepts for drawing. 20:15:00 A resume ? Teaching Forth ? No one can Teach Forth ., it teaches itself 20:15:20 werty? Is that you? 20:15:57 But now you are in the middle of the stream ! Change horses ! 20:16:07 Win32For is a "gotcha" , it's a hooker . 20:16:31 Heh. 21:30:27 --- part: crc left #forth 21:31:55 --- join: crc (n=crc@pool-70-110-183-96.phil.east.verizon.net) joined #forth 21:32:10 --- mode: ChanServ set +o crc 23:39:21 --- log: started forth/06.08.17 23:39:21 --- join: clog (n=nef@bespin.org) joined #forth 23:39:21 --- topic: 'Welcome to #forth. We discuss the Forth programming language, simplicity, and a variety of technical subjects.' 23:39:21 --- topic: set by ayrnieu on [Thu Jun 22 20:55:25 2006] 23:39:21 --- names: list (clog virsys Cheery warpzero @crc uiuiuiu Quiznos Snoopy42 @Quartus juri_ virl nighty_ segher AI_coder Zarutian k4jcw ianp madwork astecp TreyB cods @JasonWoof ayrnieu ccfg Shain Zymurgy ohub michaelw) 23:59:59 --- log: ended forth/06.08.17