00:00:00 --- log: started forth/03.10.03 00:45:03 --- join: gilbertdeb (~gilbert@fl-nked-ubr2-c3a-37.miamfl.adelphia.net) joined #forth 00:48:12 --- join: gilbertbsd (~gilbert@fl-nked-ubr2-c3a-37.miamfl.adelphia.net) joined #forth 00:51:36 --- part: gilbertbsd left #forth 00:56:42 --- quit: gilbertdeb (Read error: 60 (Operation timed out)) 01:04:44 --- join: Serg_Penguin (~z@212.34.52.140) joined #forth 02:03:57 --- quit: fridge ("http://lice.codehack.com") 02:19:54 --- quit: Serg_Penguin () 07:06:25 --- quit: proteusguy ("Client Exiting") 08:40:23 --- join: ez4 (~ez4@pcp01518726pcs.reding01.pa.comcast.net) joined #forth 11:56:40 --- join: kc5tja (~kc5tja@66-91-231-74.san.rr.com) joined #forth 11:56:40 --- mode: ChanServ set +o kc5tja 13:02:02 --- join: Klaw (~anonymous@ip68-4-157-105.oc.oc.cox.net) joined #forth 13:36:29 --- quit: ez4 () 13:45:35 --- join: murr (murr@baana-62-165-187-43.dsl.phnet.fi) joined #forth 13:49:56 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 13:52:32 hmm, tomorrow's the first Saturday of the month 13:53:09 wonder if I'll manage to remember about the FIG-UK chat this time... 13:53:50 If I'm home maybe I'll join in on all the fun too. 13:53:53 Maybe 13:54:19 cool 13:54:36 What time is it again? 13:55:44 9 PM UK time 13:55:56 which I assume is GMT 13:57:22 does anybody have experiences w large ramdisks under linux by chance? 13:57:37 i need a 1-2Gbyte ramdisk 13:57:48 not me... 13:58:45 but mke2fs -vm0 /dev/ram 1000000 ; mount /dev/ram /rd ; dd if=/dev/zero of=/rd/x bs=1M count=300 ; cat /rd/x > /rd/y ; cat /rd/x >> /rd/y 13:59:20 seems 2 work fine, but after a minute the whole machine slows down and stops responding 13:59:40 i can type at the console & i can ping it, but nothing else 14:01:36 How much RAM do you have in your box? 14:02:29 You're probably thrashing the harddrive because of virtual memory. 14:02:44 3G RAM 14:02:47 And as soon as you do that, Linux slows to a crawl. 14:02:56 could b but its a server 14:03:06 That doesn't really mean anything. 14:03:10 its 30meters away 14:03:12 from me 14:03:15 PC architecture has SHIT for I/O capacity. :( 14:03:38 but why should any swapping happen? 14:03:47 i have planty of memory 14:03:57 The swapper tries to maintain a balance between used and unused pages in RAM at all times. 14:04:14 Remember that unused memory pages are also used as a filesystem cache. 14:04:33 sure 14:04:37 So each block of storage in your RAM disk can take up twice as much RAM as expected, because of that cache. 14:05:01 but if i cache all the ramdisk (1G) that still 2G in sum... 14:05:05 & i have 3G 14:05:44 I have 640MB of RAM installed on this box, and it still swaps to disk sometimes. 14:06:15 Check to see if there is any harddrive activity. If there is, it's probably thrashing the swap file. 14:06:26 If not, then, well, I don't know what else it could be. 14:06:40 Other than the fact that a ram disk that large was obviously untested. 14:07:33 yup... 14:07:43 but its the latest 2.4.22 kernel... 14:07:48 anyway 14:08:15 I've had my computer seize hard enough for me to think it was locked solid while the system synced to disk some large buffer. 14:08:33 As in, I couldn't even type on the keyboard, move the mouse, or even telnet into the box. 14:08:44 So I *know* Linux has major I/O-related issues that are yet to be resolved. 14:09:09 :) 14:09:51 The only thing that saved the system from a cold reboot was the fact that I could physically hear the harddrive working hard. 14:31:41 --- join: Sonarman (~matt@adsl-67-113-234-198.dsl.snfc21.pacbell.net) joined #forth 15:12:18 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 15:34:19 --- quit: tathi ("leaving") 16:00:57 --- log: started forth/03.10.03 16:00:57 --- join: clog (~nef@bespin.org) joined #forth 16:00:57 --- topic: 'no response from chuck moore yet' 16:00:57 --- topic: set by thin on [Thu Oct 02 17:15:21 2003] 16:00:57 --- names: list (clog Sonarman mur Klaw SDO TreyB ianP skylan onetom_ Robert arke XeF4 @ChanServ) 16:02:50 --- join: kc5tja (~kc5tja@66-91-231-74.san.rr.com) joined #forth 16:02:50 --- mode: ChanServ set +o kc5tja 16:07:02 --- join: gilbertdeb (~gilbert@fl-nked-ubr2-c3a-37.miamfl.adelphia.net) joined #forth 16:07:06 aloha 16:07:22 Hi gilbertdeb 16:07:26 hi Robert. 16:07:31 Bizfish said hi too. 16:07:37 :) 16:07:44 tomorrow is when the fig-forth uk people meet on efnet! 16:07:54 EFnet?! 16:07:54 9pm GMT I think it is? 16:07:58 Isn't it on IRCnet? 16:08:03 erm, is it? 16:08:07 ircnet then :) 16:08:18 That's where it's always been, but they might have changed. 16:08:58 I don't think they've changed. 16:09:14 Great. 16:30:32 --- quit: gilbertdeb ("The only known silver bullet: Brute Force") 16:33:32 y0 16:33:35 * arke reads BOFH 16:33:37 its hilarious :) 17:09:36 --- quit: mur ("Murr.") 17:31:41 I have to code something. right now. otherwise, im gonna kill myself. 17:31:47 what to code tho? :( 17:31:58 A suicide training program. 17:32:04 no 17:32:39 something that concentrates the CRT's electron beam to blast you up 17:32:47 naaaaah 17:32:50 something in pygmy forth 17:32:52 * arke thinks 17:33:45 oscilliscope 17:33:59 naah.' 17:34:18 im thinking maybe a floating point emulation extension 17:35:54 how does the x86 save fp data? 17:36:05 on the fp stack 17:36:10 heh 17:36:10 or you mean to memory? 17:36:11 no 17:36:15 to memory 17:36:24 as ieee floating point numbers 17:36:25 i know its 4 bytes ... how is it layouted tho? 17:36:37 and how do ieee fpn's look like? 17:36:43 4,8 or 10 bytes 17:36:45 google 17:41:06 how can i set individual bits of a word? 17:41:13 is there a xor or suc? :) 17:43:30 Heh. 17:43:39 Why would you want to do that with a FP number? 17:44:00 im trying to compress a FP number into 16 bits x.x 17:44:06 pygmy has no fp support 17:44:17 Eh. 17:44:17 so, im trying to write some fp emulating functions 17:44:24 How much can you do in 16 bits? 17:44:46 You'll have like an 8-bit mantissa to play with. That gives about 2-3 significant digits. 17:44:49 Robert not too much, but im not following IEEE 17:44:59 VERY inaccurate. 17:45:12 thats alright. 17:45:14 probably better then to use fixed point 17:45:16 it only needs a little :) 17:45:19 Yes. 17:50:35 kc5tja there? 17:50:56 Robert and, how _can_ i do bit stuff in forth? 17:51:25 Depends on the implementation. 17:51:31 of the Forth. 17:51:37 Pygmy 17:51:41 and or xor invert 2* 2/ 17:52:10 And from those you can derive more complex bit maipulation functions 17:52:12 * kc5tja is reading the employee handbook for In-n-Out employees. 17:52:21 l0l 17:52:46 * arke is trying to figure out TURN-BIT-ON ( data bit -- data ) 17:52:52 Heh. 17:53:21 Robert: More correctly, very imprecise; a 16-bit floating point number can be very accurate. 17:53:42 Eh, right. 17:53:48 One can be forgiven for confusing accuracy and imprecision. :) 17:54:00 Thanks ;) 17:54:12 kc5tja eh? 17:55:20 The number 3 is an accurate approximation for pi. 17:55:27 So is 3.14. 17:55:34 3.14159 is better still. 17:55:53 Each of these numbers are accurate, but the latter is 5 times more precise than the first. 17:56:25 ooh 17:56:27 i remember now 17:56:42 hitting in the same spot = accuracy, hitting in the right spot = precision 17:57:15 deja vu 17:57:39 The other way around. 17:57:52 Repeatedly hitting the same spot requires a great deal of precision. 17:58:04 ok :) thanks :) 17:58:20 But you could be off target, which means you're inaccurate. :) 17:58:56 hrm ... TURN-BIT-ON is eluding me ... 17:59:16 : turn-bit-on 2^n or ; 17:59:21 : 2^n for 2* next ; 17:59:25 err. 17:59:29 : turn-bit-on ( data bit ) 1 swap lshift or ; 17:59:46 Yeah, I forgot the 1 swap in my definition. 18:24:48 whats the 1 swap for? 18:27:24 DOESNT MATTER, IT WORKS!! YAY!! 18:27:32 oops, sorry, was still in caps from pygmy :) 18:27:34 sortry 18:27:35 to get a binary number where the nth bit is set, you lshift 1 by n (1< aah, ok, i get it now :) thanks :) 18:29:52 --- join: Sonarman_ (~matt@adsl-67-113-234-198.dsl.snfc21.pacbell.net) joined #forth 18:30:21 --- quit: Sonarman (Nick collision from services.) 18:30:28 --- nick: Sonarman_ -> Sonarman 18:32:05 you must be pretty good at interpreting things, if you were able to figure out my shodilly-written instructions :-) 18:33:52 naah, because i thought about it, wasnt sure, and your lshift frame just reassured me :) but i didnt find it shoddily at all, to be honest 18:35:31 * arke sucks with bitwise stuff :) 18:35:58 if i want to return a flag if a certain bit is turned on or not, how would i go by that? 18:48:45 : bit-is-set ( data bit -- flag ) 1 swap lshift and ; 18:50:45 you'll get a true (>0) value if the data has that the n'th bit set; specifically, you'll get 1< sorry, that's wrong 18:51:51 never mind 18:51:54 it's right :) 18:53:06 with these versions of turn-bit-on and bit-is-set, you need to assume that the least-significant bit is bit 0 18:58:15 i got a different one 18:58:31 cool, what is it? 18:58:38 : bit-on? 1 swap lshift over and over = if 1 else 0 then ; 18:58:42 it doesnt seem to work right lol 18:59:19 also, another question --- how do i get the current repetition of a FOR NEXT ?? 18:59:24 i 18:59:45 i think, at least 19:00:05 well, ill try :) 19:04:06 according to the gforth documentation you shouldn't use for...next; use do...loop instead 19:07:06 arke: Why are you forcing bit-on? to return either a 1 or a 0? 19:07:26 * kc5tja notes that the logic TRUE in Forth is -1, not 1 as it is in C. -1 is much more versatile. 19:07:53 isn't any nonzero value true? 19:08:25 Technically yes, for the purposes of IF. 19:09:47 sorry to ask this, but is -1 0xff or 0xfe? 19:10:13 But < > = U< U> and friends generate either -1 or 0, instead of 1 or 0. This is so you can do stuff like: : DoSomething condition? DUP ['] DoYes AND SWAP NOT ['] DoNo AND OR EXECUTE ; 19:10:29 -1 is 0xFFFFFFFF......FF 19:10:35 All bits set. 19:10:39 thanks 19:10:40 For however many bits there are. 19:11:32 np 19:12:41 that is a pretty cool example 19:13:34 : 19:13:36 :) 19:13:50 Yeah. Comes in handy sometimes. 19:15:05 I occasionally have something like this: : orBeep dup if execute exit then ['] beep or execute ; 19:16:18 The idea is I have some word which returns the address of another word to execute. If the result is zero, I beep instead. :) 19:16:38 : orBeep dup 0= ['] beep and or execute ; 19:16:49 That's a better, more concise solution. 19:17:33 In some cases, this type of code can actually be faster than an IF/ELSE/THEN construct, due to pipeline overheads. 19:17:48 HOWS THAT WORK? 19:17:53 sorr5y, again :) 19:17:56 lol 19:18:05 whats the FigUK meeting about? 19:18:10 Think about it: the address of a word is going to be non-zero in 99.99999% of the cases. 19:18:26 So, on the stack, we have the following: ( xt ) 19:18:34 (xt = Execution Token in ANSI parlance) 19:18:38 So: 19:18:42 DUP ( xt xt ) 19:18:49 0= ( xt flag ) 19:18:56 ['] beep ( xt flag xt-for-beep ) 19:19:07 ( xt flag&xt-for-beep ) 19:19:14 OR ( final-xt ) 19:19:21 EXECUTE ( ...whatever... ) 19:20:03 Remember that 0= will return -1 (e.g., $FFFF in PygmyForth, $FFFFFFFF in gForth, et. al.) if the top of stack is zero, and 0 for all other values. 19:20:05 So: 19:20:13 if xt = 0, then we get the following trace: 19:20:15 ( 0 ) 19:20:17 ( 0 0 ) 19:20:21 ( 0 $FFFF ) 19:20:28 ( 0 $FFFF xt-for-beep ) 19:20:34 ( 0 xt-for-beep ) 19:20:36 ( xt-for-beep ) 19:20:43 ( ...results... ) 19:20:48 If xt != 0, then: 19:20:51 ( xt ) 19:20:53 ( xt xt ) 19:20:55 ( xt 0 ) 19:20:59 ( xt 0 xt-for-beep ) 19:21:01 ( xt 0 ) 19:21:03 ( xt ) 19:21:08 ( ...results... ) 19:22:41 thanks :) 19:23:25 that's really cool 19:23:38 :) 19:25:13 This is literally the software equivalent of what's called an AND-OR minterm tree in digital electronic circuits. 19:25:36 The IF/THEN statement cannot be synthesized in hardware, while the AND/OR concept can be. 19:26:32 (of course, sophisticated hardware description languages are structured so that ordinary if/then statements CAN be synthesized, but I'm willing to bet you, even there, the explicit and/or statement will yield superior hardware by using less logic) 19:28:52 --- join: I440r (I440r@12-147.lctv-a5.cablelynx.com) joined #forth 19:34:59 re I440r 19:35:08 hi 19:35:15 got cable modem now 19:35:20 You know you're lazy when you type, I, 4, 4, 0, and then hit TAB. :D 19:35:23 no more fscking dial up if i can avoid it heh 19:35:28 Sweet. 19:35:29 :) 19:35:32 lol 19:35:36 Cable modems are quite nice. 19:35:53 ya. but i reserve judgement on my isp :) 19:36:11 * kc5tja finds that's the case no matter who you go with. 19:36:42 * kc5tja hates migrane headaches. 19:37:03 * kc5tja is very glad he didn't have to actually work today; this headache would have made the experience utterly unhappy. 19:39:40 i bet 19:57:04 whats the FigUK meeting all about? im thinking about going to it .... :) 19:57:20 I don't think anybody here truely knows. 19:58:37 i think ill just go and see :) 19:58:44 im usually connected to IRCNet anyway 20:03:19 oh, that's right! when is it? 20:03:30 WHEN is it ? 20:03:35 --- quit: I440r () 20:03:46 --- join: I440r (I440r@12-147.lctv-a5.cablelynx.com) joined #forth 20:03:47 9PM UK time. 20:03:48 oopts 20:03:48 9PM UK time. 20:03:54 thanks 20:04:04 Saturday, IIRC. first saturday of each month. 20:04:22 is that tomorrow ? 20:04:28 yes 20:05:30 I440r where do you live (in the US)?? 20:05:53 actually, comp.lang.forth has a post with a link where you can find out your local tim eof rht e event 20:05:59 live in indiana 20:06:04 work in texas 20:06:05 :) 20:06:11 eh? 20:06:14 makes it a bitch to commute :) 20:12:52 clf is teh best 20:12:55 * arke enjoys it 20:13:24 * arke was subscribed to comp.os.linux.advocacy for a while, but there was just too much going on. 20:13:36 * arke is with comp.lang.forth and comp.lang.as.x86 right now. 20:13:45 anybody know any other nice ones? :) 20:14:48 what client do you use? 20:15:59 slrn 20:16:08 cool :) 20:19:15 :) 20:19:26 my new isp doesnt have any news servers 20:19:28 they suck 20:20:26 i got a good free one 20:20:37 freenews.netfront.net 20:21:08 has posting, its not horrendously slow, and has most geek-related groups :) 20:21:12 comp.* 20:21:17 and lots of alt.* 20:25:31 remind me of that later heh 20:25:38 i dont care if its slow :) 20:26:02 I440r heh, wanna know what im doing right now? 20:26:03 erm - thats not via a web interfce is it ? 20:26:09 no, its not 20:26:13 k 20:26:24 i can use it via slrn or thunderbird so far, so i guess it works with any news reader 20:26:32 (i prefer slrn :) ) 20:26:55 and what are you doing right now ?? :) 20:27:10 I440r writing code to emulate FP for pygmy :) 20:27:52 will eventually have support for 16, 32, and 64 FP instructions, the latter two of which im gonna make IEEE compliant :) 20:28:03 cool 20:28:05 bit FP* 20:28:12 16-bit fp numbers lol 20:30:28 i must say, itll be quite challenging for me :) 20:30:46 i think im gonna make the 16-bit one not even resemble IEEE so that i can make it easy for myself :) 20:37:34 That's the spirit. 20:37:43 Plus, there is no standard representation for 16-bit FP numbers. 20:43:41 Well, Im gonna SET the standard :) 20:43:50 l0lz0r 20:44:32 --- join: thin (thin@bespin.org) joined #forth 20:44:40 moo 20:45:13 Moo. 20:45:54 another cow? jeez 20:45:57 thin going to the FigUK meeting? do you know what its all about? have you gotten a reply from chuck? did you know ive been doing mental masturbation about 16-bit floating points lately? 20:46:07 i thought i was a unique snowflake cow 20:46:22 figuk is so-so, but at least they stay on topic 20:46:23 you are the simple cow, i am the cow with grammar 20:46:41 thin what exactly is it gonna be about? 20:46:43 i have more grammar & spelling knowledge in my little pinkie than you have in your head 20:46:47 moo vs. Moo. :) 20:46:53 arke: it's gonna be about.... FORTH! 20:47:02 FORTH!! *gasp* 20:47:07 99.99% on topic guaranteed! 20:47:10 but, isnt that illegal? *gasp* 20:47:19 yeah and no morons 20:47:27 well.. none last time 20:47:46 the last time i went 20:47:51 eons ago 20:47:51 :) 20:48:12 it starts in 17 hours from now 20:48:27 seems to be cool 20:48:30 starts at 2pm pacific time 20:48:44 iirc 20:48:47 thin got any idea how i can compress as much info as i can into 16 bits? 20:48:49 thin yep :) 20:50:49 whats teh stack frame _inside_ of do..loop ? 20:51:18 arke: well i think you can fit 3 alphabetical characters into 16 bits with some leftover.. 20:51:31 or can fit more.. 20:51:34 i forget 20:52:09 also godel's numbering scheme can let you easily convert letters into numbers for excellent compression.. 20:52:17 but converting it back is a nightmare of computation.. 20:52:33 unless you figure out some awesome trick 20:52:39 i need to put as many numbers as i can into exactly 16-bits 20:52:42 and then everyone would learn this trick 20:52:49 and would communicate in godel all the time 20:52:51 woot! 20:53:50 you can but you can only use a-z/1-9 20:53:53 you want more than 2 to the 16? :P 20:54:28 arke: You're not going to get all that much precision out of a 16-bit floating point number. 20:54:30 i wouldn't worry too much about compression unless it fits into the whole simplicity scheme.. 20:54:43 some forthers get too obsessed with saving space rather than focusing on simplicity methinks.. 20:55:03 :) 20:55:11 im just trying it to actually be usable 20:55:30 : 2dup over over ; <--- is that right? 20:55:32 * kc5tja notes that most uses of 16-bit quantities in a mathematical sense are for fixed-point, rather than floating point, numbers. 20:55:39 kc5tja: how's it going? anything new? 20:55:39 arke: Correct. 20:55:46 you got a job? 20:55:51 thin: I got the job with In-N-Out. 20:55:55 :) Im Good 20:56:03 And I'm still doing product development research for my kit business. 20:56:21 what kind of kits are you thinking of starting with? 20:56:33 I'm officially closing down Falvo Technical Solutions, and changing my company's name to Falvo Technologix. 20:56:48 oh no, a new domain name? :P 20:56:53 Nope. 20:56:56 falvotech.com for both. 20:58:43 the gix in technologix is cutting edge! i'm bleeding already! 21:02:18 Heeh :) 21:02:31 I might even capitalize the X for that extra sharp slice, too. 21:02:34 TechnologiX 21:03:39 oooh pretty.. 21:06:17 tell me about the kit? 21:11:38 dsssswow 21:11:47 i think i just wrote the most horrible forth word possible 21:12:24 maybe i should have it use 2r> , 2>r , 2dup , and tuck :P 21:12:33 still wouldnt be pretty 21:15:06 :P 21:15:34 bit-move ( src offset dst offset num -- , move num bits from src-offset to dst-offset ) 21:16:42 Not much to say. 21:16:44 GAH!! 21:16:58 PYGMY DOESNT HAVE R> OR >R ?????????????????// 21:16:58 It's basically going to be a simple frequency counter to start off, and then a simple signal generator as a follow-up product. 21:17:07 arke: PUSH and POP, respectively. 21:17:18 ,..... 21:17:20 oh 21:17:22 yeah, 21:17:26 i remember reading that 21:17:31 * arke DUH! 21:18:19 I feel that they are particularly bad names for it, myself (Chuck first used these names with cmForth, on which both Pygmy and ColorForth are derived from. >R and R> are shorter, and more descriptive, I think. But I digress) 21:18:49 thin: Frankly, I don't expect very many sales of these projects. But it would be a good investment of my time anyway -- I lack both tools. :) 21:19:19 thin: Moreover, it gets my feet wet in relatively "safe" projects for the kit industry, before I tackle more sophisticated projects. 21:19:53 0.0 21:19:56 fsck 21:20:04 it just crashed pygmy 21:20:06 lol 21:20:36 its hard doing stuff with 5 arguments without employing abother stack or such 21:22:11 *CRY* everything i did is gone.... 21:22:21 arke: if you find yourself passing more than 2 parameters to a word then you're doing something wrong 21:22:34 forth isn't C 21:22:45 thin how do you suggest i do this bit-move word? 21:23:11 can you factor anything out? 21:23:21 it takes time to get good at making small forth words.. 21:23:37 heh 21:23:46 quick question -- does IF use the return stack? 21:23:53 if so, thats why it crashed ... lol 21:24:03 thin i dont think i can... 21:24:27 hrm 21:24:46 im just gonna need it to retrieve and store bytes 21:24:53 so i could have it do just bytewise 21:27:10 " FP.SCR" 3000 LOAD 21:27:23 LOAD bad block# 21:27:30 why is it a bad block #? 21:30:02 eh 21:30:03 nevermind 21:30:07 because im a dumbass lol 21:33:34 kc5tja im trying to open a block file, and it does it without error (seemingly), but it doesnt end up in the unit list! 21:33:58 make many small words rather than one big word.. avoid using PICK and manipulating the stack too much.. 21:34:03 SWAP DUP OVER 21:34:07 that's all ya need :P 21:34:18 swap over --> tuck 21:34:24 over over --> 2dup 21:34:27 :) 21:34:31 arke: I'd have to do the research to figure out how to do it again. It's been awhile. 21:34:43 this is making me maaaadd!!! :( 21:34:52 arke: Settle down. Take a breath. 21:35:11 It will come with time and practice. 21:35:12 kc5tja: did you keep the parameters small? code it chuck-like/ 21:35:20 s//? 21:35:21 thin: ? 21:35:30 did you code it chuck-like? 21:35:34 you said you coded it before 21:35:38 thin: Did I code what Chuck-like? 21:35:47 What did I say I coded? 21:36:02 arke: I'd have to do the research to figure out how to do it again. 21:36:15 thin: I didn't code it -- it's something that Pygmy already provides. 21:36:31 Otherwise, you couldn't open block files in Pygmy. 21:36:46 oh i thought you were talking about the FP code that arke is working on.. 21:37:20 Nope. 21:37:28 But if I were to do something like that, I do it Chuck-like. 21:37:44 LOTS of small words, and I strive even to break two-line words up into two one-liners. 21:38:04 YAY!! 21:38:07 i got it : 21:38:08 :) 21:38:18 oh no, the balance has been upset ;) 21:38:58 whats the shadow file for? massive comments? 21:39:20 i imagine the FP layer could be coded in 10 to 20 words that are no more than 2 lines long 21:39:26 Generally, each word in the main program's block has an accompanying description in the shadow block. 21:39:28 depends on the featuers tho.. 21:40:05 My Forth environment doesn't have two separate block files for this, though. In my convention, which I admittedly stole from ColorForth, I use the convention of all even-numbered blocks are source text, and subsequent odd blocks are used for shadow comments. 21:40:26 thin: That'd be for only the most basic of FP support. Addition and subtraction, basically. 21:40:28 :) 21:40:33 Multiplication and division are substantially more complex. 21:40:48 my way is gonna be easy lol 21:41:01 its gonna throw away a bunch of information 21:41:07 theres no signs 21:41:18 etc. 21:41:28 takes 32-bits and spits out 16-bits 21:41:34 lol 21:41:53 anyway, im gonna get to work now. ill annoy you occasionally with silly quesitons :) 21:42:42 kc5tja: nah, i included it all into my estimates :P 21:42:57 thin: Heh 21:43:09 FP packages coded in forth tend to have extra stuff tho 21:43:32 hardcore simplification of FP = creation of a totally new way to do things 21:43:45 Yeah, they tend to concentrate on providing a general API to work with numbers in a more or less general way. 21:43:51 rather than remaking what everyone else has done 21:44:02 Hardcore simplification of FP = fixed point integer math and integer scaling. 21:44:29 hell, hardcore simplification of FP = non-FP and non-integer math.. something totally new? ;) 21:45:28 You have to deal with numbers at some poitn. 21:45:31 point even 21:46:07 yeah 21:46:19 i'm just saying a totally new thing could be invented 21:46:24 in fact WOULD be invented 21:46:39 if the whole thing was approached with a hardcore simplification philosophy 21:46:44 I think there is a point of diminishing returns. 21:46:56 Even chuck continues to use binary 2's-compliment numbers in his new series of CPUs. :) 21:47:02 :P 21:47:08 the fool!!! 21:47:26 doesn't he know how bloated binary 2's-complement is?!?! 21:47:44 Yeah, he could be using a 1 q-bit representation for all possible numbers instead. 21:48:16 and people have to deal with the bloat by adding more complexity to their programming, and before you know it there's complexity ontop of complexity and the world falls apart like jeff fox says!!! 21:50:52 :) 21:53:11 * kc5tja notes that Jeff Fox also uses 2's compliment, binary representation for data. :D 21:57:12 i'd warn him & chuck but they haven't responded to my emails 21:57:15 so no point.. 21:58:01 Yeah, let them wallow in their own spit and vomit for not having taken simplicity more seriously. :) 22:03:20 well i gotta go and fight some crime IRL 22:04:57 --- quit: thin ("laters") 22:07:02 Hehe 22:17:48 fight some crime? 22:17:53 what does irl mean? 22:22:39 In Real Life 22:22:44 And no, he's not a cop. :) 22:22:49 He's being facetious. 22:22:59 * kc5tja is reading up on the Marfa Lights. 22:24:27 kc5tja the pygmy manual says that when a literal prededes a shift, it shifts one. what effect does a literal have on the stack? 22:24:47 Can you give me some context? 22:24:57 Any time you put a literal in the source code, it'll be placed on the data stack. 22:25:22 But there's more going on here than you're letting on -- I need more information. :) 22:27:07 1 #, BX SHL 22:27:14 , 22:28:55 The #, is a word that consumes the literal, for the benefit of the assembler. 22:29:10 There are two forms of the SHL/SHR/ASL/ASR instructions. 22:29:18 (and the rotate instructions, ROL, ROR, RCL, RCR) 22:29:33 One is to shift by a single bit, in which case the literal is implicitly assumed to be one. 22:29:41 (regardless of what you actually supply) 22:30:10 The other form is to shift the register by the amount in the CL register. In this case, it'd look like CL BX SHL, 22:30:25 This is a restriction of the 8086 microprocessor, for which PygmyForth was designed. 22:30:48 Modern CPUs allow shifting by literals other than 1 of course, but they take opcode forms which Pygmy's assembler doesn't support. 22:41:06 so 1 #, isnt gonna do anything funky to my stack? 22:41:57 No. But remember that SHL, is an assembler word -- you're talking directly to the 8086 with that (literally, it compiles x86 machine language into the current definition). 22:42:11 If you try to use that inside a colon definition, you surely will crash the environment when you invoke the word. 22:43:11 CODE LSHIFT 1 #, BX SHL, NXT, END-CODE 22:43:12 :) 22:43:25 OK, just making sure about where you were using it. :) 22:43:46 The tight integration between Forth and the underlying hardware can trip a lot of people up. 22:44:25 (now, in FS/Forth, which is a native code compiler, it *CAN* support things like : foo blah blort [ 1 #, shl, ] zoom baka ;) 22:44:36 (just goes to show you how diverse a Forth system can be!) 22:47:36 DAMN, I wish I had someplace to set up my ham radio. 22:47:47 I also wish I had a convenient means of erecting an antenna too. 22:49:35 diagra for your dipole :) 22:55:32 :) 23:06:15 fwiw, Bigforth supports that too 23:07:29 : foo blah blort [ also assembler ax 1 # shl previous ] zoom quux ; 23:08:07 * kc5tja nods 23:08:15 Most native-code Forth compilers will support something like it. 23:13:03 Hmm...I wonder if anyone has recorded any VLF emissions from ball-lightning? 23:17:35 --- join: foxchip (foxchip@adsl-209-182-168-45.value.net) joined #forth 23:19:13 re foxchip 23:19:32 er 23:21:01 How are things going? 23:21:20 * kc5tja has finally procured employment again, after a whole year of looking for work. In-n-Out Burgers. :D 23:23:29 --- quit: Sonarman ("Lost terminal") 23:28:27 foxchip hello 23:28:37 busy, hoping for more 23:29:31 * kc5tja is planning on starting an electronics kit company. 23:30:50 foxchip more busy-ness? :) 23:32:49 * arke returns to his hopeless pygmy fp attempt :) 23:38:50 yes, watching the simulated pico-seconds fly by 23:39:55 Hehe 23:39:59 :) 23:40:19 * kc5tja is currently just browsing the net. It's much too late in the day to do anything serious. 23:40:34 Plus, I'm waiting for a migrane headache to dissipate before going to bed. 23:44:31 wow, im really liking this block/shadow block thing 23:50:27 Yup. 23:51:10 There are some subtle issues with blocks for source code storage and maintanence. But when you weigh up the pros and the cons, blocks (to me at least) simply can't be beat. 23:51:45 i guess if you could name blocks (or regions thereof) you'd have a perfect deal 23:52:16 if you could? 23:52:26 : vibe 150 load ; 23:52:35 : fsforth 10 load ; 23:52:36 ;) 23:53:22 (well, actually, in my current system, : vibe S" include vibe.fs" evaluate ; , as I haven't yet rewritten VIBE to use blocks yet) 23:56:46 :) 23:57:14 well, i guess maybe i should think before i type -- i meant to arrange them, etc. 23:57:35 keep the whole block thing, but blocks can be part of groups 23:57:52 At some point, I was going to explore the concept of a more structured form of source storage -- still based on blocks, but maybe more hierarhcially. 23:58:04 yeah, thats what i mean 23:58:15 Just a curiosity thing. Flat blocks are still OK to me. :) 23:58:32 source blocks with source blocks, other blocks with other blocks, etc. :) 23:59:59 --- log: ended forth/03.10.03