Richmond wrote:
> as people are NOT computers, not vice-versa, I cannot see how an
> "Open Language" = with Human-like logic and endlessly extensible
> in a human-like fashion is ever going to be possible.
One could argue it never has, at least with some commands.
My favorite example is the "export snapshot" command - even with the
Dictionary guidance we all need to turn to for that no matter how many
times we've used it, it's so complex with such a combinatorial explosion
of options that I defy anyone to make a readable BNF for it. :)
Instead of using commas we delimit options with assistive noise words,
like "at" or "with", but with a command as complex as "export" snapshot"
do we specify the image compressor using "with" or "as", or is "as" for
the file name, since "at" is used for size?
And all the while, just like comma-delimited args, we must memorize the
order of them. You can't just use "at" followed by the thumbnail size
just anywhere; all options must be used in a specific order.
For some complex things I find myself admiing R, XML, and other
languages where arguments are name-value pairs.
For example, if "export snapshot" were an R command it might look
something like:
ExportSnapshot file=Myfile.png format=png size=128,256
Even better, in R most arguments are purely optional; anything omitted
uses a reasonable default. LiveCode kinda does this too, but we really
appreciate it with R's plot command:
plot <data>
...gives you a gorgeous scatter plot with useful x- and y-axis labels
and well-placed tick marks, without having to specify anything; you can
specify as much or as little as you like with most commands and expect a
useful result.
I'm not proposing LiveCode switch to name-value pair arguments, but in
some cases it would be a nice option, "export snapshot" being among them.
--
Richard Gaskin
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web
____________________________________________________________________
ambassa...@fourthworld.com http://www.FourthWorld.com
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode