On Jul 17, 2006, at 7:23 AM, Rob Cozens wrote:

Hi Geoff,

I think the key for something like this will be when we move beyond what could be described as "keyboard shortcuts," and into something that can only be described as enhanced syntax, i.e. something that actually changes the way you think when you program.

I might have said "lets you program the way you think" rather than "changes the way you think when you program".

Efforts aimed at either objective are somewhat limited, as any construct created must ultimately be convertable to existing Revolution syntax,

The fact that it must eventually translate to Transcript (I refuse to give up that term) only enters into it if the resulting Transcript is too slow. _Anything_ can be translated to Transcript, it's just that some things can't translate efficiently.

To give an example of what I'm thinking of, consider associative arrays. If Transcript didn't support them natively, you _could_ implement them, correct? It would be terribly slow, though, so from that standpoint this is a poor example.

Now consider the problem where you have a long list and you want to find a count of each item. Many people reading this are already thinking something like:

repeat for each item i in tList
  add 1 to tListCount[i]
end repeat

If Transcript didn't have associative arrays, you certainly wouldn't program them just to support something like this. But given that we do have associative arrays, you use the above code instead of something much more complex.

That would be my goal if I were writing extensions to Transcript: to create language extensions that don't just translate abbreviation X into expansion Y, but instead improve the richness and expressiveness of Transcript such that when faced with a programming challenge, your thought process is simplified.

gc
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to