Handling of final delimter (was Re: "this me"?)
Richard Gaskin
ambassador at fourthworld.com
Thu Aug 8 18:39:30 EDT 2013
That was some damn fine writing, my friend.
There's too much code floating around for the delimiter behavior to
change, but your most excellent post earned you a dinner next time
you're in LA, or at RevLive in San Diego next year. It would be my
pleasure.
Yep, xTalk is sometimes funky, like the rest of the imperfect world in
which it was born.
But like any language, it's the community that makes a language great -
and I'm glad you're in this one.
--
Richard Gaskin
Fourth World
LiveCode training and consulting: http://www.fourthworld.com
Webzine for LiveCode developers: http://www.LiveCodeJournal.com
Follow me on Twitter: http://twitter.com/FourthWorldSys
Mike Kerner wrote:
> We also had this debate on several bug reports at quality.runrev.com, so
> you will find much of this hashed out over there, over several bug
> reports. Excuse me while I wax extemporaneously for a moment.
>
>
> My fellow LiveCoders, I implore you, to reach within your souls and ask
> yourselves, are not all commas created equal? Is a naked comma on front of
> a list somehow more important than the lowly little one on the back? Are
> you so jaded by the unwashed masses of C# hackers trying to convince you
> that if your language doesn't have a ++ operator it isn't worthy? No! It
> is a sophisticated, verbose, beautiful and easy-to-read language that will
> not allow such abominations as "this me" to exist without a fight. It is a
> language that has survived almost thirty years and has maintained that
> pure, amazing quality that is lacking from almost every other language that
> has evolved over that time - it is not a write-only language. It wants to
> be read. it wants to be updated and modernized. It doesn't require
> anywhere near the number of comments or hacks or tweaks, because so much of
> it is self-explanatory.
>
> In light of that, I say to you that it is a language that should not count
> an empty item on the front of a list while ignoring the one in the back.
> We are not those people. We are better than that. We are not so steeped
> in tradition and the foibles of those who came before us that we leave them
> alone like they are sacred, because the code they wrote on their
> black-and-white Mac Pluses, when HyperCard came on a stack of 3-1/2" disks,
> is somehow more important than the code we write now.
>
> If someone brand new comes to this list - someone who has never used
> LiveCode, or Runtime Revolution, or SuperCard, or HyperCard or any of the
> other children or grandchildren of Bill Adkinson - if someone brand new,
> who does not value legacy over sanctimony comes to this list, and you
> explain to them what a container is, what empty is, what an itemDelimiter
> is, and how these tools laugh in the face of type declarations, and show
> them ",a", and ask them "How many items does that string contain?", what
> would they say? If after they answer, and you show them "a," and ask them
> the same question, what would they answer then?
>
> Why is it that we treat the items in our lists like they are schleps in a
> queue to throw down their hard-earned Benjamins for a Taylor Swift
> concert? Do we not believe in equality? Do we really believe that "a,"
> and ",a" are different? No. Today I say to you that every item was
> created equal - even the last one. Our past is imperfect, but our future
> can be. Why is it that an empty item anywhere in a list matters, unless it
> is at the end? It does matter. It is significant. It must be counted.
>
> For my part, I frequently run into this issue when I am working with
> databases and LiveCode. "SELECT name, address1, address2" is one example
> where the developer is begging for trouble, because the last item may very
> well be empty, and therefore not worthy of counting. Yet that is not
> nearly as horrible as what would happen if I were to INSERT or UPDATE using
> a list, either from a dataGrid or a container. The errors returned are an
> open sore that remind you that not all items are created equal. Not all
> items are significant. Not all items deserved to be counted.
>
> If we are to continue with this deep, age-old injustice, then I say to you
> that the Scots must fix every other command that might somehow be affected
> by a blank lasty, and ensure that we are not reminded that trailing blank
> items even exist. The database functions, when faced with "SELECT name,
> address1, address2" should return an extra comma on the end of the results
> when address2 is blank, because even though they do not want to face an
> empty last item, I must be on the watch for them, lest the "INSERT" that
> follows breaks my app and leaves me to gnash my teeth on the bitter taste
> of being so close, and yet so far.
>
>
> So, in closing, I simply ask you to say it with me now:
>
> "Every comma is significant, even the last one."
>
> --
> On the first day, God created the heavens and the Earth
> On the second day, God created the oceans.
> On the third day, God put the animals on hold for a few hours,
> and did a little diving.
> And God said, "This is good."
More information about the use-livecode
mailing list