What is "Open Language"?

Richard Gaskin ambassador at fourthworld.com
Tue Oct 27 13:23:06 EDT 2015

Mark Waddingham wrote:

 > On 2015-10-24 21:12, Richard Gaskin wrote:
 >> 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. :)
 > The 'export snapshot' command is rather unfortunate. It was augmented
 > by me to add the ability to snapshot an object directly (rather than
 > the screen) and because (to be blunt) the actual code for the syntax
 > of the export command was always a complete 'botched' job I did the
 > best that I was able to do.

We disagree here only in that I think you did a fine job there, as was 
done with adding the "at" sizing options.

One thing most of us have in common here is that we need to ship 
applications.  Very few of us (zero?) are responsible for drafting BNFs.

Warts and all, LiveCode lets us get the job done with remarkable ease.

Sure, we need to look things up now and then, but who doesn't?  There's 
more to C than its 27 keywords.  Few enjoy programming who don't enjoy 

The R-style syntax I enjoy in that language solves one aspect of the 
problem, but only by fundamentally changing the flavor of our language 
if we were to use it here.

In OOP we could make snapshots a class, so the values specifying them 
could be expressed as name-value pairs through instance variables - but 
who wants to use a language where you need to instantiate a math class 
just to add two numbers? :)  OOP is fine where OOP is fine, but OOP 
isn't xTalk.

In LC, we see increasing use of arrays for name-value pairs (e.g. 
clipboardData, etc.), and if it were important for someone to simplify 
some aspects of making snapshots they could easily craft a handler that 
takes an array to do that in just a couple minutes.

So maybe I'm too easy to please, but I think the current syntax for 
snapshots is OK.

Sure, it's imperfect, but we live in a world defined by limitations in 
which all things are imperfect.  And besides, you could add another 10 
options to that command and it'd still be cleaner syntax than 
SuperCard's QuickTime commands, and less nails-on-a-chalkboard than even 
simpler things from the olden days like "playLoudness". :)

 > Indeed, I'd defy anyone to make truly accurate BNF for *any* of the
 > language's current syntax - this is actually a tremendous problem
 > which limits a great deal.

Back in the day Brian Molyneaux of Heizer Software noted the same thing 
about xTalks.  Just too loosey-goosey for that sort of thing.

Fortunately, my job is to make software, not BNFs, and LiveCode lets me 
do that.

  Richard Gaskin
  Fourth World Systems
  Software Design and Development for the Desktop, Mobile, and the Web
  Ambassador at FourthWorld.com                http://www.FourthWorld.com

More information about the use-livecode mailing list