the char number of char 1 of word x

Mark Smith mark at maseurope.net
Tue Jan 1 11:45:05 EST 2008


Randall, some of the abstract examples you've given are simple to do,  
and some aren't. But  given that Revolution (like Hypercard) is not a  
typed language, I'm not sure I'd welcome semi-low-level type ideas  
like "as string", "as numbered chars" etc.

Perhaps if we had a better idea of your application, we could offer  
better comments and suggestions.

Best,

Mark

On 31 Dec 2007, at 20:01, Randall Lee Reetz wrote:

> Thanks to all who have tried to help.
>
> I know (or could probably figure out) how to write my own functions  
> for these text parsing affordances I am after.  What I was looking  
> for is a simple (built-in) syntax to get info from any chunk  
> description returned in any string or chunk form.  The following  
> (suggested) syntax would add powerful string and chunk referencing  
> and query to Rev or any xTalk language:
>
> -- get chunk numbers...
>
> the [charNumber] of char 1 of word 7 of line 3 of myFld
> the [wordNumber] of word 3 of line 3 of myFld
> the [lineNumber] of char 567 of myFld
> the [wordNumber] of char 567 of myFld
> the [itemNumber] of word 35 line 3 of myFld
>
> -- get chunk strings...
>
> the [lineSting] of char 3 of word 35 of myFld -- would return the  
> actual line containing that char (as string)
> the [wordString] of char 567 of myFld -- would return the actual  
> word containing that char (as string)
> the [itemString] of word 36 of myFld -- would return the actual  
> item containing that word (as string)
>
> -- get chunk descriptions (inclusive from this chunk to that chunk)
>
> the [wordChunk] of line 12 of myFld -- would return chunk  
> expression "word 503 to 524"
> the [lineChunk] of char 33 to 300 of myFld -- would return chunk  
> expression "line 1 to 7"
> the [charChunk] of word 567 of myFld -- would return chunk  
> expression "char 8903 to 9126"
> the [itemChunk] of word 567 of myFld -- would return chunk  
> expression "item 14"
> the [lineChunk] of item 12 of myFld -- would return chunk  
> expression "line 4"
>
> The syntax for all of these functions would be more universal if  
> written in a more universal grammatical form...
>
> the char[s] of item 3 of myFld [as numbered chars] -- returns "char  
> 56 to 78"
> the word[s] of line 3 of myFld [as numbed words] -- returns "word 3  
> to 7"
> the line[s] of char 31 to 45 of myVar [as string] -- returns "3. Do  
> not steal. [cr] 4. Do not kill"
> the item of word 4 of line 6 of myTxt [as chunk in chars] --  
> returns "char 35 to 45"
>
> xTalk is generally Turing Complete... meaning, it is usually  
> possible to write a function that will satisfy any algorithmic goal  
> (from the given lexicon and executable grammar).  However, most of  
> us choose to use xTalk because it is a high level language, it  
> protects us from the inhuman repetition and complexity of low level  
> logic and function libraries.  When we are each required to write  
> low level functions for common requests "Which word contains char  
> 33", we are pulled away from the higher level tasks at hand (why we  
> are writing the script in the first place... what it is supposed to  
> do).  The kind of mental and algorithmic and notational gymnastics  
> required to do some of these human tasks is enough to exclude many  
> of the very same people xTalk was designed to attract.  Worse, even  
> those of us nerdy enough or motivated enough to wade through the  
> obfuscation have to create duplicate scripts from duplicate  
> effort.  All of this seems antithetical to the original intent of  
> Bill Atkinson (the father of HyperTalk) and Alan Kay et al of Xerox  
> Palo Alto Research Center (the fathers of SmallTalk).
>
> I am always amazed by the elegant intent of the original creators  
> of HyperCard and how obvious this intent infused every nuance of  
> its original implementation.  Later renditions have added features  
> and have been laboriously held in lockstep with the quicksilver  
> backdrop of ever evolving OS and hardware combinations and the  
> network that has more and more dominance over modern computing.   
> However, much has been lost or forgotten along the way.  Much of  
> the egalitarian intent behind the sentiment behind simple  
> statements like "computing for the rest of us".  Much of this  
> populist intent has slowly eroded along the way.  I would hope that  
> we all continue to respect Bill's original intent by remembering  
> and honoring the elegance and egalitarian humanity of his work.   
> This respect should go beyond simple romanticism.  It should guide  
> our purchasing decisions and our expectations afterwards.  Most  
> humans are Turing Complete... given enough time most of us could  
> write any function in most any language... but that really doesn't  
> get us much closer to our larger goals (unless of course we are  
> making a living learning how to become better and better algorithm  
> writers, in which case we are probably not using xTalk at all).   
> What matters to most of us is high level goals (How can I make my  
> organization more responsive to change?, How can I help these  
> students learn faster and more deeply?, How can I make this data  
> more intuitive and functional?, How can I automate this repetitive  
> task?, etc.), not the inane and removed mechanics of the language  
> of logic.  Sure, I am proud when I solve an algorithmic or  
> notational problem in my scripting.  But then I remember the  
> original task at hand and the fact that my solution really won't  
> help anyone else solve the same problem, and that brings even  
> greater respect for the few nerds who cared about non-nerds and who  
> could think clearly enough to see that even nerds would benefit  
> from systems that facilitate natural (pedestrian) human cognition.   
> The revolution that was "User Level Computing" was the  
> revolutionary idea that being able to do something was not  
> enough... that making difficult tasks easy made the real difference  
> between theory and actual human practice.  Einstien wrote down the  
> rule: E=mc2... but nobody (except maybe the good people of the  
> Manhattan Project) has built a "Relativity Engine" from it.  Making  
> an appliance from theory is the difference that makes the  
> difference.  Thank you Uncle Bill!
>
> Randall
>
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your  
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution




More information about the use-livecode mailing list