[REBOL] Re: uppercase
On 28-May-02, Charles wrote: > That is rather odd. The function, I do not feel, should actually > perform an operation on the argument being passed. At least, not in > general. Same happens with 'lowercase'. > Well, it answers the question I recall seeing about capitalizing: >>> uppercase/part x 1 > ;) It's rather subjective, I think, and perhaps based on us not being used to "uppercase" as a verb. 'clear, 'replace 'trim and other words work on the argument, so why not 'uppercase? It's also more useful I think, as instead of this... x: uppercase x we can use... uppercase x >> Hi rebols, x: "hello" >> == "hello" y: uppercase x >> == "HELLO" x >> == "HELLO" < Why is x now uppercase? >> This is really unexpected behavior! Is this a bug? I'm pretty sure it isn't. But to get around your above problem, just use 'copy. ie... >> x: "hello" == "hello" >> y: uppercase copy x == "HELLO" >> x == "hello" >> y == "HELLO" >> Is it like this in the new version of rebol (I haven't upgraded >> yet)? >> Louis -- Carl Read -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: uppercase
No, I don't think it is a bug. It is just like replace. Just work on a copy of x: y: uppercase copy x And this is the same in the latest view beta I'm running. Anton. > >> x: "hello" > == "hello" > >> y: uppercase x > == "HELLO" > >> x > == "HELLO" < Why is x now uppercase? > > This is really unexpected behavior! Is this a bug? > > Is it like this in the new version of rebol (I haven't upgraded yet)? > > Louis -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: uppercase
Hi, > >> x: "hello" > == "hello" > >> y: uppercase x > == "HELLO" > >> x > == "HELLO" < Why is x now uppercase? > > This is really unexpected behavior! Is this a bug? No it is not a bug. It is actually a nice flexible design. There are two things at work here. (1)-- Look at these two lines of code: a-symbol-for-the-string: "The String" also-a-symbol-for-the-same-string: a-symbol-for-the-string The word A-SYMBOL-FOR-THE-STRING is set to the string (reference to the string). The word ALSO-A-SYMBOL-FOR-THE-SAME-STRING is set to the value (after evaluation) of the word A-SYMBOL-FOR-THE-STRING. Since this value is a string (reference to the string), both word refer/set/point to the exact same string. BTW, The same behaviour occurs if instead of a STRING! you used a BLOCK! - it happens for all series types. (2)--- UPPERCASE, LOWERCASE, SORT, REVERSE modify the string that they are given. It is *not* that they take a string, process it and return the processed results. Instead, they take a string, modify that string, and return a reference to that *same* string so that possibly another function can use it as an argument. For example: >> x: "hello" == "hello" >> uppercase x == "HELLO" >> x == "HELLO" >> x: "hello" == "hello" >> sort uppercase x == "EHLLO" >> x == "EHLLO" The reference to the string that is returned in some cases is also modified from the original. It is a reference to the same string but it points to a different character in that string. In the case of REVERSE for example, the index position points to the character after the characters that were reversed: >> x: "hello" == "hello" >> y: reverse/part x 3 == "lo" >> x == "lehlo" >> same? x head y == true Now I said it was a flexible design. The reason is this. Imagine that you have a huge string. x: {An absolutely huge string...} For UPPERCASE to do what you expected it would have to copy the string it was given. So that just doing... uppercase x ...would mean that you would have two huge strings in memory. Do you have enough memory in your computer to complete the task? The designer of these functions decided he could not answer this question so instead leaves the choice to you. If you decide that you must not touch the original string then you should make your own copy of it. Like this >> x: "hello" == "hello" >> y: uppercase copy x == "HELLO" >> x == "hello" >> y == "HELLO" I hope that clears it up a bit. Brett. - Original Message - From: "Dr. Louis A. Turk" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, May 28, 2002 11:50 AM Subject: [REBOL] uppercase > Hi rebols, > > >> x: "hello" > == "hello" > >> y: uppercase x > == "HELLO" > >> x > == "HELLO" < Why is x now uppercase? > > This is really unexpected behavior! Is this a bug? > > Is it like this in the new version of rebol (I haven't upgraded yet)? > > Louis > > -- > To unsubscribe from this list, please send an email to > [EMAIL PROTECTED] with "unsubscribe" in the > subject, without the quotes. > -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: xwt and rebol ?
Hello laplace On 25-May-02, laplace wrote: > The rebol plugin doesn't work any more in IE6 so what about combining > rebol and xwt: > http://www.xwt.org/tutorial.html > Just got this from the author: To: Alan Crandall <[EMAIL PROTECTED]> Subject: Re: Demo page From: Adam Megacz <[EMAIL PROTECTED]> X-Home-Page: http://www.megacz.com/adam Alan Crandall <[EMAIL PROTECTED]> writes: > Could I send your email address to the Rebol ml so if somebody is > interested in working with you on a cross app program? Sure. Link to Rebol: http://www.xwt.org/faq.html#similar In a previous email I said that the demo page was not working but with the log file I sent to Adam,it working now.Any takers? Regards -- Nothing in the world is more dangerous than sincere ignorance and conscientious stupidity. -- Martin Luther King, Jr sent via Yam ver2.31 on AmigaForever verV Be a Rebel get Rebol@ rebol.com UIN#=9391028 -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: uppercase
That is rather odd. The function, I do not feel, should actually perform an operation on the argument being passed. At least, not in general. Same happens with 'lowercase'. Well, it answers the question I recall seeing about capitalizing: >> uppercase/part x 1 ;) > Hi rebols, > > >> x: "hello" > == "hello" > >> y: uppercase x > == "HELLO" > >> x > == "HELLO" < Why is x now uppercase? > > This is really unexpected behavior! Is this a bug? > > Is it like this in the new version of rebol (I haven't upgraded yet)? > > Louis > > -- > To unsubscribe from this list, please send an email to > [EMAIL PROTECTED] with "unsubscribe" in the > subject, without the quotes. > -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Enigma about Ladislav sameness
Is this an unsolved problem or do you know the answer and you are challenging us to also find out ? Anton. > Hi, > > I have an enigma about Ladislav's mut-equal1? (from > http://www.rebolforces.com/~ladislav/evaluation.html) > > b ;== "1" > string? b ;== true > identical? a b ;== false > same? a b ;== false > equal-state? a b ;== false > strict-equal? a b ;== false > equal? a b ;== false > > and: > > mut-equal? a b ;== false > > But: > > mut-equal1? a b ;== true > > What is 'a? > > --- > Ciao > Romano -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Upgrade now or wait?
Hi rebols, Is the new version of rebol-view going to make my scripts not work? What problems should I expect? Should I upgrade now, or wait? Louis PS I have to add that rebol is great, and the people on this list are absolutely super. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Off line
Hi rebols, Last week our Cox cable line was severed, and we were off line for several days and my mailbox overflowed and some email therefore was bounced. If you suspect your message to me bounced, please resend it. Thanks, Louis -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] uppercase
Hi rebols, >> x: "hello" == "hello" >> y: uppercase x == "HELLO" >> x == "HELLO" < Why is x now uppercase? This is really unexpected behavior! Is this a bug? Is it like this in the new version of rebol (I haven't upgraded yet)? Louis -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: REBOL momentum builds
Hi, > One question: Can Rebol handle UDP packets? On those examples people are > allvays using TCP but we use UDP on our protocols to embedded systems. Yes, but I haven't used it. I have on occassion seen scripts floating around that use it. Maybe someone else will point you to some examples. Brett. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Submitted, for your approval.
Ammon Johnson wrote: > Hmm... Some things that i found: > > Does this confuse anyone else? > > What is your guess? *@#%& > Matched: 2 Placed: 3 > > What is your guess? &@#%* > Matched: 2 Placed: 3 > Hmmm... Without knowing the details of what the computer had chosen, it's hard to say, but this is a possible scenario. It is possible to move symbols around and still get the same results. Remember, it is only reporting on the symbols that match and place, but it is not telling you which have matched and placed. So it's possible when you switch them around that symbols go from placed to matched and back again and still total the same. > I also noticed this: > > What is your guess? ^@#&* > Not all the choices you've made are valid. > Please make your choices from the following Symbols: ~ ! @ # $ % & * > This is because the ^ is not legal. I tried using it in REBOL and it gave me the following grief: ** Syntax Error: Invalid string -- " ] ** Near: (line 54) Symbol_Set: [ "~" "!" "@" "#" "$" "%" "^" "&" ] It doesn't like the ^ symbol, for whatever reason... > now watch what happens here: > > What is your guess? @#&*^ > Matched: 4 Placed: 1 > What??? Bugs in my code! No way! OK, OK, I guess I gotta fix it! That one is definitely a bug in my code. > You might also consider asking the user if he/she would like instructions at > the first of the game, I was rather confused to start with so I read the > source code. It would be much more intuitive to have it inform you of too > many or too few symbols. > Well, since this was more an attempt to learn REBOL than it was to create a serious game, I just wasn't focused on complete instructions, that's why I used the document feature rather than making it accessible while running. As to the "too many or too few" issue. It does tell the user that. This appears to be a bug in REBOL. As it turns out, since I wrote my sub-routines as refinements, if I call the refinement with it's proper prefix (i.e. Symbols/Indicate_only_5), the script runs as expected. If, OTOH, I forget to prefix it, which was my mistake (i.e. Indicate_only_5), the script runs, but the refinement does not execute. Curious... -- Sincerely, | Ed Dana| Courage is fear holding on a minute longer. Software Developer | -- General George S. Patton 1Ghz Athlon Amiga | === http://members.cox.net/edanaii/Home/Default.html === -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: funny...
> I look at IOS Reblet Applications on RebolTech site and... > 400 KB for a page??? > > "faster with less bandwidth"... I guess you mean http://rebol.com/reblets.html That's because there are 15 images weighing in at 377Kb I suspect they were made from REBOL directly. Thus legible but not optimized for size. {yet another reason why rebol needs CALL/SHELL bundled - for access to ImageMagick on servers} Out of curiosity I ran them through Fireworks 4 batch process.. GIF [Web216] >>> 306Kb JPEG [smaller] >>> 172Kb One could do better in terms of size/quality with some playing around. The JPEGS are fuzzier. Photos are easy to shrink [3-7Kb], but it's a tricky tradeoff getting text to read well small sometimes. I think it would be better if the page was wider format and just had a big juicy dense array of _smaller_ reblet images with minimal Title/captions. Then have clickthroughs on each to give full description and larger screen shots to focus on, preferably with some sort of rollovers to help explain. Plus PREV/NEXT buttons or some such to let one take the tour through the reblet apps. ..so much for backseat web design.. ./Jason -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: REBOL momentum builds
Hi Sorry for late reply but I did not see this announcement earlier. I have been reading this list very rarely in last couple months since I encountered difficulties with previous licensing method. Now things have been changed, and I need to start looking Rebol again, as I still have this need for making tools that are portable and have some Gui and networking connectivity One question: Can Rebol handle UDP packets? On those examples people are allvays using TCP but we use UDP on our protocols to embedded systems. Joanna -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Limiting Precision of Decimals,
Gregg, Chris, Gabriele, and Romano, Thanks for all the help. I'm still studying your code. I get back with you ASAP (I still have a lot to learn). Louis -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] funny...
I look at IOS Reblet Applications on RebolTech site and... 400 KB for a page??? "faster with less bandwidth"... Alekk -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: list! bug
Thanks Gabriele, I stand corrected ... out to find that thinking brain dog now ;-) Ingo Gabriele Santilli wrote: > Hi Ingo, > > On Monday, May 27, 2002, 4:51:06 PM, you wrote: > > IH> converts the value into the other datatype, but in the special case of > > IH>to-"any-series-datatype" an-integer > > IH> A new series is created, with an initial size of an-integer. > > Nope, that's for MAKE, not for TO. What Romano showed looks like a > bug to me. > > Regards, >Gabriele. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Submitted, for your approval.
Hmm... Some things that i found: Does this confuse anyone else? What is your guess? *@#%& Matched: 2 Placed: 3 What is your guess? &@#%* Matched: 2 Placed: 3 I also noticed this: What is your guess? ^@#&* Not all the choices you've made are valid. Please make your choices from the following Symbols: ~ ! @ # $ % & * now watch what happens here: What is your guess? @#&*^ Matched: 4 Placed: 1 You might also consider asking the user if he/she would like instructions at the first of the game, I was rather confused to start with so I read the source code. It would be much more intuitive to have it inform you of too many or too few symbols. HTH Ammon A short time ago, Ed Dana, sent an email stating: > Greetings all, > > Attached is a small game I created in my continuing effort to understand > REBOL. It is another guessing game, slightly more sophisticated than the > one I submitted previously. > > Please look it over and feel free to criticize, but do be gentle, as > this is my second attempt at a REBOL program. ;) -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Enigma about Ladislav sameness
Hi, I have an enigma about Ladislav's mut-equal1? (from http://www.rebolforces.com/~ladislav/evaluation.html) b ;== "1" string? b ;== true identical? a b ;== false same? a b ;== false equal-state? a b ;== false strict-equal? a b ;== false equal? a b ;== false and: mut-equal? a b ;== false But: mut-equal1? a b ;== true What is 'a? --- Ciao Romano -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Submitted, for your approval.
Ed Dana wrote: > > As I said, this is a learning excursive for me. Sometimes the best way ^ > to learn is to make all the mistakes you can up front. Saves time by not > making them later. :) DOH! Stupid spell-checker! Make that exercise, not excursive! -- Sincerely, | Ed Dana| Life's but a knife's edge, anyway. Sooner or later Software Developer | people slip and get cut. 1Ghz Athlon Amiga | -- Larry McMurtry, Streets of Laredo === http://members.cox.net/edanaii/Home/Default.html === -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: list! bug
Hi Ingo, On Monday, May 27, 2002, 4:51:06 PM, you wrote: IH> converts the value into the other datatype, but in the special case of IH>to-"any-series-datatype" an-integer IH> A new series is created, with an initial size of an-integer. Nope, that's for MAKE, not for TO. What Romano showed looks like a bug to me. Regards, Gabriele. -- Gabriele Santilli <[EMAIL PROTECTED]> -- REBOL Programmer Amigan -- AGI L'Aquila -- REB: http://web.tiscali.it/rebol/index.r -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: list! bug
Hi Ingo, <<...in the special case of to-"any-series-datatype" an-integer A new series is created, with an initial size of an-integer. >> Then why do to-block and to-hash work correctly? >> to-hash 1 == make hash! [1] >> to-block 1 == [1] >> to-list 1 == make list! [] --Gregg -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: help on Tooltips?
Hi Ingo, I also haven't tried your code, but I did submit feedback on DROP-DOWN. --Gregg -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: list! bug
Hi Romano, Romano Paolo Tenca wrote: > Is this a bug? > >>>to-list 1 >> > == make list! [] No, it's no bug, just not too intuitive. For most datatypes to-"datatype" value converts the value into the other datatype, but in the special case of to-"any-series-datatype" an-integer A new series is created, with an initial size of an-integer. Kind regards, Ingo -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: bug: not able to convert integer variable with to-binary
On 28-May-02, tmo wrote: > hi. > to-binary [255] works...=> #{FF} > but when i use a integer variable, for example this: > mavar: 255 > to-binary [mavar] or to-binary [:mavar] > => it doesnt work !!! > So how can convert my integer variable into binary ? Your problem is that the 'mavar in the block is a word, not an integer... >> mavar: 255 == 255 >> type? first [mavar] == word! The solution is to reduce the word... >> type? first reduce [mavar] == integer! So... >> to-binary reduce [mavar] == #{FF} -- Carl Read -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] list! bug
Is this a bug? >> to-list 1 == make list! [] --- Ciao Romano -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: help on Tooltips?
Hi Ingo, > Hi All, > After moving around a while I get no more events (at least, 'over isn't > called any more), any ideas on how to make it behave better? I haven't had a chance to try out your code. I can only think of two things off the top of my head right now. (1) Your events might be being eaten my the newly created tooltip face? (2) Are you using drop-down in your test layout? > Btw2, the function 'show-dropdown in > >probe get-style 'drop-down > > might be of some help, if only I understood what it's doing, has anyone > tried a drop-down in /view 1.2.5? It seems not to work properly in a > test of mine (drop-down field is never closed), and as I just noticed, > it's not present in /view 1.2.1. I'd overlooked DROP-DOWN until you just pointed it out. Yes it looks buggy. I had a look at that show-dropdown function too. Again I haven't had time to check it through but I'm suspicious of the WAIT and the DO-EVENTS (wait again). Doesn't feel right ;^) Regards, Brett. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: bug: not able to convert integer variable with to-binary
Hi, tmo a: 255 to binary! to block! a to binary! to paren! a to binary! reduce [a] to binary! compose [(a)] to binary! to path! a --- Ciao Romano -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: /View (beta and before) bugs
Hi Christian, Christian Langreiter wrote: <...> > is _still_ buggy with current /View beta (I better don't mention when > this bug has first appeared on the list and presumably been sent to > feedback ;-) <...> > PLEASE FIX, those are very important. Just in case, have you resubmitted it to feedback? Kind regards, Ingo -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Submitted, for your approval.
Hi Ed, maybe it would be better (at least better looking) if you turned your function/refinements design into an object/funcs design, wouldn't take much I guess. And you can give 'print a block, like this: print [ "Matched: " Matched " Placed: " Placed newline] 'newline adds, you'll guess it, a newline (you could use "^/", too). From the usability view-point: - You should display a list of the symbols on startup. - and an error on less than 5 symbols - help on wrong symbols Kind regards, Ingo Ed Dana wrote: > Greetings all, > > Attached is a small game I created in my continuing effort to understand > REBOL. It is another guessing game, slightly more sophisticated than the > one I submitted previously. > > Please look it over and feel free to criticize, but do be gentle, as > this is my second attempt at a REBOL program. ;) > -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] bug: not able to convert integer variable with to-binary
hi. to-binary [255] works...=> #{FF} but when i use a integer variable, for example this: mavar: 255 to-binary [mavar] or to-binary [:mavar] => it doesnt work !!! So how can convert my integer variable into binary ? thanks for your help :-) ___ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] help on Tooltips?
Hi All, now I'm trying to show additional info on entries in my layout, I have a feel object with the following (experimenal) 'over func: over: func [f a e /local new-entry][ prin "over " either a [ print "+" xx: make face [ offset: e ] xx/pane: layout [ title f/user-data/header ] show-popup/window xx month-lay ; month-lay is my top-level layout ] [ print "-" hide xx ] ] After moving around a while I get no more events (at least, 'over isn't called any more), any ideas on how to make it behave better? Btw, I tried to use 'hide-popup, but that closed the whole window. Btw2, the function 'show-dropdown in probe get-style 'drop-down might be of some help, if only I understood what it's doing, has anyone tried a drop-down in /view 1.2.5? It seems not to work properly in a test of mine (drop-down field is never closed), and as I just noticed, it's not present in /view 1.2.1. Kind regards, Ingo -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Submitted, for your approval.
Well, instead of this: > Prin "Matched: " > Prin Matched > Prin " Placed: " > Print Placed > Print " " you could write print ["Matched:" Matched "Placed:" Placed] I also suggest following Rebol Tech's style-guide. Anton. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Submitted, for your approval.
On 27-May-02, Ed Dana wrote: > Greetings all, > Attached is a small game I created in my continuing effort to > understand REBOL. It is another guessing game, slightly more > sophisticated than the one I submitted previously. > Please look it over and feel free to criticize, but do be gentle, as > this is my second attempt at a REBOL program. ;) Hi Ed, It works fine, though I was a bit confused by the Matched and Placed numbering to begin with, not realizing that once something was placed it was no longer recorded as matched. "Misplaced" might've been a better term. (; As to your code: Well you've got me wondering whether having a function call it's own refinements like that instead of having seperate functions for those routines is a good or bad thing... I think it probably is bad, (mainly due to a performance issue with the amount of code you have to get through to get to the last "if whatever..."), but as you've found out, it does work. Note however that it only works because the words you create in the function are global, not local. If you'd tried to make Symbol_Set local by having... /local Symbol_Set in the function's first block you'd get an error when calling the function with any refinement other than /begin. With REBOL functions, words defined in the body of the function are made global by default, not local. This is because "it's better for beginners" apparently. (: An alternative approach to using refinements would've been to have them as functions within your function. ie, just change... If Begin [ Symbol_Set: [ "~" "!" "@" "#" "$" "%" "&" "*" ] Random/seed Now ] to... Begin: does [ Symbol_Set: [ "~" "!" "@" "#" "$" "%" "&" "*" ] Random/seed Now ] and you can then call that with just "Begin" instead of "Symbols/Begin". ('does is for functions without any arguments.) Otherwise though, you're learning fast! It's good and tidy code on the whole. -- Carl Read -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.