00:00:00 --- log: started retro/06.10.13 00:53:05 --- quit: Quartus (Read error: 54 (Connection reset by peer)) 00:53:41 --- join: Quartus (n=trailer@CPE0001023f6e4f-CM013349902843.cpe.net.cable.rogers.com) joined #retro 01:53:46 --- quit: Shain (Read error: 110 (Connection timed out)) 02:37:15 --- join: neceve (n=claudiu@unaffiliated/neceve) joined #retro 02:46:15 --- quit: Quartus (Read error: 104 (Connection reset by peer)) 02:54:04 --- quit: neceve (Read error: 131 (Connection reset by peer)) 02:54:43 --- join: neceve (n=claudiu@unaffiliated/neceve) joined #retro 04:52:16 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #retro 06:05:38 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #retro 06:06:34 Good morning, 06:16:45 --- nick: Raystm2 -> NANSTM 06:59:54 --- join: Raystm2 (n=NanRay@adsl-68-95-255-105.dsl.rcsntx.swbell.net) joined #retro 07:10:27 --- join: Shain (n=steve@m410e36d0.tmodns.net) joined #retro 07:14:49 --- quit: NANSTM (Read error: 110 (Connection timed out)) 09:04:16 --- quit: Shain (Read error: 145 (Connection timed out)) 09:34:14 --- join: Quartus (n=trailer@CPE0001023f6e4f-CM013349902843.cpe.net.cable.rogers.com) joined #retro 10:13:27 --- join: Shain (n=steve@m190e36d0.tmodns.net) joined #retro 12:56:28 --- quit: Shain (Read error: 110 (Connection timed out)) 14:07:32 --- quit: nighty (Read error: 113 (No route to host)) 14:07:52 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 14:08:21 --- join: nighty (n=nighty@66-163-28-100.ip.tor.radiant.net) joined #retro 14:41:00 --- join: Shain (n=steve@m090e36d0.tmodns.net) joined #retro 14:42:31 good evening 14:51:50 Hey crc, how you are? :) 14:54:11 pretty good 15:02:24 --- quit: Ray_work ("User pushed the X - because it's Xtra, baby") 15:43:47 --- quit: crc (Remote closed the connection) 15:50:40 --- join: crc (n=crc@pool-70-110-168-22.phil.east.verizon.net) joined #retro 15:51:06 --- mode: ChanServ set +o crc 15:51:38 hi crc 15:52:41 hi luke 15:53:26 hey, how's it going? 15:53:53 pretty good 15:54:30 * lukeparrish just got back from doing some construction at his new workplace 15:54:34 RxForth is shaping up nicely, and I'm still trying to isolate the cause of the bug in the Windows version of RetroForth when loading files after the ANS layer is loaded 15:54:46 neat 16:03:07 tomorrow I plan to start reading through the Win32 docs to see if I can make this work... 16:26:48 cool! I finally figured out what the handbook does when Javascript is enabled :) 16:27:52 crc, good deal. 16:31:09 bbiab, time to eat 16:31:30 btw, that bug shows up even without loading the layer. 16:31:56 If I recall our earlier debugging efforts correctly. 16:40:49 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-187-074.pools.arcor-ip.net) joined #retro 16:48:38 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 16:49:01 --- nick: snoopy_1711 -> Snoopy42 17:17:14 woah, with CSS enabled it's even more cooler. 17:21:05 way more 17:21:13 How much way more? 17:21:29 http://docl.rx-core.org/docs/Handbook.html 17:21:32 --- join: erider (n=erider@unaffiliated/erider) joined #retro 17:21:42 way way much more cooler 'n stuff :) 17:24:45 * lukeparrish normally leaves opera in "user mode" 18:08:00 --- join: jas2o (n=jas2o@144.134.159.234) joined #retro 18:17:34 is there a simple way to undo a parse? 18:18:10 you mean like wsparse in retroforth? 18:18:48 yeah 18:19:08 >in @ >r ... parse something ... r> >in ! 18:19:44 cool 18:25:30 --- mode: ChanServ set +o Raystm2 18:38:53 I've been playing with commenting in RxForth. 18:38:56 : comment >in @ swap - >in ! drop '\ parse 2drop ; 18:38:56 '\ prefix: x: comment ; 18:39:24 lets you add comments without spaces 18:39:47 precludes naming any new words with a \ as their first character, though. 18:39:55 true 18:40:07 or any intervening character 18:40:27 intervening? 18:40:51 e.g. hi\bye 18:41:06 that would work, wouldn't it? Doesn't prefix just refer to the left-most characters? 18:41:32 hmm. I guess it would. 18:41:54 Unfortunately all prefixing precludes similar naming. I've been bitten by that a couple of times. 18:42:18 darn 18:42:32 Even just the # $ & % and ' stuff. 18:42:59 are there many cases where starting with a non-alphanumeric is usually desired? 18:43:05 Though the one time I can remember having to chase after it, it was a missing space after a '. 18:43:42 well, I use #things for number of things, /thing as the size of a thing, etc. 18:44:01 'foo holds the xt of foo, commonly. 18:44:16 --- join: timlarson_ (n=timlarso@user-12l325b.cable.mindspring.com) joined #retro 18:44:29 ah, ok. so it becomes a semi-documenting shorthand 18:44:55 Right. Forth lets you use any symbols in a name, and prefixing works against that in the name of another kind of shorthand. 18:45:29 It brings to mind my getting bitten by retroforth's few words that have the same names as hex numbers. 18:46:06 Any alphanumeric name is a number in some base, but hex is so commonly used that to have overlapping names is a bug waiting to bite. 18:47:00 true 18:47:59 I don't think I would miss backslash. it's so similar to forward-slash that it seems like it wouldn't be very useful as shorthand 18:48:20 (rather, it would tend to be counter-beneficial as such) 18:48:59 although... I could write a prefix that makes them equivilent at the front of a word :P 18:49:22 I'm not sure what is gained by so doing. I can see what is lost, though. 18:51:10 just joking :) 18:51:33 someone might *imagine* a benefit... 18:51:37 :) But even with the \ prefix, allowing \comments. You've gained very little, and lost something possibly more significant. 18:52:06 hmm. it makes stack diagrams easier to type. 18:52:18 --- quit: timlarson_ ("Leaving") 18:52:23 My stack diagrams look like ( a b c -- d ) 18:52:29 hitting backslash is *much* easier than shift-parentheses. 18:52:48 lukeparrish, maybe you're in too much of a hurry to get your programs typed in. :) 18:52:59 --- join: timlarson_ (n=timlarso@user-12l325b.cable.mindspring.com) joined #retro 18:53:15 After all, :) is slower to type than :\ but they mean different things. :) 18:53:55 wellll maybe I'd use stack diagrams more often if they weren't so annoyingly hard to type :) 18:54:28 hmm, are :/ and :\ different in meaning? 18:54:31 Practice for a few minutes every day. ( a b -- b a ) ( a b c -- c b a ) ( c-addr1 u -- c-addr2 u ) after awhile it's second nature. :) 18:55:11 I don't know, lukeparrish, maybe they are. I wouldn't alias the two symbols, any more than I'd alias e and a just because they sometimes have the same sound. 18:55:45 I and l and 1 look a lot alike in the font I'm using, but they're very different. 18:56:15 annoyingly true. 18:56:21 Not to mention |. 18:56:28 eek! 18:56:51 yeah. that | goes better in ascii graphics than the other ones. 18:57:13 it's too bad ~ is the closest to the opposite of _ 18:57:26 Symbols are significant, sequences of symbols are significant, and that significance can be powerful. Throwing away possible sequences in the name of convenience is to throw away the power along with it. 18:57:34 * crc returns for a while 18:58:00 Il1| are all pretty close in a lot of fonts. I'm using code2000 right now, and it's quite a bit better. 18:58:01 some power a) does more harm than good most of the time, and b) can be easily regained when needed. 18:58:31 lukeparrish, it's in the nature of Forth not keep the harmful power away from the programmer. Sharp edges. Handle appropriately. 18:59:02 And learn to type better, sheesh. :) 18:59:54 Hey, I don't usually look at the keys any more! :) 19:00:14 Progress ;) 19:01:37 Hi crc, welcome back 19:02:11 I can only speak for what has bitten me. Prefixes have. 19:03:05 well, parens as comments kind of get in the way of other possible uses as well. 19:03:16 Really Quartus, prefixes. Is there a mechanical advantage. Or is it just looks cleaner maybe? 19:03:17 The ' prefix but I had took some serious hunting, as it was completely silent. 19:03:24 You can't use them as prefixes in *practice* unless you want your code to be unreadable 19:03:47 people often miss spaces and the lack thereof 19:03:49 Raystm2, it looks cleaner to say 'a rather than [char] a and it's a bit faster to type. 19:04:29 But heaven help you finding somewhere that you've dropped a space after a '. 19:04:52 I agree. I'm sorry, cuz I formed that sentance all wrong. If you read it all with question marks instead of periods, you'll get what i meant to say. 19:05:37 Raystm2: Quartus has that effect on me too :) 19:06:05 I like the way the prefixes work, but I was worried about using them, and then making RxChess ans-able. 19:06:22 And readable to someone who hadn't seen it. 19:06:27 I guess I could document. 19:06:29 When I was importing some source under the ANS layer, one file had a table of hex values. Crashed horribly, as there were a half-dozen words in the rf dictionary that were hex values, and it was executing them out of context unwittingly. 19:06:44 ouch 19:06:56 ooh. 19:07:03 I thought, well, I could edit the file so all these two-digit hex values had a 0 in front of them. 19:07:23 But instead I put all the rf hex-matching words into their own wordlist and put it out of harm's way. 19:07:50 Containment. 19:08:07 Well, and restoring regularity to the system. 19:08:33 Contentment. 19:08:38 hex ... then whatever values you want, but not f, eb, e, d, or b0! Hard to remember the exceptions. 19:08:42 doesn't the word-handler check the dictionary first, before deciding something is a number? 19:08:51 Right, and that was the problem. 19:09:22 words, numbers, then word? or (not-found) 19:09:45 my poor CRC implementation (that's the checksum, not the Charles) .... create table ........... eb , b0 , boom! 19:09:47 and word? does prefixes 19:10:05 oops 19:10:22 there are number prefixes and word prefixes 19:10:38 >number handles the number prefixes # % $ ' 19:10:41 ok, so that's just word prefixes I take it 19:10:54 the default word? or (not-found) handles the word prefixes 19:11:13 ya. I had to redefine a few hex values as well. In a system that can use early hex values as wordnames, maybe the prefix should be prefered when meaning numbers 19:11:29 that means prefixing all numbers defensively. 19:11:32 so you can have words that start with a prefix character and use them normally... 19:12:16 It does mean that. 19:13:23 you could make a "prefer" word that makes numbers be looked up first. 19:13:47 Then in base 36 you couldn't use any dictionary words. 19:13:57 ? 19:14:18 with a prefix, you could 19:14:24 No alphanumeric ones, anyway. In base36, DROP is a number. 19:14:24 why not? 19:14:34 but words are searched first 19:14:44 I was answering lukeparrish's notion of having numbers convert first. 19:14:56 ahh, I missed that 19:15:51 You could require all numbers to be prefixed defensively, but you start to lose some of the simplicity. It was you lukeparrish who said that ( was hard to type. Do you want to put # in front of every decimal value? 19:16:26 simplicity is somewhat subjective. 19:17:19 If typing fewer characters is desireable to you, then requiring numeric prefixes to defend against the possibility that the kernel in any given revision of your compiler will have words that step on hex values runs in the non-desireable direction, I'd say. 19:18:03 don't most people use prefixes for hex anyway? 19:18:11 In that setup, you could rid yourself of BASE and HEX and DECIMAL completely, as all numbers would be specified as to base. 19:18:12 and octal for that matter? 19:18:27 C sees numbers with a leading 0 as octal in certain contexts. 19:18:48 Learn a new thing every day. :) 19:18:58 I didn't know that. 19:19:11 it's like "0x123" isn't it? 19:19:24 0x is for hex. 19:19:37 or wasn't that 0h123? 19:19:43 s/or// 19:19:51 it's 0x or 0X 19:19:55 I've never seen a 0h prefix 19:20:05 the h comes at the end. ya 19:20:06 Right, it's not 0h in C. 19:20:15 123h, 0x123, $123 19:20:36 123h and $123 aren't C. 19:20:38 123b 123h 123d 123o ive seen. 19:20:55 $123 is 19:20:57 for hex? 19:21:04 $123 is not C as far as I know. 19:21:07 in the gas side of C 19:21:07 Quartus: nope 19:21:14 or as 19:21:15 gas isn't C. 19:21:23 it works in the fasm assembler though 19:21:38 its not? its only the compiler itself 19:21:53 the backend of C 19:21:56 gcc generates assembly for gas to assemble 19:21:59 No, gas is not C. It's what gcc targets. 19:22:06 dollar-sign is kind of using up prefix-space that could maybe be used for strings or some such. 19:22:06 exactly 19:22:35 hmm ok but I like at them as one :) 19:22:49 alphabetical suffixes would be nicer imo. 19:22:51 I use a set of parsing words that evaluate the next word in a given base context. (hex) (octal) (binary) (decimal) 19:23:00 s/like/look 19:23:17 less shifting that way, and more self-documenting 19:23:17 (hex) deadbeef 19:23:17 for instance. 19:26:01 With the parsing words I can be in one base, and temporarily use another, as in 3 5 + 9 * (hex) . -> 48 19:26:51 gn 19:26:55 that looks nice! 19:27:37 Yes, I find it advantageous to be able to apply the temporary radix to a word, instead of just to a number, while at the console. 19:28:24 Of course the caveat is that : foo (hex) . ; doesn't make foo a hex-printing word. 19:28:25 --- quit: timlarson_ ("Leaving") 19:28:48 : foo . (hex) ; would? 19:29:04 No, that'd be the same. (hex) and friends immediate. 19:29:07 er, are immediate. 19:29:58 : foo . (hex) ; would compile ; while in base 16, and then reset the base to whatever it was before. :) 19:30:06 Not all that useful. 19:30:21 ah, I see 19:30:26 --- quit: jas2o ("Konversation terminated!") 19:30:40 --- join: timlarson (n=timlarso@user-12l325b.cable.mindspring.com) joined #retro 19:31:35 But : foo (hex) abcd ; would make foo return the hex value abcd. 19:32:02 It could certainly be expanded such that : foo (hex) . ; did indeed do what it looks like it might, without much trouble. 19:33:21 macro: (hex) wsparse hex eval 10 base ! ; 19:33:40 well, that would always reset the base to decimal, but that's the general idea. 19:33:57 cool 19:34:56 a fancy (hex) would build the string "save-base hex $ restore-base", replacing $ with the next parsed word, and evaluate that. Then it'd work in : foo (hex) . ; too. 19:35:31 more like macro: (hex) base @ >r wsparse hex eval r> base ! ; would work, as long as the following word didn't try to dig into the return stack. 19:35:54 well, the following word can't dig into the return stack in any way that disrupts it. 19:36:50 : May-the @forth always find you ! ; May-the 19:36:56 well, it can't expect it to be the same as normal. e.g. in a for loop, the counter would be buried. 19:37:31 Consider the timing of the return-stack action; I think you'll see it'd be fine. 19:37:33 !you in retroforth. 19:37:34 but when messing with the rs, you've got to be paying attention anyway 19:38:21 who wants a T-shirt with : May-the @forth always find you ! ; May-the 19:39:51 At the conventions the faithfull can chant 'may-the may-themay-themay-themay-themay-themay-themay-themay-the 19:40:21 Ok, here's a (hex) that'd make Ertl itch all over from it's state-smartitude: http://forth.pastebin.ca/202031 19:40:57 With that one, decimal (hex) abc . -> 2748 : .hex (hex) . ; 2748 .hex -> ABC 19:41:43 woah :) 19:41:58 string-scripting! 19:42:26 Way more intuitive. I'll develop it along those lines. 19:42:37 cool 19:43:12 Clever. 19:45:06 May-the @forth be with you ! ; may-the ( doh! ) 19:45:38 do you automatically pick up the fact that @forth is a prefixed word? 19:45:56 It's not defined in your script. 19:46:07 I don't follow you. 19:47:12 For the t-shirts. If you've been in forth for a while but have never tried RetroForth, do you pick up on the fact that @forth is a prefix? 19:47:27 Is it intuitive. 19:47:28 ah, now I get it :) 19:47:54 hmm. not really intuitive 19:48:07 the t-shirt slogan I mean 19:48:11 I don't think in terms of prefixes in Forth. 19:48:16 right. 19:48:37 you could have the code defining the prefix and stuff in smaller print 19:48:44 hehe. :) 19:48:52 that would make it work 19:49:07 people would see the big final line, then read closer to make sense of it 19:49:09 on a patch sown above it. 19:49:34 (non-forthers would need it explained laboriously ;) 19:49:39 haha. 19:49:52 real forthers would have a better definition. 19:49:57 or a better patch. 20:04:43 http://forth.pastebin.ca/202051 is a retro version of (hex). 20:06:59 Yes, that's a 1:1 translation, I think. 20:07:41 I wouldn't bother with all the [[ and ]] stuff, but whatever you're comfortable with. 20:13:37 well, I understand it. 20:13:53 in fact, does that even work? [[ base >r ]] execute would crash, wouldn't it? 20:14:34 wouldn't putting the value on the return stack interfere from the exit of the nested anonymous definition? 20:15:47 yes 20:16:29 hmm. seems to work fine when used from another word. 20:16:32 so is there an easy way to write that so it works, without using else? 20:17:38 yeah, the true-state branches would work. Not the false-state ones. 20:18:08 not working in interpreter mode :/ 20:19:18 luke: use self: instead of macro: 20:21:21 getting a segfault 20:23:20 perhaps this? http://retroforth.net/paste/?id=216 20:23:59 works :) 20:24:48 yeah. Lacking else you're obliged to repeat the central phrase. Maybe a factor would improve it. 20:26:22 there's sure to be a better way. I just did this quickly 20:35:08 http://retroforth.net/paste/?id=217 also seems to work 20:35:58 lukeparrish: that won't work in rxforth though 20:37:54 not in vanilla :/ 20:38:17 it may work with colorful or gtk though 20:38:42 it works in colorful 20:39:15 odd, gtk crashes 20:39:50 what version of rxforth? 20:41:01 1.0 20:42:34 was that with the new or older gtk world? 20:42:51 e.g., the new class based one or the older model derived from retro? 20:43:30 class-based, looks like 20:44:17 afk 20:45:01 hmm 20:45:06 * crc will take a look 20:48:34 it works in 1c 20:49:12 you may want to try 1b (on the google group) 21:08:30 ok 21:12:05 1b also gets segmentation fault when I do ./bin/rxforth ./worlds/gtk 21:12:15 cd worlds 21:12:18 ./gtk 21:12:31 or ../bin/rxforth gtk 21:12:44 worked 21:12:48 the world needs the gtk.rx library to be in the current working directory 21:12:53 ok, so it was a path issue 21:12:58 yeah 21:13:24 once I standardize the library structure (maybe in 1c), this should be much more trivial to get working 21:13:39 library modules will go in ~/.rxforth/library 21:13:52 wow, the gtk one is neat 21:15:19 --- quit: crc (Remote closed the connection) 21:16:32 --- join: crc (n=crc@pool-70-110-168-22.phil.east.verizon.net) joined #retro 21:17:04 --- mode: ChanServ set +o crc 21:17:47 crc: you get my typo report? 21:17:56 no 21:18:04 email or group? 21:18:08 emailed it earlier today 21:18:27 ok, I'll check it 21:18:35 it was about the cat example in the handbook, in the read function's stack diagram 21:20:27 ahh, ok. I'll fix that 21:28:35 I put the latest handbook and the start of the manpage up on the group 21:32:24 and now it's time for bed. goodnight 21:32:35 good night 21:32:36 ciao 23:16:52 --- quit: Shain (Read error: 110 (Connection timed out)) 23:59:59 --- log: ended retro/06.10.13