00:00:00 --- log: started forth/06.10.17 00:20:41 --- join: crest_ (n=crest@p54894E40.dip.t-dialin.net) joined #forth 00:32:38 --- quit: Crest (Read error: 110 (Connection timed out)) 00:48:59 oh no! the battery bunny has been abducted by aliens! 02:01:09 --- join: saon (i=1000@c-24-129-30-187.hsd1.fl.comcast.net) joined #forth 02:46:21 --- quit: JasonWoof ("off to bed") 02:56:37 --- join: Cheery (n=Cheery@a81-197-19-23.elisa-laajakaista.fi) joined #forth 03:07:46 --- quit: saon (Read error: 110 (Connection timed out)) 03:41:43 --- nick: crest_ -> Crest 04:45:45 --- join: TreyB_ (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 04:45:57 --- quit: TreyB (Read error: 131 (Connection reset by peer)) 05:38:23 --- join: zpg (n=user@user-54452762.lns4-c11.dsl.pol.co.uk) joined #forth 05:39:02 gruss gott. 05:58:42 --- quit: neceve (Read error: 145 (Connection timed out)) 06:05:45 Quartus: have you looked at Dragon Forth? 06:16:24 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #forth 06:20:52 hi Ray 06:22:30 good morning, person number 277,876,127. 06:22:38 ACK 06:30:19 --- join: jc (n=jcw@adsl-074-238-180-251.sip.asm.bellsouth.net) joined #forth 06:31:11 I have found that neither of the Magellan apps provided with the GPS make me truly happy. Either I'm going to have to see if the wheel I want has already been invented, or if it's time to design some new 22" mags. 06:34:18 And where in the Palm menus does it tell you version OS you're running? Seems like I've seen it somewhere, but can't find it again. 06:53:02 true happiness comes not through the palm but through the realisation of the dao. 06:56:05 --- quit: Quartus_ (Read error: 54 (Connection reset by peer)) 07:01:43 --- quit: snowrichard ("Leaving") 07:30:36 --- quit: segher (Nick collision from services.) 07:30:48 --- join: segher (n=segher@dslb-084-056-198-119.pools.arcor-ip.net) joined #forth 07:46:00 --- nick: TreyB_ -> TreyB 07:49:52 grr, there's no support for hotsyncing an emulated palm on the mac. weak. 08:08:59 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 08:12:13 --- join: snowrichard (n=richard@12.18.108.162) joined #forth 08:17:32 damnit, this palm keeps crashing. 08:17:35 hi virl, snowrichard 08:20:46 hey 08:20:50 hi 08:30:14 --- quit: arke (Read error: 131 (Connection reset by peer)) 08:30:15 --- join: arke_ (n=Chris@pD9E04EBD.dip.t-dialin.net) joined #forth 08:39:59 --- quit: snowrichard ("Leaving") 08:53:46 --- quit: nighty (Remote closed the connection) 08:54:48 --- join: nighty (n=nighty@66-163-28-100.ip.tor.radiant.net) joined #forth 08:57:14 Hey. 09:00:13 jc, it's info off the app launcher. 09:00:23 Menu item. 09:36:37 --- nick: arke_ -> arke 09:58:45 The Vx has 4.0 and the V has 3.1.1 10:08:38 Is there a complement to ?dup ? 10:18:23 jc, i've never owned a palm and I have a Vx on the way... Is it cool? I don' t know the first thing about Palm, save that I should be able to put a Quartus Forth on it. 10:18:46 The Vx is a very nice gadget. 10:18:51 jc, what do you mean, complement? 10:18:58 Quartus: you'll be glad to know i implemented my little test programme and it works perfectly in QF 10:19:04 zpg, glad to hear it! 10:19:35 it uses the QF console, so i might make a few resources to allow normal IO with . and .s etc. to work in a standalone. i haven't looked at the manual yet, but i take it this is simple to do. 10:20:17 If you do a MainForm at the start of your program, . and .s will work as they stand. 10:20:31 excellent, i think i read as much in the manual recently. 10:21:29 the palm emulator on mac won't hotsync, so i better freeze the programme as an executable so that i can install it and produce a few screenshots. 10:22:02 That's the Palm Simulator, I believe, not the Emulator. Don't think there ever was an Emulator for the Mac. 10:24:24 Well, ?dup dups if not zero. I want a dup that dups if 0. I was wondering if there was a more or less standard word for that. 10:24:40 dup 10:24:50 no... 10:24:54 That dups always. 10:25:00 I only want it to dup if 0. 10:25:04 then drop everything other then 0 10:25:19 I know I can do in multiple words, that's trivial. 10:25:24 There's nothing that dups if zero, doesn't if non-zero. Would be a strange animal -- why do you want it? 10:25:27 What I'm asking if there is a standard word. 10:25:39 Because if it's not zero, I need to process it, otherwise, I need to pass the 0 on. 10:26:12 0= if.... 10:26:28 That will consume the 0, will it not? 10:26:28 dup if drop ( or whatever ) then 10:26:47 jc in most forths yes, but not all. 10:27:46 http://www.rowanlea.com/novelties/x-wipes/enemies/jongi-xw.html 10:27:56 Is the 0 the standard case or the exceptional case? 10:28:53 I was trying to avoid the dup if drop sequence if there was a single word that duplicated only if zero. I think I've seen ?if somewhere, but it's not the ANS core words. What's the normal behavior for that, if I'm not hallucinating it. 10:29:14 There's no standard ?if. You'd have to build it. 10:29:29 What's the behavior of it. 10:29:38 ya, and Glypher has the word zero that does what you want, but that's not standard either. 10:29:46 dup if process then is the normal idiom. Even with a dup-only-zero you still have to conditionally act on it. 10:31:07 ?if isn't common-usage. You could build a : ?if postpone dup postpone if postpone drop ; immediate I suppose. I would personally find it confusing. 10:31:29 * Ray_work adds... 10:31:56 cuz you'd be just adding a second if statement infront of the thing you're trying to conditionally execute. 10:32:49 The thing is, in dup if process then, process normally needs the cell to do something with. 10:34:15 These are zero/non-zero result codes. : foo test-something dup if drop test-something-else then ; I suppose it could be refactored, but the way the logic flows make sense to me, so I like it like it is. 10:34:32 test-something and test-something-else are related tests. 10:36:03 An alternative might be 0 constant continue ... if process else continue then ... 10:38:51 That might work. 10:39:02 Well, it would functionally work, of course. 10:39:07 I mean esthetically. 10:44:04 --- join: neceve (n=claudiu@unaffiliated/neceve) joined #forth 10:55:46 jc: You are right of course, if you are the author and the only eyes that are gonna see that proggy, do as you will and understand. Something that makes sense to you, and is more descriptive overall, can't be bad. 10:56:52 --- join: rabbitwhite (n=Miranda@136.160.196.114) joined #forth 10:57:29 --- quit: rabbitwhite () 11:05:30 --- quit: madgarden (Read error: 104 (Connection reset by peer)) 11:34:47 --- join: erider (n=erider@unaffiliated/erider) joined #forth 11:35:11 hi all 11:36:56 --- quit: I440r__ (Read error: 104 (Connection reset by peer)) 11:55:29 --- join: JasonWoof (n=jason@unaffiliated/herkamire) joined #forth 11:55:29 --- mode: ChanServ set +o JasonWoof 12:23:24 --- join: snowrichard (n=richard@12.18.108.162) joined #forth 13:13:57 --- join: vatic (n=chatzill@pool-162-84-156-148.ny5030.east.verizon.net) joined #forth 13:14:13 --- quit: jc ("Client exiting") 13:14:49 --- join: jc (n=jcw@adsl-074-238-180-251.sip.asm.bellsouth.net) joined #forth 13:32:44 * Crest is away: … 13:32:55 * Crest is away: … 13:57:05 --- join: Quartus_ (n=Quartus_@209.167.5.1) joined #forth 13:57:06 --- mode: ChanServ set +o Quartus_ 14:03:59 --- quit: Ray_work (Read error: 131 (Connection reset by peer)) 14:16:35 hi 14:20:08 hey 14:20:13 hi Quartus_ 14:20:24 yes, I believe the programme for mac is called "Palm Emulator" on this sytem. 14:21:46 --- join: arke_ (n=Chris@pD9E0755F.dip.t-dialin.net) joined #forth 14:26:16 as I recall, it's a slightly different animal than is POSE. 14:27:03 We had a discussion about word ordering the other day. If the stack is ( -- a b ) does 2>r put ( -- a b ) or ( -- b a ) on the return stack? 14:29:31 the Standard is your friend. 14:30:34 hi all 14:33:48 SO it is. 14:35:09 --- quit: snowrichard ("Leaving") 14:39:35 --- quit: arke (Read error: 110 (Connection timed out)) 14:41:01 --- join: madgarden (n=madgarde@London-HSE-ppp3546145.sympatico.ca) joined #forth 14:49:33 --- quit: jc (Read error: 60 (Operation timed out)) 15:02:41 gak, just got trapped in virtualpc. 15:03:20 2>r confused me until i realised that you'd want to put 1. on the return stack as 1 0 15:03:41 so, 2>r isn't the same as >r >r which would yield 0 1, a very different animal. 15:04:35 that notation still confuses me 15:05:34 why? 15:06:12 1. 2>r 2r> .s ==> 1 0 15:06:24 1. >r >r r> r> .s ==> 0 1 15:14:31 Quartus_: can one wrap memos as PRCs in any way? 15:15:10 I don't know why 15:17:17 zpg: I"m getting stack underflow when trying that example 15:18:24 Zpg, not right. Try those. 15:19:05 hmm 15:19:15 oh, of course. my mistake. 15:19:19 both are 1 0 15:19:41 1 0 -> 1 [r: 0] -> [r: 1 0] -> 1 [r: 0] -> 1 0 15:19:42 Use them in a : ; def. 15:19:46 i have 15:19:55 curious 15:20:01 erider, I mean. 15:20:03 oh. 15:20:18 yes i was doing something odd with my multiple >r >r >r 's evidently. 15:21:15 there's a swap inherent in 2>r, so : foo 1 2 2>r r> r> . . ; will give 1 2. 15:21:28 * zpg nods 15:22:01 the reasoning is simple; 2>r puts a double on the return stack in the same order it was on the data stack. 15:22:33 ok 15:22:58 ah, here's where it gets assymetical --> : blee 1. 5 2>r >r 2r> r> .s ; 15:23:23 Because the code is asymmetrical. 15:23:42 I just can't see it visually :( 15:23:56 indeed. (if you think, i've pushed two to the return, the one. now pop those two, then that one. i think when i modified some code containing lots of >r's i translated assymetically) 15:24:48 3 4 .s -> 4 is on top. 3 4 2>r -> 4 is on top of the return stack. 15:24:58 >r = pop r> = push? 15:25:18 >r pushes the TOS to the return stack. 15:25:24 so pops from the data stack. 15:25:40 >R is to-r. R> is r-from. 15:27:27 in this code: ": blee 1 2 3 2>r >r 2r> r> .s ;", we're saying: [data: 1 2 3] [return: ] --> [data: 1] [return: 2 3] --> [data: ] [return: 2 3 1] --> [data: 3 1] [return: 2] --> [data: 3 1 2] [return: 2] 15:27:43 erm 15:27:51 last return should be blank --> [data: 3 1 2] [return: ] 15:30:58 in blee, you're not matching the retrieval words properly. 15:31:00 ermm 15:31:15 stack underflow 15:31:43 Quartus_: i know. but i stuck with the example to explain why it was wrong. 15:32:19 : blee 1 2 3 2>r >r r> 2r> .s ; ==> <3> 1 2 3 15:33:54 zpg can you explain what is going on? 15:33:54 the wrong is really simple, you're pairing a 2>r with a r>. You'll just get a complicated way of reordering the data stack. 15:34:57 Ok what does the 2>r notation do? push 2 on the stack? 15:35:03 yes. 15:35:15 or rather, push a double in the same order they were on the data stack. 15:35:29 --- nick: arke_ -> arke 15:35:33 --- join: Amanita_Virosa (n=jenni@adsl-69-154-191-166.dsl.hstntx.swbell.net) joined #forth 15:35:54 sorry for being vague --> 2>r consumes the double at the top of the data stack and pushes it to the return stack. 15:36:13 correct me if i'm wrong here. 15:37:02 Right, 2>r moves a double-cell value from data to return stack. 2r> moves'em back. 15:38:05 if we have data="1 0", >r >r will make the return stack="0 1" though. 15:38:14 ahh, i know my error now. 15:39:01 we might think >r >r 2r> would return us to the original state. however, 2r> will bring "0 1" from the return stack to the data stack. 15:39:19 (i.e. requiring a swap -- or a rewrite :) ) 15:47:47 Quartus_: where does this implicit swap lie? --> "1 0 2>r r> r>" == "swap", as does: "1 0 >r >r 2r>" 15:48:19 are you saying 2>r is defined as (ignoring special words for now) "swap >r >r" 15:48:35 and 2r> as "r> r> swap" ? 15:50:20 * erider is even more confused :( 15:51:19 --- join: jc (n=jcw@adsl-065-006-151-062.sip.asm.bellsouth.net) joined #forth 15:51:26 right. 15:51:28 erider: since out stack is, bottom to top, "1 0", the first data'pop-return'push will leave "1" on the data stack and place "0" on the return sack. the second will leave an empty stack and "1 0" on the return stack. 15:52:03 if we use "2r>" to retrieve from return stack to data stack, we retrieve a double in the order it appears on the stack, so "1 0" will be placed onto the data stack. 15:52:36 oh damn, i've screwed that up again. sorry for confusing you. 15:52:45 erider: since out stack is, bottom to top, "1 0", the first data'pop-return'push will leave "1" on the data stack and place "0" on the return sack. the second will leave an empty stack and "0 1" on the return stack. 15:53:03 cryptic notations are not helping sorry. I can understand assembly better then forth with notation that in easier demonstrated 15:53:16 if we use "2r>" to retrieve from return stack to data stack, we retrieve a double in the order it appears on the stack, so "0 1" will be placed onto the data stack. this is essentially a swap from the original state. 15:54:23 i'll hand over to quartus. i seem to be badly expressing this point. 15:55:26 erider: have you read "Starting Forth" yet? 15:56:01 yes or no just the tutorial crc pasted 15:57:45 i just keep fudging my stack notation, therefore confusing everybody even further :) 15:58:00 erider: enjoy this. http://home.iae.nl/users/mhx/sf.html 15:58:06 hi ray 15:59:02 Hello there, zpg. 15:59:08 How is the day going? 15:59:36 not bad at all thanks. yours? 15:59:53 Q can you help 16:00:58 erider: do you understand the return stack? 16:01:18 I think so 16:01:30 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 16:01:51 its a stack that keeps the answer from the data stack? 16:02:02 erider should consider reading the link before asking more questions, so that we know he has the basics covered, and so we can talk in terms we all understand. 16:02:20 * Raystm2 so should I btw, refresher. 16:07:36 ok well do let me finish up with the variable in fisp 16:08:12 erider: at your convenience, of course. 16:10:39 ok listo 16:10:50 :) 16:12:02 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-128-168.pools.arcor-ip.net) joined #forth 16:16:18 --- quit: Snoopy42 (Connection timed out) 16:16:42 --- nick: snoopy_1711 -> Snoopy42 16:21:07 --- join: snowrichard (n=richard@12.18.108.162) joined #forth 16:25:41 hi snowrichard 16:29:43 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-142-159.pools.arcor-ip.net) joined #forth 16:30:20 --- quit: Snoopy42 (Nick collision from services.) 16:30:46 --- nick: snoopy_1711 -> Snoopy42 16:33:15 --- mode: ChanServ set +o arke 16:34:53 to broach a new subject -- has anyone here written a REPL in Forth to parse natural language input, or for that matter, input of any variety that isn't native Forth, and processed it? 16:35:43 REPL? 16:35:54 Quartus_ has done a BNF interpreter. crc has made a markup language that generates html. 16:36:05 Oh, I see. 16:36:12 read eval print loop 16:36:28 yes 16:36:44 lukeparrish: ah ok, i forgot about Quartus_' recent BNF efforts. 16:41:04 which commenting style looks best? http://retroforth.net/paste/?id=225 16:41:32 parentheses 16:42:31 hmm. why do you prefer parentheses? 16:44:07 Dunno. 16:44:11 Just looks cleaner. 16:44:19 And alot easier to type than | 16:44:49 and more consistent 16:44:56 | ... \ is ugly :) 16:44:58 what? how is it easier to type? 16:45:29 You probably don't have to suffer like I do. 16:45:33 I have to use a german keyboard :( 16:46:14 to type |, its right alt+ a little button squeezed between the left shift and the Y (which is actually the Z on english keyboards) 16:46:18 | isn't ans is it? 16:46:55 nope 16:46:57 no, it's not. I added it in. 16:47:38 well for me the \ and | are on the same key, right where my pinky can easily hit them. 16:48:35 i prefer (a) non-keychorded characters, so \ takes the biscuit. (b) |, and I can look similar on some systems. 16:48:46 \ is pretty easy to parse visually. 16:48:59 as are parentheses. 16:49:37 and this mixed style seems messy too. 16:50:32 hmm. so \ comment \ would work better than either? 16:51:07 (I was using \ to end the comment, and | to start it) 16:53:02 i think character consistency looks better, yes. 16:54:31 zpg, in colorforth i wrote a language processor that reads in board coords and moves the pieces visually in real time one square at a time. 16:54:34 it's also possible to integrate the start of the stack diagram as a part of the colon definition 16:54:40 : : wsparse entry '\ parse 2drop ] ; 16:55:05 the entire thing is based on the cool word : later pop pop swap push push ; 16:55:44 heh 16:55:59 crc taught me that word. 16:56:09 : name comment \ code ; 16:56:34 what are you pushing and popping to/from? 16:56:43 it pops the last two words' return points off the return stack and swaps them, basically returning to the current words caller before returning itself. 16:56:57 Confusing? :) 16:57:01 heh 16:57:08 it's no picnic, but makes sense. 16:57:29 as long as you don't ask me to write a stack diagram explaining it, which i'm bound to reverse between the thinking and typing stages. 16:57:31 ;-) 16:58:03 ( r1 r2 -- r2 r1 ) 16:58:20 : later r:a r:b -- r:b r:a \ r> r> swap >r >r ; 16:58:58 hehe yes sorry, I entered the colorforth version, and lukeparrish here has the forth version. 16:59:04 Raystm2: not that sort of (sensible) stack diagram. more the weird notation i adopted to demonstrate movement between parameter and return stacks. hard as i tried, i kept accidentally reversing the return stack's contents. 16:59:15 I see. 16:59:18 the reversal being a miscommunication between brain and fingers. 16:59:30 which implies a simple solution: i need a new brain. 16:59:35 * zpg consults eBay 16:59:49 * lukeparrish offers a transplant, never been used :) 17:00:11 heh 17:00:12 my dain is only slightly bramaged. 17:00:35 It's also dislexic so I call it Brian. 17:00:43 :) 17:00:50 sydlexic* 17:01:15 brains: betcha can't eat just one! 17:01:18 oh yes, ofcourse. sorry, I don't have a spell checker in this cheep free irc client. 17:01:57 the woes of modernity. 17:02:06 * zpg heads downstairs for a glass of wine 17:02:17 Are we post modern now? 17:02:32 Or is modern always current? 17:04:05 always speil cheque! jewel knot mess eh wierd 17:40:06 --- quit: vatic (Read error: 110 (Connection timed out)) 17:40:31 :) 17:51:56 (back) i saw a book recently entitled 'beyond post-modernity', whether this implies post-post-modernity (meta-post-modernity) or not is under review. 17:53:38 whatever the heck post-modern is supposed to mean 17:54:16 modern = according to the latest way of things 17:54:49 post-modern = according to the way of things that hasn't been discovered yet? 17:54:54 --- join: vatic (n=chatzill@pool-162-84-156-148.ny5030.east.verizon.net) joined #forth 17:56:00 modernity is a specific social period and isn't just a generic term meaning contemporary. 17:56:19 since when? 17:57:00 i'm a little rusty, but i guess we're talking the turn of the 20th century, feeding back into the late 19th and forward to the first quarter 20th 17:58:22 hmm. modern means contemporary with the present. "contemporary" means existing at the same time with something. is there another word replacing the old definition of "modern" in common usage? 18:00:35 as i said, modernity is a name given to a certain social period. it was used at the time. think 'modernism' along with 'futurism' and 'cubism'. also think, 'stack' has a different meaning when we're talking CS than when we're using it in the everyday. 18:00:35 savvy? 18:01:58 so... you're saying in some (academic?) contexts it is used to mean that, as a proper noun label for a given period when people were commonly focused on keeping up with the times. 18:02:47 well, not really. artists of the period used the term; it became known as the period of modernity. 18:03:05 when a phrase like that is coined, it's hard to decode it using normal definitions of 'modern'. 18:03:16 ahh, "modern art" 18:03:16 academics still discuss it of course. 18:03:27 but it wasn't an academic appropriation as such. 18:03:47 stack has a different meaning? 18:04:29 well, i stack plates. i have a stack of papers. but 'the stack' means nothing as a compound noun without a further complement. 18:04:37 it's just a forthy example, since this is #forth. 18:04:39 in the artistic community, it was used for a period of time by a certain (popular?) sub-culture of artists to denote their artistic style. 18:04:49 I think it depends on the industry. 18:05:07 another one for you compscites --> (car ' (1 2 3)) in lisp returns the head of the list, in this case, 1. what's a car when you're not a lisp hacker? 18:05:07 People in power plants and steel mills refer to 'the stack', meaning the chimney. 18:05:31 Many words have an implied context. 18:05:54 lukeparrish: yes, something like that. it also refers, more broadly, to the thinking characterising the age; i don't like the implications here, too boxed in. think, Marxism as Modern Thought (ooh, capitals). 18:06:39 k4jcw: precisely. you specialise meaning on the basis of context. the definition of 'modernity' can't be obtained by saying, but the morpheme 'modern' means X so modernity must be X. 18:07:26 hmm. there should be a more non-dated word for the era. 18:07:58 (1) use the dates of the period. (2) the term is fuzzy anyway. (3) why? it was used at the time, and known by that name. 18:08:31 "modern painting" has a special meaning. we can't just rebrand everything to make it more sensical. 18:08:44 it's not special to *me* 18:08:48 heh 18:08:50 now it is. 18:09:05 (whom the world revolves around, obviously ;) 18:09:10 but of course. 18:09:21 --- quit: Amanita_Virosa ("Phoom.") 18:09:25 i'm fully aware i exist for the sole purpose of entertaining you via text. 18:09:46 i'm no more real than england (which also doesn't exist -- of course) 18:10:01 glad we got that straight :) 18:11:09 indeedy. 18:11:09 * zpg prints the # prompt, awaiting further data 18:11:39 I'm just saying, the people back then were right to call it "modern", but the people today who use that label for it are incorrect. 18:12:36 no they're not, they're referring to Modernity as period. 18:12:38 modern stuff is the internet, linux, google, etc. 18:13:00 they're mangling the english language, period. 18:13:18 hmph. 18:13:43 lukeparrish: aah, the meaningconflict of the word modern (first meaning being something recent but not too recent and the second meaning being an reference to a certain timeperiod) 18:13:44 if my grandkids are still calling google "modern", they are silly. 18:14:13 you're missing the point. 18:14:37 (well, depending on the time scale. on a geological scale, the egyptian pyramids are modern.) 18:15:15 lukeparrish: time scale of one lifetime or two 18:15:48 oh, sure. but if you use a different timescale (pedantry:) linux is antiquated, etc. 18:16:45 zpg: I got the point. they applied that label and someone thought it would be cool to stick with it. I just happen to disagree. it's a dorky name for the period. 18:17:16 you could use the time scale of a gnat if you want to. 18:17:17 --- quit: erider ("I don't sleep because sleep is the cousin of death!") 18:17:24 lukeparrish: like calling a place North? 18:17:29 i'm not a huge fan either, but it's not "dorky" and people didn't "choose to stick with it" as such. 18:17:47 anyway, : let's drop ; 18:21:58 Zarutian: exactly. 18:25:02 zpg: sorry for harping on it. I got a bit carried away. 18:28:50 :) 18:29:23 time for sleep - night all. 18:29:25 --- quit: zpg ("ERC Version 5.1.3 (IRC client for Emacs)") 18:32:01 --- quit: snowrichard ("Leaving") 18:34:39 he made a good point that I was missing before. "modernity" is a label inactively applied to a given period, not an active description thereof. suddenly, the term "post-modern" has a coherent meaning, whereas before it made no sense to me whatsoever. 18:45:53 I WAS IGNORANT :( 18:52:03 but now am Enlightened. 18:53:06 Better to be FluxBoxed. 18:53:18 which is also a silly name for a period of time. why not the Age of Ignorance or Old-Fashioned period? 18:53:29 there ya go 18:53:40 The Bush Years will be known as "The Age of Ignorance". It's been reserved already. 18:53:49 nucular. 18:54:00 well I use Ice. another Age. 18:54:29 nukyular? isn't that how it's always been pronounced? 18:54:48 Only by the leader of the Age of Ignorance. 18:56:59 Gotta name a window manager after that sometime. 18:58:12 interesting how people tend to name their contemporary age after what they liked about it. 18:59:10 I don't know about "liked". 18:59:21 Perhaps about something was notable. 18:59:45 Also, some are named later in history. I doubt the Catholics referred to themselves as living in the Dark Ages. 18:59:59 yeah. those are the ones with unliked names. 19:08:19 Hey. 19:08:29 hmm. ignorance has it's appeal, eh? they say it's bliss... :P 19:09:19 My factoring-fu is getting better. 19:09:33 This is good. 19:09:35 cool 19:10:32 I concede that my aggressive type checking system is sometimes a nuisance. On the flip side, it has caught a number of "I didn't really want to do that" events. 19:10:48 But you would have caught those anyway, as your program wouldn't have worked. 19:10:55 I should make integers and mptrs interchangable. But I like my string types. 19:11:12 Yes, but I found them much more quickly, since I immediately got a incorrect type exception. 19:11:21 Rather than just a segfault. 19:11:30 If you're factoring small and incrementally testing, you'd have found them very quickly. 19:11:53 You quickly get to where you don't actually make those errors at all. You'll get there soon if you keep working on your factoring. 19:12:21 At that point, the type system is just a performance burden. 19:12:48 And a burden on the programmer, who has to cater to it. 19:13:24 If it's out-of-range memory accesses you want to trap, there are other ways to do it than by checking each individual memory access at run-time. 19:15:30 I think I could gut most of it without much problem. I'd leave the string types, however. 19:16:15 Your string-fu will improve, too. 19:16:22 If you practice, anyway. 19:16:34 Forth strings are not hard. I'm writing about them now. 19:17:35 I still don't like them. I've never liked counted strings. Yes, they good for binary data, but for basic string handling, give me zero terminated strings anyday. 19:17:56 Counted strings are outdated in Forth. The modern Forth convention for strings is c-addr u. 19:18:21 Same basic difference. You're tracking the length, rather than using a sigil. 19:18:33 Yes, but without the need to scan the string for the terminator every time you need the length. 19:18:45 Plus a string can then contain the zero byte. 19:19:30 I have zstring words; z" zliteral and strlen, so I can communicate with C libraries. Everything else I do with c-addr u strings. 19:35:28 I'd also maintain the float types. 19:36:17 Forth has float types. 19:36:54 Only one of the Forths I've tinkered with before had floats. Maybe it's common now, but it sure didn't use to be. 19:37:02 "Fixed point!" was the battle cry. 19:37:05 Last 12 years, very common. 19:37:29 Probably not on 8051s, PICs, Z80s and MSP430s, however. 19:37:46 Minimal environments leave many things out. 19:37:57 Yes. 19:38:38 I can't remember if the Forth I played with that had a separate float stack was 6502, Z80, or PC. I am thinking it might have been a Z80 implementation. 19:38:58 Fixed-point is still a very useful too. 19:39:03 Yes, it is. 19:39:15 And sometimes, floating point is just a helluva lot easier. 19:40:31 I do a fair amount of fixed point on the embedded Linux box I maintain. It's a 386 with no math co-proc, so float point operations are VERY expensive. 19:42:00 Sure. Floating-point is optional under the standard, but very common on any box that has the resources. 19:42:05 However, if you feel compelled to implement something in fixed point to prove a point, I have an algorithm that's about 4 lines. And it would be a useful Forth library type routine. 19:42:23 what do you mean? 19:43:13 Given a polygon specified by a list of vertices, which are floating point lat/long pairs, determine if a lat/long point is inside the polygon or not. 19:45:35 That would involve hitting the geometry books. 19:45:48 Oh, I have the algorithm. It's in C, and uses floats. 19:45:58 But it would be nice to have in Forth, in fixed point. 19:46:08 Anything can be converted to fixed-point, depending on the required precision. 19:47:39 http://forth.pastebin.ca/207598 19:48:01 I'm not sure about that, in this case. I'm not sure the dynamic range of an int will suffice. 19:48:17 But fancy math isn't my high point, so I could be wrong. It might be easier than I expect. 19:48:36 So 'about 4 lines' is 51 lines, is it? :) 19:48:38 MAX_VERTICES is 20. 19:48:46 Well, the core detection code is 4 lines or so. 19:49:00 Maybe 8. 19:49:29 6 digits to the right of the decimal point is the minimum precision. 19:49:52 and the number on the left? 19:50:23 Never greater than 359. 19:50:33 Or less than 0. 19:50:46 actually, that's not quite true. 19:50:58 The range for a latitude is -180 to 180, and longitude is 0 to 359. 19:51:34 Converting an algorithm like that is annoying; first I'd have to break it down and comment it properly, and then factor it, and then convert it to fixed-point. 19:51:48 Yah. 19:52:03 And the algorithm isn't something I claim to really understand. Let me find the paper on it. 19:52:36 http://www.alienryderflex.com/polygon/ 19:56:44 --- join: I440r__ (n=mark4@65.244.197.34) joined #forth 19:58:48 --- nick: I440r__ -> I440r 20:03:33 I've seen something similar to it in one of the Graphics Gems books. 20:03:39 I think that might have been integer already. 20:07:26 Interesting. 20:13:35 http://www.pavanguitars.com/tp20.html 20:13:39 im thinking of buying that 20:14:04 But you can only play Spanish music with it! 20:14:52 It's got RIAA region encoding 20:14:52 badly 20:14:54 heh 20:15:02 olé! 20:15:12 do a little studying of fernando sor 20:15:30 Doesn't seem unreasonably priced, from what little I know of guitars. 20:15:42 my current ibanez accoustic/electric isnt very good for classical stuff lol 20:15:45 steel string 20:15:51 its very very nicely priced 20:16:14 and it has an ebony fretboard and thats damned sexy :) 20:16:58 I can't remember what it is, but a friend of mine has a guitar that's valued somewhere around $5K. He paid $1200 for it about 25 years ago. 20:17:06 wow 20:17:10 is it for sale ??? :) 20:17:14 A Gibson maybe? 20:17:16 No, it's not. 20:17:28 gibsons are mass produced. 20:17:30 this is hand made 20:18:51 Damn, now I'll have to ask him what it is. 20:19:01 :) 20:19:36 Martin. That's what I think it is. 20:19:53 oh my god! 20:19:56 an older one ? 20:20:14 they made those with scalloped braces and that mad them slightly weaker 20:20:22 the sound board sort of buckled slightly 20:20:30 so they were flamed for a long time 20:20:41 NOW people suddely realise that those sound WAY BETTER !!!!! 20:20:43 --- quit: vatic (Read error: 110 (Connection timed out)) 20:21:01 pre 50's martins are worth $$$$$ 20:21:11 http://www.frets.com/FRETSPages/Musician/Guitar/SclpBraces/sclpbrace1.html 20:21:29 same people who cut their gold speaker cables to exactly the same lengths so 'the sound will be synchronized'? :) 20:21:48 lol 20:22:02 the sound board of a guitar has ribs attached to it for strength 20:22:03 I think it might be a D-18. 20:22:06 they are called braces 20:22:19 scalloped braces are sort of shaped like a suspension bridge 20:22:30 the thin area bends under pressure - very slightly 20:26:53 I once learned to play the first few chords of Smoke On The Water. That was about the extent of my music education. 20:27:20 Yea. All 7 of them. 21:15:32 --- join: nighty_ (n=nighty@sushi.rural-networks.com) joined #forth 21:24:46 --- part: nighty_ left #forth 21:25:40 --- join: arke_ (n=Chris@pD9E0755F.dip.t-dialin.net) joined #forth 21:25:54 --- join: nighty__ (n=nighty@sushi.rural-networks.com) joined #forth 21:41:53 --- quit: arke (Read error: 110 (Connection timed out)) 22:09:31 --- quit: virl ("Verlassend") 22:49:54 --- nick: arke_ -> arke 23:08:49 --- join: crest_ (n=crest@p5489430A.dip.t-dialin.net) joined #forth 23:19:23 --- quit: Crest (Read error: 110 (Connection timed out)) 23:23:50 --- join: crest__ (n=crest@p5489788E.dip.t-dialin.net) joined #forth 23:35:12 --- quit: crest_ (Read error: 110 (Connection timed out)) 23:59:59 --- log: ended forth/06.10.17