Re: What is "Open Language"?

2015-11-03 Thread Bernard Devlin
I believe that the Hypertalk 2.2 Reference book (Jeanne de Voto et. al) has
a BNF diagram of the language at the end.  I could be mistaken, as my copy
of the book has been in storage for a number of years.  But if I remember
correctly, then it seems at least at that stage the language was not too
loosey-goosey.

Bernard

On Tue, Oct 27, 2015 at 6:35 PM, Mark Waddingham  wrote:

> On 2015-10-27 18:23, Richard Gaskin wrote:
>
>> 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.
>>
>
> Indeed - but then perhaps that's the difference between people using a
> programming language and those responsible for maintaining and evolving it.
>
> 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.
>>
>
> Well, I think you misrepresent how OOP languages work there - as they
> don't tend to require you to instantiate a 'math' class just to add two
> numbers. (Although some do take 'purity' to an almost unusable extent).
>
> In any case, OOP isn't really a language, it is just a set of patterns and
> ideas which are one good way to structure languages and think about
> software. (And OOP principals are definitely there in xTalks they are just
> not generally visible day-to-day).
>
> 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.
>>
>
> Indeed - name-value pairs are used for 'the clipboardData' and other
> devices... Although I'd might suggest only because there is a lack of
> ability to be able to code the syntax that might be more appropriate:
>
> e.g. set the styledText of the clipboard to ...
>
> So maybe I'm too easy to please, but I think the current syntax for
>> snapshots is OK.
>>
>
> It works - but a lot of people get tripped up by it all the time (costing
> individuals time figuring out why things don't work, others on the lists
> when they respond to questions on the lists about why their command doesn't
> work how they expect, and bug reports to us when they think there's an
> issue). Now, whilst perhaps a better dictionary entry might help a bit...
> This situation does suggest to me the syntax could be better and more
> accessible.
>
> Back in the day Brian Molyneaux of Heizer Software noted the same
>> thing about xTalks.  Just too loosey-goosey for that sort of thing.
>>
>
> Well I'm sorry to say that he was wrong as far as I'm concerned.
>
> Indeed, thinking that xTalks have no place for formality might be perhaps
> at least (a small) part of the reason why most of them have disappeared?
>
> Fortunately, my job is to make software, not BNFs, and LiveCode lets me do
>> that.
>>
>
> My job is to make software too - software that allows others to make
> software.
>
> Aspects like rigorously definable semantics and rigorous specification of
> syntax are things that help me do that. Just like having the features you
> need working in the way you need them to help you to do that.
>
> If life were simple, it probably wouldn't be as much fun :)
>
> Warmest Regards,
>
> Mark.
>
> --
> Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
> LiveCode: Everyone can create apps
>
> ___
> 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
>
___
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


Re: What is "Open Language"?

2015-10-29 Thread Mark Waddingham

On 2015-10-29 00:38, David Bovill wrote:

From my point of view Open Language is the most important aspect of
LiveCode. Without it on the timeline I would not be using LiveCode 
today.

I'd be working purely in NodeJS I suspect.


It is interesting that NodeJS and Open Language come up in the same 
post...


As it stands, LiveCode and NodeJS actually have a lot in common. Indeed, 
as long as you are careful about the syntax you use, and the operations 
you perform, they 'work' in the same way.


An event comes in, a message is dispatched to an appropriate object and 
then that object does a small amount of work, if it needs to do anything 
more heavy-weight it sets something in motion and ensures a callback is 
sent when it is done. The key thing here is 'minimal amount of work' it 
means that the approach is highly scalable in terms of concurrent 
requests being processed as they can all be interleaved very very 
efficiently.


In LiveCode, socket communication can be entirely callback-based in this 
model, as can network operations. However, the things that are missing 
at the moment are callback based variants of the database commands and 
other such things which might cause 'long pauses' whilst they are 
performed. (Really database operations and file operations need to be 
implemented in an event-driven way - so you start one off, and then get 
a callback when completed).


Now, one thing that would make such NodeJS type operations be even 
easier to use is if you *didn't* have to use callbacks. 'Straight line' 
code is much much easier to write. e.g.


on doMyStuff
  put url "..." into tStuff
  put revQueryDatabase(..., tStuff, ...) into tDbStuff
  put encodeDbStuffForResult(tDbStuff) into tResult
  return tResult
end doMyStuff

Is a lot easier to read and maintain than:

on doMyStuff
  load url "..." with message doMyStuff1
end doMyStuff

on doMyStuff1 tStuff
  revQueryDatabaseWithCallback ..., tStuff, ..., "doMyStuff2"
end doMyStuff1

on doMyStuff2 tDbStuff
  encodeDbStuffForResultWithCallback tDbStuff, "doMyStuff3"
end doMyStuff2

on doMyStuff3 tResult
  setResultOfRequest tResult
end doMyStuff3

(Note that here I'm imagining various things exist - 
revQueryDatabaseWithCallback does not currently!)


If one steps back, then essentially, the difference between the single 
handler version, and the callback handler version is that each operation 
in the single handler version is calling 'wait until ... with messages' 
(in some form or another). The problem with how LiveCode currently 
works, however, is the fact that script execution is heavily tied to the 
system stack (this is the stack which allows nested procedure calls - 
not a visual stack). This means that 'wait ... with messages' is 
recursive in LiveCode at the moment and not 'side-by-side'.


In the recursive model you have to use the callback-based approach 
because otherwise a single request might get stalled due to having to 
wait for another (unrelated) request to finish (as wait nests on the 
system stack - so all subsequent requests have to resolve but the 
initial one can).


Fixing the recursive model means that script execution has to be 
completely divorced from the system stack - essentially meaning that the 
engine can automatically turn the single handler model into a callback 
based model without the scripter being any the wiser.


How does this relate to Open Language? Well, one of the key pieces to 
implement Open Language is abstracting the way script is executed in the 
engine in LiveCode so that it no longer has any dependence on the system 
stack - scripts will be compiled to bytecode which is then executed. 
This extra level of abstraction gives a great many more choices about 
*how* scripts are run, and as such opens the door to resolving the 
'recursive wait' problem. This will open the door to bringing a 
simplicity of scripting with LiveCode to an environment where it perhaps 
wasn't quite so suited to before.


Now, of course, NodeJS does use the callback model (although the syntax 
of JS actually means it is perhaps a little less onerous than LiveCode, 
at least for one or two step processes) - so in terms of getting to 
parity with NodeJS the principal thing needed is callback variants of 
all operations which can block. However, given there are various things 
in the works in NodeJS to enable 'single handler' type models it does 
suggest that the callback model could be better.


Like most things, whilst Open Language might be an end goal in and of 
itself with all its benefits, the process of getting their open up a 
wealth of other opportunities too due to the improvements in the 
underlying technology that are made along the way.


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe 

Re: What is "Open Language"?

2015-10-29 Thread Richard Gaskin

Mark Waddingham wrote:


On 2015-10-29 02:04, Richard Gaskin wrote:

And you may have noticed the great job Peter Brett has been doing here
and elsewhere as the main community support leader within the company.
He's one of their newer hires, having been brought on board just a
little over a year ago, but he was hired not only for his Linux
expertise but also his deep understanding of and passion for open
source process.


Just to correct you here as your statement is actually a huge disservice
to Peter and the skills and knowledge he has.


Certainly not my intention.  I said only very positive things about 
Peter, and the ones I noted reflect my own personal experience with him 
in my volunteer role.  I'm sure like everyone he has many fine traits 
beyond the ones I've come to appreciate.  I ventured the description I 
did because it was nearly verbatim how Kevin introduced Peter to me, 
which has proven more than true in my associations with him.


Each of us has dimensions to our skills and personalities that go beyond 
what any single person they interact with can fully appreciate.  Frankly 
it's difficult to see how taking the time to write even an incomplete 
list of the many excellent traits Dr. Brett brings to the table is 
necessarily a "huge disservice".


Your additional background here is also good to know:


He was brought on board because he showed a huge interest, ability, and
depth of knowledge in aspects of software engineering for all the
critical areas LiveCode covers and the necessary infrastructure it
requires. Including but by no means limited to: programming language
design and implementation, GUI toolkit architecture, build system
engineering, continuous integration and test system construction,
rigorous engineering process implementation, open source software
communication and community engagement.

I must confess I never take much stock in CVs in terms of choosing
people for software engineering roles. A lot tend to be just lists of
things which people *think* they know - I rarely find them to be in any
way indicative of the knowledge people actually have. I always go by the
technical questions they ask and whether they understand my answers -
Peter passed this test with flying colours :)

Warmest Regards,

>

Mark.


--
 Richard Gaskin
 LiveCode Community Manager
 rich...@livecode.org

___
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


Re: What is "Open Language"?

2015-10-29 Thread Mark Waddingham

On 2015-10-29 16:14, Richard Gaskin wrote:

Each of us has dimensions to our skills and personalities that go
beyond what any single person they interact with can fully appreciate.
 Frankly it's difficult to see how taking the time to write even an
incomplete list of the many excellent traits Dr. Brett brings to the
table is necessarily a "huge disservice".


Apologies - I did perhaps mistake your comments a bit.

Warmest Regards,

mark.


--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-29 Thread David Bovill
Excellent news. Very interesting. I really like the strategy you are
pursuing here. It's sharp, strategic and well judged.

I understand the complaints of members of the community when they see so
much time and money invested and they have less functionality available in
some areas than the did a few years ago, but I feel they do not appreciate
enough that the language was dying, and the community getting older. No one
likes to admit this in public, but I know many of us saw this.

To reverse this trend bold steps had to be taken. Open source was one. It
happened severalyears too late in my opinion, and the company has been slow
moving it's culture over, but I see real changes. Peter has been fantastic
in this regard.

But the vision you outline, is more than catching up, it is positioning the
language smack bang in the middle of where it needs to be for it to thrive.
Yes multimedia is needed now, and SVG is sorely missing. But I'd go for
saving the language and each of our long term investments in this any day.

Respect is due. I'm not grumbling (much :)


PS - we need something like NPM as well :)


On Thursday, 29 October 2015, Mark Waddingham  wrote:

> On 2015-10-29 00:38, David Bovill wrote:
>
>> From my point of view Open Language is the most important aspect of
>> LiveCode. Without it on the timeline I would not be using LiveCode today.
>> I'd be working purely in NodeJS I suspect.
>>
>
> It is interesting that NodeJS and Open Language come up in the same post...
>
> As it stands, LiveCode and NodeJS actually have a lot in common. Indeed,
> as long as you are careful about the syntax you use, and the operations you
> perform, they 'work' in the same way.
>
> An event comes in, a message is dispatched to an appropriate object and
> then that object does a small amount of work, if it needs to do anything
> more heavy-weight it sets something in motion and ensures a callback is
> sent when it is done. The key thing here is 'minimal amount of work' it
> means that the approach is highly scalable in terms of concurrent requests
> being processed as they can all be interleaved very very efficiently.
>
> In LiveCode, socket communication can be entirely callback-based in this
> model, as can network operations. However, the things that are missing at
> the moment are callback based variants of the database commands and other
> such things which might cause 'long pauses' whilst they are performed.
> (Really database operations and file operations need to be implemented in
> an event-driven way - so you start one off, and then get a callback when
> completed).
>
> Now, one thing that would make such NodeJS type operations be even easier
> to use is if you *didn't* have to use callbacks. 'Straight line' code is
> much much easier to write. e.g.
>
> on doMyStuff
>   put url "..." into tStuff
>   put revQueryDatabase(..., tStuff, ...) into tDbStuff
>   put encodeDbStuffForResult(tDbStuff) into tResult
>   return tResult
> end doMyStuff
>
> Is a lot easier to read and maintain than:
>
> on doMyStuff
>   load url "..." with message doMyStuff1
> end doMyStuff
>
> on doMyStuff1 tStuff
>   revQueryDatabaseWithCallback ..., tStuff, ..., "doMyStuff2"
> end doMyStuff1
>
> on doMyStuff2 tDbStuff
>   encodeDbStuffForResultWithCallback tDbStuff, "doMyStuff3"
> end doMyStuff2
>
> on doMyStuff3 tResult
>   setResultOfRequest tResult
> end doMyStuff3
>
> (Note that here I'm imagining various things exist -
> revQueryDatabaseWithCallback does not currently!)
>
> If one steps back, then essentially, the difference between the single
> handler version, and the callback handler version is that each operation in
> the single handler version is calling 'wait until ... with messages' (in
> some form or another). The problem with how LiveCode currently works,
> however, is the fact that script execution is heavily tied to the system
> stack (this is the stack which allows nested procedure calls - not a visual
> stack). This means that 'wait ... with messages' is recursive in LiveCode
> at the moment and not 'side-by-side'.
>
> In the recursive model you have to use the callback-based approach because
> otherwise a single request might get stalled due to having to wait for
> another (unrelated) request to finish (as wait nests on the system stack -
> so all subsequent requests have to resolve but the initial one can).
>
> Fixing the recursive model means that script execution has to be
> completely divorced from the system stack - essentially meaning that the
> engine can automatically turn the single handler model into a callback
> based model without the scripter being any the wiser.
>
> How does this relate to Open Language? Well, one of the key pieces to
> implement Open Language is abstracting the way script is executed in the
> engine in LiveCode so that it no longer has any dependence on the system
> stack - scripts will be compiled to bytecode which is then executed. This
> extra level of abstraction 

Re: What is "Open Language"?

2015-10-29 Thread Mark Waddingham

On 2015-10-29 02:04, Richard Gaskin wrote:

And you may have noticed the great job Peter Brett has been doing here
and elsewhere as the main community support leader within the company.
He's one of their newer hires, having been brought on board just a
little over a year ago, but he was hired not only for his Linux
expertise but also his deep understanding of and passion for open
source process.


Just to correct you here as your statement is actually a huge disservice 
to Peter and the skills and knowledge he has.


He was brought on board because he showed a huge interest, ability, and 
depth of knowledge in aspects of software engineering for all the 
critical areas LiveCode covers and the necessary infrastructure it 
requires. Including but by no means limited to: programming language 
design and implementation, GUI toolkit architecture, build system 
engineering, continuous integration and test system construction, 
rigorous engineering process implementation, open source software 
communication and community engagement.


I must confess I never take much stock in CVs in terms of choosing 
people for software engineering roles. A lot tend to be just lists of 
things which people *think* they know - I rarely find them to be in any 
way indicative of the knowledge people actually have. I always go by the 
technical questions they ask and whether they understand my answers - 
Peter passed this test with flying colours :)


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-29 Thread Richard Gaskin

Alejandro Tejada wrote:

I remember one of the premises of
implementing Open Language.

"Open Language: With the core refactoring almost
complete (LiveCode 7.0) we’ve started to turn our
attention to the final aspect of this project
which is to open up the language for extension
by anyone."

Then, using Open Language,
Could we create a translation of all Livecode
Keywords, Scripts and API to any
Unicode Language on Earth?

Instead of English, Could we use any
language that provides an equivalent
translation pair of words?

If this is possible, then different Universities
all around the world could provide translations
and test  in detail if a programming language
in their own tongue could help students and
professional developers to learn
computer programming.



Maybe LiveCode can grow the most by moving beyond "English-like" to 
embrace "Mandarin-like". :)


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://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

Re: What is "Open Language"?

2015-10-29 Thread Richard Gaskin

David Bovill wrote:

> PS - we need something like NPM as well :)

I believe the package manager for LC extensions is coming along well.

The harder part will be matching NPM's 200,026 modules.

And since they had only 50,000 just last year, at that rate it'll be 
tough to catch up.


I've enjoyed my experiments with socket servers in LC, but as I look 
down the road for robust scalable systems I have to admit Node looks 
pretty good.


Are there gotchas with Node I should consider?

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://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


Re: What is "Open Language"?

2015-10-28 Thread Geoff Canyon
Open Language will mean little if it is restricted to synonyms, or if it is
restricted to functions and commands.

gc

On Tue, Oct 27, 2015 at 2:39 PM, Mark Waddingham  wrote:

> On 2015-10-27 19:26, Richmond wrote:
>
>> My tastes are extremely savage: I cannot see anything really wrong
>> with the syntax for anything,
>> and don't see the need for a multiplicity of synonyms.
>>
>
> Well, that's the current state of play - which isn't really the topic of
> conversation here - it is about the future.
>
> So would you be happy if all future functionality of the language were
> implemented as function calls and commands (a la Visual Basic 6)? (This is
> actually a serious question!)
>
> Warmest Regards,
>
> Mark.
>
> --
> Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
> LiveCode: Everyone can create apps
>
> ___
> 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
>
___
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


Re: What is "Open Language"?

2015-10-28 Thread Richard Gaskin

David Bovill wrote:

> I worry more about the speed of adoption of community engagement -
> it's getting better, but I'd like to see (and contribute to more)
> open source library, and documentation efforts.

It's been a slow start, but things are beginning to take shape.

We identified early on that the best work is done in small teams, and 
ideally each community team would have a main contact within the company 
to keep things moving.


We've begun to put together teams for documentation, translation, and 
educational outreach, and soon (fingers crossed) we'll have a section at 
the web site devoted to these teams, giving credit where generously due 
for contributors and team leaders alike along with links to the relevant 
collections of materials and/or forum sections for ongoing discussions 
related to the team's work.


Internally, the company has restructured some of the their roles so 
they're now better able to support such teams.


And you may have noticed the great job Peter Brett has been doing here 
and elsewhere as the main community support leader within the company. 
He's one of their newer hires, having been brought on board just a 
little over a year ago, but he was hired not only for his Linux 
expertise but also his deep understanding of and passion for open source 
process.


Beyond those activities, there's been a lot of great open source 
libraries and tools coming up in the community.  In my last Global Jam 
talk I outlined four of those, and sent links to Peter to be included in 
his next weekly community update.  Some really nice work being done with 
JSON, a graphing/materials management app, and more.


If any of you want to lend a hand with any of the initiatives we have 
going, or want to start a new one, or just bring some attention to a 
cool open source project you're doing in LiveCode, drop a note to me or 
Peter and we'll do what we can to help it along.


--
 Richard Gaskin
 LiveCode Community Manager
 rich...@livecode.org


___
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


Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-26 18:06, Richard Gaskin wrote:

The gap between understanding low-level data types, structures,
frameworks, and APIs and being able to write in the lower-level
language they were designed for is smaller than the gap between
knowing only xTalk and having to learn to think in terms of low-level
data types, structure, frameworks, and APIs.


I honestly don't think that is actually true anymore (but what would I 
know, I've only been working with them, and with LiveCode for over a 
decade ;)). OS APIs are much higher level than they used to be - indeed, 
the number of 'type' concepts you tend to need to use them has 
diminished greatly - mainly because OS vendors now see the need that 
they need to be 'mappable' from any language. Indeed, once someone has 
written the 'bindings' which describe how the OS APIs can be leveraged 
from another language - anyone who comes along subsequently doesn't even 
need to concern themselves with how they were originally defined.


These 'type concepts' actually do very easily map in an xTalk-like way 
as long as you are willing to drop the 'stringyness' (this is mainly 
because many OS APIs return what you could call 'transient objects' 
which need to be manipulated - you can't think in the traditional xTalk 
'stringy' way to work with these in a simple way).


One of the principal differences between LiveCode Script and LiveCode 
Builder is that LiveCode Script tries very hard to be a 'typeless' 
language (okay so it has arrays so it isn't really), whereas LiveCode 
Builder doesn't - it has dynamically typed semantics which are strictly 
enforced.


Now, the amusing thing is that LiveCode Script has never hidden you from 
typing (nor has HyperTalk, or any of the others) - you still have to 
think at times... Hmmm - is this a number, is this a string, is this 
'true' or 'false', is this an array (after all you can't add 1 to a 
variable which contains "foo").


Indeed, there is a huge subtlety in terms of typing which actually 
defines the current difference - LiveCode Script will try its best to 
match an input argument's value (type-wise) to the context it is being 
used in (this is essentially 'typelessness' save for the fact that 
MetaTalk ceased to be typeless when arrays were added). LiveCode 
Builder, on the other hand, will require you to tell it that you want to 
convert an input argument's value to (if they don't explicitly match).



Indeed, that's the point of xTalk.


Is it? I suspect you have your own ideas about what 'the point of an 
xTalk' is (which doesn't appear to include syntax, based on many of your 
comments recently and over the years), and a lot of other people in the 
community will have their own ideas.


The point is that there are many many facets which make LiveCode 
(Script) what it is and all of these need to be preserved as most people 
will depend on a subset of them (I'm not talking about features here - 
I'm talking about the ideas that underpin the language).


Here's a first stab at a list (again, I'm not even talking about the 
actual objects you can create, or the functionality you can access, nor 
the IDE):
- English-like syntax which minimizes symbols and attempts to 
maximize readability
- Contextual typing (a polite way to say almost typeless but 
'polluted' with arrays ;))
- Automatic mutability ('put x after tString', automatically makes 
tString something which can be appended to)
- The ability to manipulate parts of an object easily, in both 
evaluation and assignment contexts (chunk expressions)
- Named hierarchical objects manipulatable at runtime (create field 
/ delete field etc.)
- The ability to attach scripts to objects which automatically 
connect signals (on mouseUp actually directly specified at the target 
level)
- Gated dynamism (do, value - explicit access to runtime compilation 
and execution under well defined terms)


Then, of course, if you step back from the language you get to also 
consider:

- Edit / Run live (no stop-the-world compile cycle)
- Integrated editing environment
- Domain specific language for manipulating UIs
- Cross-platform

Overall there is something about LiveCode Script (and the xTalks which 
have gone before) which does seem to make writing code easier (if there 
wasn't, I wouldn't be here) - however, quantifying that into actually 
fundamental aspects of it is not an easy task.


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-26 18:17, Bob Sneidar wrote:

I proceed on the assumption you are talking about artificial
intelligence. If not, read no further.


I wasn't. I was talking from an 'engineering pragmatism' point of view 
:)


My iPhone's keyboard isn't sentient, yet it still manages a reasonable 
approximation to 'guess' what I'm trying to type.


Amazon's database isn't sentient, yet it still manages to suggest 
reasonable things based on its 'knowledge' of what I've bought before.


These are just algorithms running over input data of course, but they 
make a jolly good job of approximating a task which (at first sight) 
might appear to be something which requires some sort of human behind 
them to 'understand' what is going on.


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-27 Thread Monte Goulding

> On 27 Oct 2015, at 7:47 pm, Mark Waddingham  wrote:
> 
> On 2015-10-26 23:27, Monte Goulding wrote:
>> You seem to have answered all the questions apart from the control
>> structure ones.
> 
> Indeed - my train had arrived at my destination and I didn't have time to 
> respond to the next post.

You did it again… is it a metaphorical train ;-)
> 
>> As far as gentle goes the good news is I’ve managed to find the
>> control structures in grammar.g… The bad news is I loose the trail
>> once I get to types.g…
> 
> Post a topic on the forums about 'switch' - we need to have a discussion 
> about what sort of 'switch' should actually be implemented. C-style switches 
> are horrendous and really have no place in a 'higher-level' language in my 
> point of view. I've seen that control structure done better in virtually 
> every other programming language I've ever used.

I actually did that a few weeks back asking if it would be implemented. I’m not 
really expecting I’ll be able to get my head around gentle enough in the time I 
can allocate to FOSS contributions to be much more than a hindrance but I’m 
happy to discuss it ;-)

Cheers

Monte


___
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

Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-26 17:36, Richard Gaskin wrote:

I was merely having fun with some of expectations among the readers
here for what Open Language might be used for.


Well, I'm glad you are having fun :P


Personally, I don't mind comma-delimited arguments, and am generally
happy with any syntax that let's me get my work done.


Interesting - I suspect that other people might not be quite so 'on 
board' with your attitude towards the importance of English-like syntax 
to LiveCode (and xTalks in general).



I'm fine with whatever there's budget to provide to let folks explore
novel syntax, even more so with your reminder here that Open Language
is among the last of the enhancements in queue, long after being able
to play a video file on Linux without crashing and other less
glamorous but useful things.


Unfortunately, language and features are intertwined. You can't have 
features without a way to access them, and a language with no features 
is useless.


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-25 00:19, Monte Goulding wrote:

OK, well we can let Mark Waddingham comment on whether I’m right in
that control structures are unlikely targets for open language or not.
It seems quite unlikely to me as it’s significantly more complicated
than commands. I’m not saying it’s not possible the ROI would be
terrible. As in almost 0 return for a reasonably heavy investment…


Initially, Open Language will allow you to define:
- commands
- expressions
- iterators

This is the range of things which the 'custom' LiveCode Builder syntax 
is built upon (which means I know it definitely works!).


Commands are what they you would imagine - they are a sequence of tokens 
interspersed with expressions:

'put'  'after' 

Expressions fall into three categories. First we have 'prefix 
operators':

'word'  'of' 

Then we have postfix operators:
  'is' 'a' 'number'

Then we have infix operators:
  'is' 'less' 'than' 

Then we have radical expressions:
 'the' 'empty' 'string'

Note that in all three 'operator' cases, you can also have expressions 
in-between the tokens:

  'is' 'between'  'and' 

The thing which defines what class of operator it is is determined by 
whether there is an expression on the left, right or both.


Iterators are essentially extensions to 'repeat':
 'repeat' 'for' 'each' 'char'  'in' 

Basically, we'll extend the reach of Open Language in terms of what you 
can create in the host language with it over time. Already, implementing 
the initial LiveCode Builder compiler has taught me that there need to 
be a greater set of patterns such as property accesses, chunks etc. - 
defining them at the low level 'syntax clause' point is a little too 
much work (although a great deal less then writing explicit C code as an 
ad-hoc parser in the engine ;)).


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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

Re: What is "Open Language"?

2015-10-27 Thread Richmond

On 27/10/15 04:07, Mark Wieder wrote:

Mark-

Well. *This* certainly seems to have hit a nerve.

I would be fine with having everything be "hilite". Or with everything 
being "highlight". Or with everything being "blxxqvy". The point of 
the original bug report was that there's no consistency in the 
language. Sometimes you can use the "highlight" form and sometimes you 
have to use the "hilite" form. The problem is trying to remember which 
is which.


So that's what my pull request fixes.

I agree with what you're saying about the proliferation of synonyms. 
I'm not wild about most of the other synonyms in the language 
either... "cd", "fld", etc (although I'd hate to give up "loc" and 
"rect") But right now we're trying to have it both ways. To my eye the 
"hilite" form looks cutesy and unprofessional, but I do understand 
developers are lazy and don't like typing, so I'd be fine with that. 
It's in the documentation already.


But really... let's move in the direction of some consistency.



+1

Richmond.

___
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


Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-26 23:27, Monte Goulding wrote:

You seem to have answered all the questions apart from the control
structure ones.


Indeed - my train had arrived at my destination and I didn't have time 
to respond to the next post.



As far as gentle goes the good news is I’ve managed to find the
control structures in grammar.g… The bad news is I loose the trail
once I get to types.g…


Post a topic on the forums about 'switch' - we need to have a discussion 
about what sort of 'switch' should actually be implemented. C-style 
switches are horrendous and really have no place in a 'higher-level' 
language in my point of view. I've seen that control structure done 
better in virtually every other programming language I've ever used.



It’s all very interesting… a compiler for a language for making
compilers that is compiling a language that is a compiler…


It's turtles all the way down...

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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

Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-25 00:05, Geoff Canyon wrote:
On Sat, Oct 24, 2015 at 5:42 PM, Monte Goulding 


Re: What is "Open Language"?

2015-10-27 Thread Monte Goulding

> On 27 Oct 2015, at 7:53 pm, Mark Waddingham  wrote:
> 
> Since the two syntaxes being proposed don't appear to conflict in any way, 
> people would be free to use either as they see fit.

Oh so custom control structures will be supported… cool
___
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

Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-24 20:17, Richard Gaskin wrote:

This is part of the reason I raised this thread.  We've seen some
rather broadly varying ideas about what Open Language means, but I
share your concerns and I'm not sure that's what Mark intended, even
if some are excited at the prospect.


I was long concerned about what would happen if the ability to add 
syntax was 'opened up' to all. However I ceased being concerned about it 
after I worked out how it could be done.


People should be free to experiment and develop their own syntax for 
their own ends - why should we restrict that?


As it stands LiveCode syntax is *heavily* based around the idea of it 
being a domain-specific language for GUI development. However, I think 
the ideas present within LiveCode (and predecessor xTalks) have far far 
greater applicability than that.


At the end of the day, any syntax extensions will be under heavy 
constraint due to the existing syntactic forms which exist in the engine 
already and in terms of what potential users will expect.


Market forces, will in the end, sort out the 'good' from the 'bad' - and 
as Geoff Canyon pointed out even if a 'bad' syntax extension becomes 
popular - it will only do so because it provides facilities that no-one 
else has provided and are important... In which case it might be 
'distasteful' to use, but pragmatically that doesn't matter if it gets 
the job done.



I believe the core of the issue is that to date all xTalks have
required comma-delimited arguments for custom commands.  The good news
is that this is pretty much how most programming languages work, so
it's not particularly onerous.  But the bad news is that it means that
the libraries we share bear no relationship syntactically with the
build-in commands.


Indeed - it has been a long standing problem. Something which has been 
often opined about by a great many people within our community 
(including yourself, I believe, at certain points - although I might be 
wrong on that ;)).


However, I should perhaps point out that Open Language evolved from me 
trying to work out how to actually service the great many feature 
requests we get for adding syntax. The current implementation of the 
parser in the engine, whilst it works, is incredibly difficult to 
modify. This not only means that it is not at all straightforward to add 
English-like syntax to new features, but also that it is far too 
expensive (time-wise) to experiment with new syntactic ideas. 
Unfortunately, syntax is one of those things that you really do need to 
try before you buy - thought experiments really don't cut it in many 
cases.



I *believe* (emphasis added to note that I'd he happy to be corrected
by Mr. Waddingham if this isn't correct) that Open Language was
proposed primarily (perhaps only) to allow library scripters to define
syntax that fits in more closely with the flavor of the rest of the
language.

For example, today I might write:

   CreateDocument "Window Title", tFilePath

...but with Open Language I could write:

   create document titled "Window Title" using file tFilePath

Mr. Waddingham, is that correct?


Pretty much. Syntax is about patterns. There are already a great many 
patterns which exist in LiveCode Script, even if they are not directly 
apparant.





That said, I admit I'm rather enamored of this request:



That would be probably about a 8 line definition file to implement when 
we have Open Language  - I'll look forward to making it available on 
April 1st the year Open Language arrives :)


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-24 21:08, Richmond wrote:

I don't think that "RunRev doesn't care", but I think they have
promised rather more than they are capable of delivering
in a semi-reasonable time-frame, and as a resilt they have got a lots
of people's expectations up in a way that may be
quite unrealistic, and it might not be a bad idea if they did a spot
of retrenchment instead of keeping quiet.


Well, I can certainly say that LiveCode Ltd. (we ceased being RunRev a 
while ago ;)) does care - well, actually LiveCode Ltd. is a company so 
being a non-person legal entity means it has no emotions. So I should 
say, the people at LiveCode Ltd. do care. In fact they care a great 
deal... Enough in fact that many of them have invested a good portion of 
their lives and resources into the endeavour. All of them working far 
beyond what anybody could necessarily reasonably expect.



Certainly, if RunRev were to state something like this:

"We would very much like to work towards Open Language, however we do
realise something now, that we might have been
unaware of in our enthusiasm over the Kickstarter and launching an
Open Source version of LiveCode, so it would be unreasonable
for users to expect anything near a fully open langauge sometime soon."

That might let people who are wondering, that they care.


The point is that we have been working towards it continually. It is a 
part of the long term plan we have for LiveCode. It is just that (as you 
astutely noticed) the 'long' here is perhaps slightly 'longer' than we 
had predicted and hoped for.


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-27 10:22, Monte Goulding wrote:

On 27 Oct 2015, at 8:02 pm, Mark Waddingham  wrote:

Note that in all three 'operator' cases, you can also have expressions 
in-between the tokens:

 'is' 'between'  'and' 


Out of interest if I implement the above syntax but only for
expressions that evaluate to a number can someone else implement it
for expressions that evaluate to strings or some other thing. Can the
be used together by some other user that doesn’t care about the
implementation detail?


There are two ways to interpret your question...

Option (1):
   Person A: x OP y => EvalOP(in x as integer, in y as integer) returns 
array
   Person B: x OP y => EvalOP(in x as string, in y as string) returns 
boolean


Option (2):
   Person A: x OP y => EvalOP(in x as integer, in y as integer) returns 
integer
   Person B: x OP y => EvalOP(in x as integer, in y as integer) returns 
string


The difference here is that in Option (1), you can have differing return 
types as long as the types of the parameters are different. In Option 
(2), you can have differing return types even if the types of the 
parameters are the same.


Open Language definitely allows Option (1) - it is the basis of how 
'specialization' of syntax can work for different argument types. This 
model is one where 'types flow downward' to work out how which variant 
to call.


Now, Option (2) is quite different - it means that the context of the 
use of an expression can be used to choose which form to call. This 
could work with the type-system in LiveCode Builder - I doubt it could 
be made to work effectively in LiveCode Script, too many ambiguities 
would arise (as the type required in a given context in LiveCode Script 
is often flexible).


That being said Option (2) is a proper superset of functionality for 
Option (1) so it is something we can explore at a later date. From all 
the work I have done up until now, Option (1) appears to be more than 
sufficient a model for currently existing LiveCode Script, and the 
purposes LiveCode Builder is currently being put to.


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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

Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-26 19:27, Richmond wrote:
I would love LiveCode NOT to understand the uncertainty of me. 
Computers

should not be behave being as ambiguous as we humans are.


Quite - nor should programming languages be ambiguous. Indeed, for them 
to be useful at all they need to be entirely unambiguous.


Open Language is the name of a parsing technology that we have developed 
which allows a reasonable degree of flexibility in defining 'natural 
language like' grammars (heavily based on abstracting the patterns 
present in existing xTalks) in a way which means that there requires no 
central co-ordination of the grammar.


Any ambiguities which occur due to using two sets of definitions from 
two disparate parties who never talk to each other is easily resolved by 
either preferring one set of definitions over the other, or marking one 
token of a line which uses an ambiguous phrase with a disambiguating 
mark.


There is nothing 'artificially intelligent' about Open Language - just 
perhaps a bit of 'artificial competence' and 'artificial sense'.


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-27 Thread Monte Goulding
Really interesting post & I happily stand corrected on the scope of what you 
are doing.

> On 27 Oct 2015, at 8:02 pm, Mark Waddingham  wrote:
> 
> Note that in all three 'operator' cases, you can also have expressions 
> in-between the tokens:
>  'is' 'between'  'and' 

Out of interest if I implement the above syntax but only for expressions that 
evaluate to a number can someone else implement it for expressions that 
evaluate to strings or some other thing. Can the be used together by some other 
user that doesn’t care about the implementation detail?

Cheers

Monte
___
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

Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-25 08:35, Richmond wrote:
Because Open Language was his idea, presented at a conference some 
years ago. I didn't stop to think that not everyone knows that.




Well, at least one person didn't :/


Hah - I had actually forgotten that Open Language had been presented in 
an NDA session at a conference (the year before the KickStarter campaign 
if I remember correctly - 2012).



My crit. (which is my usual crit. about the Kickstarter) was aimed at
a feeling that
RunRev were so enthusiastic about the Kickstarter they merrily 'said'
all sorts of things,
that later, in "the cool light of reason" may have been seen to be a
bit unwise, or
should have been stated in more measured terms.


There is a prototype version of the Open Language parser which I 
developed - it is currently sitting on my hard-drive. It was 
demonstrated in the NDA session - so we have definitely not been 
spouting 'hot air'.


There are various reasons why it has not appeared yet - the primary one 
being that it has taken us a lot longer to do the work on the engine so 
that the engine can support it than we originally projected.


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-24 18:42, Richard Gaskin wrote:

Colin Holgate wrote:
I found this definition of open language, which might be on the right 
lines too:


http://dl.acm.org/citation.cfm?id=609766


A good reminder for us all to keep our ACM memberships current.

But alas mine has lapsed, and before I spend US$15 to download the
2001 article to see if it matches what LiveCode Ltd. proposed for
their system in 2013, I'm hoping we might find some definition
specific to their plans not behind a paywall.


Given that I've never read that article, I suspect that US$15 will be 
wasted (I can't really infer from the abstract what that article is 
about).


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

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.


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. The parser is very poorly implemented in this 
regard. It was never done with any amount of rigour, nor following any 
standard structured techniques for such things (it dates back from long 
before my tenure). Indeed, having spent many years studying programming 
language design and implementation before I joined RunRev (as it was 
then), when I actually saw how it was implemented to say I was 
'surprised' would be an understatement.


(It is extremely important to understand that perturbing the parsing 
code in any way runs the risk of breaking existing scripts... Precisely 
because it was never written to a high enough specification standard).


Now, that being said, it obviously does work - and given the amount of 
code out there which is run through its internals the outward effects of 
however it is implemented internally is not necessarily affected. What 
is hugely affected though are things which are incredibly important if 
you want to do describe, extend or do any 'clever' processing of the 
language.


The problem is that because the parser is so lax, and almost impossible 
to pin down to a tight specification of what it recognizes, the actual 
definition of what LiveCode Script currently is syntax-wise, is entirely 
defined by the implementation of the parser.


After the refactor work we did for 7, however, we can actually finally 
do something to clean this up. We have 'unhooked' the execution of 
parsed commands from the representation of the parsed commands in 
memory, and thus this means that it will make it possible to implement a 
tool which maps an existing parsed script to a cleaner syntax.


Before anyone gets concerned, I'm not proposing anything drastic here at 
all. Each piece of syntax the current engine understands will have a 
representative form chosen which will then be used for the 'unparsing'. 
The original parser would be used to compile each line, and then the 
result put through a reverse operation to generate string matching a 
normalized form in each case. For example, one of my favourite examples 
of the unwieldy parser is 'accept connections' as you can do this:


   accept accept accept accept 1000 with empty "callbackMessage"

The (normalized) representative form would be:

   accept connections on port 1000 with message "callbackMessage"

If the syntax of the language can be pinned down to a simple variant of 
Backus-Naur Form (BNF) then a great deal of things become a great deal 
easier.



For example, if "export snapshot" were an R command it might look
something like:

...

...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.


That's great. I'm glad R does things like that - I'm sure it has 
developed its ideas and forms as appropriate to its explicit very 
restricted domain (and a great great deal more restricted than  
LiveCode).



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.


Well it is a possibility - but, like adding 'dot' notation - I have to 
ask is that the right thing for LiveCode (xTalks)... Surely it would be 
better to work out how the English-like nature is best preserved, and 
implement a system which means it can be done easily...


Oh wait - that's the point of Open Language :)

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-27 03:07, Mark Wieder wrote:

Well. *This* certainly seems to have hit a nerve.


Indeed - perhaps a little bit - but honestly not with you!

Your pull request is a good one - it is minimal, focused and has 
tests... Tests the writing of which uncovered two bugs which need to be 
fixed in the engine. As PRs go, I couldn't really ask for much more.


However, the problem is that it attempts to 'fix' something which I 
think needs a little more thought about what the policy should be before 
it is 'fixed' - as it sets a precedent, the potential consequences of 
which are a combinatorial explosion in keywords.



I would be fine with having everything be "hilite". Or with everything
being "highlight". Or with everything being "blxxqvy". The point of
the original bug report was that there's no consistency in the
language. Sometimes you can use the "highlight" form and sometimes you
have to use the "hilite" form. The problem is trying to remember which
is which.


Indeed, I want consistency - however, going from a situation where 
things are inconsistent, and lax to one where they are consistent and 
strict-enough is really difficult to do piece-meal when you have 
literally millions of lines of code out there which depend on the 
current implementation.



I agree with what you're saying about the proliferation of synonyms.
I'm not wild about most of the other synonyms in the language
either... "cd", "fld", etc (although I'd hate to give up "loc" and
"rect") But right now we're trying to have it both ways. To my eye the
"hilite" form looks cutesy and unprofessional, but I do understand
developers are lazy and don't like typing, so I'd be fine with that.
It's in the documentation already.


I'd prefer 'highlight' too - but with any long standing system which has 
evolved over a long time you have to respect the 'defacto standards' 
which have evolved within it, whether intended or unintended as a great 
many people will have learnt to depend on them.



But really... let's move in the direction of some consistency.


Definitely. We just need to make sure we work out the best way to get 
there.


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-27 09:57, Monte Goulding wrote:
Indeed - my train had arrived at my destination and I didn't have time 
to respond to the next post.


You did it again… is it a metaphorical train ;-)


No, this one was definitely a physical train... Of course, that is 
assuming that the entire universe isn't just an illusion perpetrated by 
my non-Turing Machine mind ;)



I actually did that a few weeks back asking if it would be
implemented. I’m not really expecting I’ll be able to get my head
around gentle enough in the time I can allocate to FOSS contributions
to be much more than a hindrance but I’m happy to discuss it ;-)


Hehe - ah - I think I remember that - sorry... I suspect it got lost 
amongst a few other things. Switch is actually really easy to implement 
- the hardest part is working out what sort it should be. I'll see if I 
can collate some various examples from different languages so we can see 
what would work best.


Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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

Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-27 10:50, Mark Waddingham wrote:

   accept accept accept accept 1000 with empty "callbackMessage"


This should be:

   accept connections connections connections 1000 with empty 
"callbackMessage"


Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-27 Thread Bob Sneidar

On Oct 27, 2015, at 02:11 , Mark Waddingham 
> wrote:

On 2015-10-26 19:27, Richmond wrote:
I would love LiveCode NOT to understand the uncertainty of me. Computers
should not be behave being as ambiguous as we humans are.

Quite - nor should programming languages be ambiguous. Indeed, for them to be 
useful at all they need to be entirely unambiguous.


I've always said that what facinates developers so much about computers is that 
it is a microcosm of predictability. In the real world you can do everything 
right and have it turn out oh, so wrong. Not with software development. When 
the wolves of reality have us cowering amidst the bushes of uncertainty, (wow 
that was really good!) we can always run to our brick houses of Software 
Development. If something goes wrong, it's our fault, plain and simple. But we 
can still fix it! What's not to love about that?? ;-)

Bob S


___
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


Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-27 17:09, Bob Sneidar wrote:

I would say LC is "typeless" as far as it can be. Graphic data is not
strictly typeless, data read in as binary is not typeless, etc. In
fact, any attempt to reduce *ALL* data to strings would be a horrible
mistake. I guess I'm saying that I appreciate not having to worry
about typing until it can't be helped.


I think that is generally why typeless languages are generally 
scalar+array languages - as not being able to build general collections 
is quite limiting...


HyperCard was probably what you could call 'pure typeless' - as 
everything was a string, and didn't have arrays.


Pre-7 LiveCode was definitely scalar+array.

Post-7 though, LiveCode now sits on a dynamically typed underbelly and 
aspects of the dynamic typing do start to 'poke through' a little more 
(perhaps regrettably). Unfortunately in order to ensure transparent 
Unicode *and* allowing existing code to run unmodified it was necessary 
to expose an explicit division between text and binary data - 
principally because the 'native encodings' used for text on each 
platform were not the same as the first 256 Unicode codepoints.


It is an interesting (at least to me) exercise to consider how one might 
make a variant of LiveCode which was truly typeless and (once again - 
like HyperCard) treated 'string' as the universal datatype. For example:

- nothing: the empty string
- booleans: "true" and "false"
- numbers: decimal arithmetic with arbitrary precision (obviously 
transcendental operators would need to use some local property to 
determine precision)

- strings: sequence of Unicode codepoints
- data: a string where each codepoint < 256
- lists: 'item' delimited strings

However, at this point one gets into the question of 'collections'. 
Really you are limited to either table-like strings (i.e. two 
dimensional arrays), or dictionary-like strings (i.e two items per line, 
first item key, second item value). This is obviously really quite 
limiting - you would lose 'nested' arrays, and higher-dimensional 
arrays.


The above should be possible to do in an entirely self-contained, and 
internally consistent way though - in that arrays are line-delimited 
lists, and dictionaries are line-delimited two element lists. You could 
consider a tree-like string representation for nested arrays, but then 
you lose a fair bit of synergy between the other data-types and at that 
point you might as well start thinking about adding a collection type 
(i.e. LiveCode arrays) and thus the goal of making something purely 
typeless is gone.


Warmest Regards,

Mark.


--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-27 Thread Bob Sneidar
I would say LC is "typeless" as far as it can be. Graphic data is not strictly 
typeless, data read in as binary is not typeless, etc. In fact, any attempt to 
reduce *ALL* data to strings would be a horrible mistake. I guess I'm saying 
that I appreciate not having to worry about typing until it can't be helped.

Bob S


On Oct 27, 2015, at 01:42 , Mark Waddingham 
> wrote:

One of the principal differences between LiveCode Script and LiveCode Builder 
is that LiveCode Script tries very hard to be a 'typeless' language (okay so it 
has arrays so it isn't really), whereas LiveCode Builder doesn't - it has 
dynamically typed semantics which are strictly enforced.

___
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


Re: What is "Open Language"?

2015-10-27 Thread Richard Gaskin

Mark Waddingham wrote:


On 2015-10-26 17:36, Richard Gaskin wrote:

I'm fine with whatever there's budget to provide to let folks explore
novel syntax, even more so with your reminder here that Open Language
is among the last of the enhancements in queue, long after being able
to play a video file on Linux without crashing and other less
glamorous but useful things.


Unfortunately, language and features are intertwined. You can't have
features without a way to access them, and a language with no features
is useless.


Maybe my tastes are too savage, but personally I'm fine with the 
existing syntax for player controls.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://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


Re: What is "Open Language"?

2015-10-27 Thread Richmond

On 27/10/15 18:25, Bob Sneidar wrote:

On Oct 27, 2015, at 02:11 , Mark Waddingham 
> wrote:

On 2015-10-26 19:27, Richmond wrote:


No, Richmond didn't: another wise chap did: and I completely agree with him.

Cerdit is not due to me on this one.

I would love LiveCode NOT to understand the uncertainty of me. Computers
should not be behave being as ambiguous as we humans are.

Quite - nor should programming languages be ambiguous. Indeed, for them to be 
useful at all they need to be entirely unambiguous.


I've always said that what facinates developers so much about computers is that 
it is a microcosm of predictability. In the real world you can do everything 
right and have it turn out oh, so wrong. Not with software development. When 
the wolves of reality have us cowering amidst the bushes of uncertainty, (wow 
that was really good!) we can always run to our brick houses of Software 
Development. If something goes wrong, it's our fault, plain and simple. But we 
can still fix it! What's not to love about that?? ;-)

Bob S



Richmond.

___
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


Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-27 18:23, Richard Gaskin wrote:

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.


Indeed - but then perhaps that's the difference between people using a 
programming language and those responsible for maintaining and evolving 
it.



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.


Well, I think you misrepresent how OOP languages work there - as they 
don't tend to require you to instantiate a 'math' class just to add two 
numbers. (Although some do take 'purity' to an almost unusable extent).


In any case, OOP isn't really a language, it is just a set of patterns 
and ideas which are one good way to structure languages and think about 
software. (And OOP principals are definitely there in xTalks they are 
just not generally visible day-to-day).



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.


Indeed - name-value pairs are used for 'the clipboardData' and other 
devices... Although I'd might suggest only because there is a lack of 
ability to be able to code the syntax that might be more appropriate:


e.g. set the styledText of the clipboard to ...


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


It works - but a lot of people get tripped up by it all the time 
(costing individuals time figuring out why things don't work, others on 
the lists when they respond to questions on the lists about why their 
command doesn't work how they expect, and bug reports to us when they 
think there's an issue). Now, whilst perhaps a better dictionary entry 
might help a bit... This situation does suggest to me the syntax could 
be better and more accessible.



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


Well I'm sorry to say that he was wrong as far as I'm concerned.

Indeed, thinking that xTalks have no place for formality might be 
perhaps at least (a small) part of the reason why most of them have 
disappeared?


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


My job is to make software too - software that allows others to make 
software.


Aspects like rigorously definable semantics and rigorous specification 
of syntax are things that help me do that. Just like having the features 
you need working in the way you need them to help you to do that.


If life were simple, it probably wouldn't be as much fun :)

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-27 18:01, Richard Gaskin wrote:

Unfortunately, language and features are intertwined. You can't have
features without a way to access them, and a language with no features
is useless.


Maybe my tastes are too savage, but personally I'm fine with the
existing syntax for player controls.


I'm glad for you. However, I think you know full well that was not my 
point...


Just to reiterate it - let's take an analogy with property ownership. 
Most people will at some point in their lives want to buy a house. 
Unfortunately (at least in the UK) this tends to require a hefty 
deposit. As money doesn't grow on trees, it is necessary to plan 
significantly ahead and save the money that you need for the deposit so 
that at some future date you can indeed buy a house.


Developing any complex software technology (and combined IDE / GUI 
Toolkits / Language systems are complex software - let's make no bones 
about that) is quite similar - if you substitute money for 'knowledge' 
and 'foundations'. If you see that the technology needs to really be at 
a particular point in the future, you need to 'cannibalise' your 
resources slightly along the way in order to make sure that at that 
point in the future you have the necessary knowledge and foundations on 
which to achieve the goal.


You seem to be of the point of view that the R necessary to ensure the 
future viability of technology is a 'nice-to-have' and 'unnecessary'. 
However, the reality is that it is something which *has* to be 
considered a critical part - lest you wish your technology to whither, 
shrink, and gradually fade away into the past.


As I said in another post - it is a difficult juggling act.

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-27 Thread Richard Gaskin

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 
learning.


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
 
 ambassa...@fourthworld.comhttp://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


Re: What is "Open Language"?

2015-10-27 Thread Mark Waddingham

On 2015-10-27 19:26, Richmond wrote:

My tastes are extremely savage: I cannot see anything really wrong
with the syntax for anything,
and don't see the need for a multiplicity of synonyms.


Well, that's the current state of play - which isn't really the topic of 
conversation here - it is about the future.


So would you be happy if all future functionality of the language were 
implemented as function calls and commands (a la Visual Basic 6)? (This 
is actually a serious question!)


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-27 Thread Richmond

On 27/10/15 19:01, Richard Gaskin wrote:

Mark Waddingham wrote:


On 2015-10-26 17:36, Richard Gaskin wrote:

I'm fine with whatever there's budget to provide to let folks explore
novel syntax, even more so with your reminder here that Open Language
is among the last of the enhancements in queue, long after being able
to play a video file on Linux without crashing and other less
glamorous but useful things.


Unfortunately, language and features are intertwined. You can't have
features without a way to access them, and a language with no features
is useless.


Maybe my tastes are too savage, but personally I'm fine with the 
existing syntax for player controls.




My tastes are extremely savage: I cannot see anything really wrong with 
the syntax for anything,

and don't see the need for a multiplicity of synonyms.

Richmond.

___
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


Re: What is "Open Language"?

2015-10-27 Thread Trevor DeVore
On Tue, Oct 27, 2015 at 2:39 PM, Mark Waddingham  wrote:

>
> So would you be happy if all future functionality of the language were
> implemented as function calls and commands (a la Visual Basic 6)? (This is
> actually a serious question!)


NOO! I'm patiently waiting for Open Language :-)

-- 
Trevor DeVore
ScreenSteps
www.screensteps.com-www.clarify-it.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


Re: What is "Open Language"?

2015-10-27 Thread Richmond

On 27/10/15 20:39, Mark Waddingham wrote:

On 2015-10-27 19:26, Richmond wrote:

My tastes are extremely savage: I cannot see anything really wrong
with the syntax for anything,
and don't see the need for a multiplicity of synonyms.


Well, that's the current state of play - which isn't really the topic 
of conversation here - it is about the future.


So would you be happy if all future functionality of the language were 
implemented as function calls and commands (a la Visual Basic 6)? 
(This is actually a serious question!)


I thought offensive terms such as 'Visual Basic' weren't permitted on 
this Use-List.


Warmest Regards,

Mark.



Richmond.

___
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


Re: What is "Open Language"?

2015-10-26 Thread Mark Waddingham

On 2015-10-24 21:00, Richmond wrote:

Well, what to one person is 'natural language' may not be to another:
and a "10,000 different, often incompatible and sometimes confusing,
custom syntax options" does seem to sum that problem up fairly 
effectively.


Indeed - what is 'natural' to me is different to others. However, 
language is about communication between individuals and groups. Each 
develops their own idea of 'naturality' in that context.


I have to say that what people do in the privacy of their own homes and 
with friends is entirely up to them and generally of little interest to 
me - if they wish to spend a great deal of time developing weird and 
wonderful ways of setting the rect of a button then, you know what, they 
can go 'knock themselves out' and have as much fun as they can possibly 
have with such an endevaour (I certainly won't be spending any time 
doing so).


However, when 'these' people have to interact with others outside of 
such small groups, then they will find that *unless* their new approach 
fits entirely within the constraints of the group they are proffering it 
to and is demonstrably 'better' or gives more benefits than the existing 
one, then they will most likely find limited support.



It is an unreachable ideal for the plain and simple reason that
computers do not work in the
same way as human brains.


Interesting - I must confess I'm not quite up to date with the latest 
frontier research on that subject but certainly last time I did dig into 
it that was still an unanswered question.


If you are absolutely sure about your assertion and have a proof for it 
then I suggest you write up a paper right now and submit it for peer 
review in an appropriate academic journal - you would quickly find 
yourself probably being inline for a sizeable prize or two, and 
international renown (and indeed probably have a whole array of job 
offers at many prestigious academic and research institutions around the 
world).


(Just for the sake of others, I should explain - asserting that 
'computers do not work in the same way as human brains' means that the 
human brain is fundamentally capable of solving a greater set of 
problems than modern computers - i.e. the human brain is not a Turing 
Machine but something more)


Of course, whilst intellectually interesting, the reality is that 
computers have gotten pretty darn good (and continue to get better) at 
approximating the outward effects of the human brain in every increasing 
areas; which means whether or not their computational models are 
equivalent or not is really not that relevant on a day-to-day basis.


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-26 Thread Monte Goulding
I agree with you. I hate synonyms. They should be replaced by auto-completion.

Sent from my iPhone

> On 26 Oct 2015, at 8:00 pm, Mark Waddingham  wrote:
> 
> (One could also argue that the problem of synonyms and abbreviations is far 
> better handled in the script-editing environment... Although nobody ever 
> seems to agree with me on that one - even though the resulting effect would 
> be identical for all intents and purposes ;)).

___
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


Re: What is "Open Language"?

2015-10-26 Thread Terry Judd
I¹d be happy with auto-completion and fewer (or no) synonyms.

Terry...

On 26/10/2015 8:26 pm, "use-livecode on behalf of Monte Goulding"
 wrote:

>I agree with you. I hate synonyms. They should be replaced by
>auto-completion.
>
>Sent from my iPhone
>
>> On 26 Oct 2015, at 8:00 pm, Mark Waddingham  wrote:
>> 
>> (One could also argue that the problem of synonyms and abbreviations is
>>far better handled in the script-editing environment... Although nobody
>>ever seems to agree with me on that one - even though the resulting
>>effect would be identical for all intents and purposes ;)).
>
>___
>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


___
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


Re: What is "Open Language"?

2015-10-26 Thread Mark Waddingham

On 2015-10-26 10:26, Monte Goulding wrote:
I agree with you. I hate synonyms. They should be replaced by 
auto-completion.


How about 'spelling assist' too - referencing a dynamic dictionary based 
on context.


Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-26 Thread Mark Waddingham

On 2015-10-24 22:47, Mark Wieder wrote:

On 10/24/2015 12:21 PM, Peter TB Brett wrote:


* hilite -> highlight


Actually I filed a bug report on that six years ago.
http://quality.runrev.com/show_bug.cgi?id=8211

It got confirmed and ignored.
I just submitted a pull request.
Figured I might as well fix this myself.


There's a slippery slope here (in terms of the current engine parsing 
implementation at least) which means that just adding synonyms because 
the lack of them 'annoy' a small set of people (and/or because you can) 
really isn't something which makes sense.


It is clear that originally 'hilite' was the chosen spelling for that 
operation - it is an 'informal' spelling of 'highlight' which has been 
historically used in GUI frameworks (probably because it is a good deal 
shorter than 'highlight' - something which those who are fond of 'grp', 
'fld', 'ac, 'cd' etc. should feel at home with ;))


There was obviously clearly some contention over whether 'dehilite' or 
'unhilite' should be the antonym - given that even 'dehighlight' nor 
'unhighlight' tend to appear in dictionaries this is probably not 
surprising.


So, clearly someone 'complained' at some point (which is probably why 
dehilite and unhilite both exist) and 'highlight' was added. Indeed, 
there are actually the following fundamental synonyms for 'hilite' in 
the engine:

  - highlight
  - highlighted
  - highlite
  - highlited
  - hilite
  - hilited

So that is 6 ways to write exactly the same thing. (It gets better in a 
moment)


We now have the following 'compound' property names involving 'hilite':
  - hiliteborder
  - hilitecolor
  - hilitefill
  - hiliteicon
  - hilitepattern
  - hilitepixel

We also have the following 'compound' property names involving 
'hilited':

  - hilitedbutton
  - hilitedbuttonid
  - hilitedbuttonname
  - hilitedicon
  - hilitedline
  - hilitedtext

There are also the following 'other' properties:
  - autohilight
  - autohilite
  - linkhilitecolor
  - multiplehilites
  - noncontiguoushilites
  - sharedhilite
  - showhilite
  - threedhilite
  - togglehilites

So, there are (in fact) the following variations on 'hilite' currently 
in use in the engine:

  - hilite
  - highlite
  - hilight
  - highlight

Which, if accounted for in synonyms would mean we would end up with (I 
believe) 72 keywords if we ignore the 'ed' forms, and 144 if we have 
both the preset and past participles. Also, it means that every time 
anyone wants to add a property containing 'hilite', they need to add 4 
(maybe 8) variants. This kind of 'blow-up' suggests that there is 
something wrong with the approach.


So, I do think that in this case it would be far better to *choose* what 
variant spelling is the normative one and deprecate all the other 
synonyms at least until there is a much better mechanism in place for 
parsing and resolving synonyms (i.e. when compound properties are 
specified as separate words, and synonyms are substitutions done as a 
pre-processing step).


For anything like there has to a policy and my policy has always been - 
you choose a single representative for a single concept and you stick to 
it. In this case 'hilite' is a perfectly valid word to use (given its 
domain - i.e. GUIs); indeed, it is just as valid a choice for 
'highlight' as 'color' is for 'colour' and 'behavior' is for 
'behaviour'. At the end of the day this is a computer language and as 
such logical and sensible choices have to be made. (One could also argue 
that the problem of synonyms and abbreviations is far better handled in 
the script-editing environment... Although nobody ever seems to agree 
with me on that one - even though the resulting effect would be 
identical for all intents and purposes ;)).


Now, I'm not saying this won't change - clearly there is a want for 
synonyms as a fair few people seem quite fond of them. However, there 
needs to be a good mechanism in place to deal with them in the engine 
and there currently is not (particularly when considering compound 
forms) so caution is hugely advisable.


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-26 Thread Mark Waddingham

On 2015-10-24 18:53, Richard Gaskin wrote:

Two questions:

1. Do we have a projected timeline for that?


LiveCode 9.


2. Isn't the goal so that we can have 10,000 different, often
incompatible and sometimes confusing, custom syntax options for doing
basic things like setting the rect of a button?  :)  (This is why I
get food thrown at me while speaking at LiveCode conferences)


That seems like quite an odd 'goal' to have... I've always thought it 
best to set 'goals' which are positive and beneficial things. I have to 
say I don't think I would have wasted any of my mental energy in working 
on something with a 'goal' such as that in mind but then, that might 
just be me.


It will be a possible side-effect - however, I suspect it would be an 
exceptionally unlikely outcome. One can spend a great deal of time 
worrying about such things and in doing so you bite your nose off to 
spite your face.


As a comparison - we are, these days, used to moving ourselves around in 
small metal boxes with explosions in front of our feet (i.e. cars). 
Statistics tend to rate this form as transport as the least safe, 
however I don't think the goal of the people who developed automotive 
transport was to kill 100,000s of people a year... At least not in my 
universe!


Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-26 Thread Monte Goulding

> On 27 Oct 2015, at 1:51 am, Rick Harrison  wrote:
> 
> A work around is to let all previous versions work, and put the final winning
> candidate into the dictionary, the others will no longer appear in the
> documentation.  This solves the problem with the least disruption as it
> doesn’t break anyone’s code, but helps to streamline the desired future
> syntax for the language.

Deprecation notices in the IDE would be nice. Both inline in the script editor 
and in some big list somewhere whenever we open a stack.
___
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

Re: What is "Open Language"?

2015-10-26 Thread Richmond

On 26/10/15 20:55, J. Landman Gay wrote:

On 10/26/2015 1:30 PM, Richmond wrote:

Um: my endless thousands of numToChar statements in my Devawriter Pro
will have to
be rewritten should I decide to move my code-base from LC 4.5 to LC 7.*
or higher.


Not necessarily, numToChar and charToNum still work. They are 
discouraged now, but they still function. Did you try it?




No, I didn't, and should I decide to move my codebase I am sure I can 
automate

those changes relatively painlessly: I just mentioned them to
make the point about what a 'bother' lack of backwards compatibility can be.

Richmond.

___
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


Re: What is "Open Language"?

2015-10-26 Thread Mark Waddingham

On 2015-10-24 22:07, Geoff Canyon wrote:
This is the main thing I have been looking forward to for the past 
several

years. The goal was to allow the addition of truly new syntax and
functionality to the language. I really wanted this, and widgets is 
what it
has turned into. Not that widgets aren't a good thing, but I'd really 
like

to be able to use:
repeat for each line L in someText with index i

apply myFunction to X until the value converges

apply (+1) to every item of myList where it mod 2 = 1

...and many, many more.


No - widgets is not what it has turned into. Widgets are entirely 
orthogonal - they about extending the controls you can use in LiveCode, 
not the syntax (after all having lots of nice syntax is great, but if 
you don't have the things you can instruct to do things with it, then it 
perhaps isn't very useful).


Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-26 Thread Monte Goulding

> On 27 Oct 2015, at 6:08 am, Mark Waddingham  wrote:
> 
>> repeat for each line L in someText with index i
>> apply myFunction to X until the value converges
>> apply (+1) to every item of myList where it mod 2 = 1
>> ...and many, many more.
> 
> No - widgets is not what it has turned into. Widgets are entirely orthogonal 
> - they about extending the controls you can use in LiveCode, not the syntax 
> (after all having lots of nice syntax is great, but if you don't have the 
> things you can instruct to do things with it, then it perhaps isn't very 
> useful).

You seem to have answered all the questions apart from the control structure 
ones. 

As far as gentle goes the good news is I’ve managed to find the control 
structures in grammar.g… The bad news is I loose the trail once I get to 
types.g… 

It’s all very interesting… a compiler for a language for making compilers that 
is compiling a language that is a compiler… 

Cheers

Monte


___
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

Re: What is "Open Language"?

2015-10-26 Thread Mark Wieder

Mark-

Well. *This* certainly seems to have hit a nerve.

I would be fine with having everything be "hilite". Or with everything 
being "highlight". Or with everything being "blxxqvy". The point of the 
original bug report was that there's no consistency in the language. 
Sometimes you can use the "highlight" form and sometimes you have to use 
the "hilite" form. The problem is trying to remember which is which.


So that's what my pull request fixes.

I agree with what you're saying about the proliferation of synonyms. I'm 
not wild about most of the other synonyms in the language either... 
"cd", "fld", etc (although I'd hate to give up "loc" and "rect") But 
right now we're trying to have it both ways. To my eye the "hilite" form 
looks cutesy and unprofessional, but I do understand developers are lazy 
and don't like typing, so I'd be fine with that. It's in the 
documentation already.


But really... let's move in the direction of some consistency.

--
 Mark Wieder
 ahsoftw...@gmail.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


Re: What is "Open Language"?

2015-10-26 Thread Monte Goulding
Well there’s two ways to look at this. Either we agree that hilite was a 
mistake. Implement highlight everywhere then deprecate hilite. Or we agree that 
highlight was a mistake and we deprecate the small number of uses of that. When 
I say deprecate I just mean making a note in the dictionary at this stage. 

Either way we are on a slippery slope here. Will we add synonyms for every 
instance of Rect to give us Rectangle.

Personally I’d be relatively happy for the development engine to quietly fix 
instances of synonym use in the background when a script is compiled. Doing 
that you could drop all synonyms without too many issues. I mean is there any 
logical reason we need to be able to refer to a folder with the folder, the 
defaultFolder and the directory… Or create a folder using create folder, create 
directory, new folder or new directory???

I’m sure at some point someone decided that they could import projects from 
other platforms by creating all these synonyms. A few seconds thought on that 
and they might have realised that parsing the scripts to change them to use the 
common syntax would have been much cleaner.

Cheers

Monte

> On 27 Oct 2015, at 1:07 pm, Mark Wieder  wrote:
> 
> Mark-
> 
> Well. *This* certainly seems to have hit a nerve.
> 
> I would be fine with having everything be "hilite". Or with everything being 
> "highlight". Or with everything being "blxxqvy". The point of the original 
> bug report was that there's no consistency in the language. Sometimes you can 
> use the "highlight" form and sometimes you have to use the "hilite" form. The 
> problem is trying to remember which is which.
> 
> So that's what my pull request fixes.
> 
> I agree with what you're saying about the proliferation of synonyms. I'm not 
> wild about most of the other synonyms in the language either... "cd", "fld", 
> etc (although I'd hate to give up "loc" and "rect") But right now we're 
> trying to have it both ways. To my eye the "hilite" form looks cutesy and 
> unprofessional, but I do understand developers are lazy and don't like 
> typing, so I'd be fine with that. It's in the documentation already.
> 
> But really... let's move in the direction of some consistency.
> 
> -- 
> Mark Wieder
> ahsoftw...@gmail.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


___
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

Re: What is "Open Language"?

2015-10-26 Thread Mark Waddingham

On 2015-10-26 19:30, Richmond wrote:

Um: my endless thousands of numToChar statements in my Devawriter Pro
will have to
be rewritten should I decide to move my code-base from LC 4.5 to LC
7.* or higher.


I'm not sure that is necessarily true. I believe you use 'unicodeText' 
in your code-base, and numToChar() when 'useUnicode' is true. This 
combination of things should work as it did before and will continue to 
do so (if it doesn't then let me know and we'll take a look to advise - 
as it could be there is a bug lurking there).


However, if you want to take advantage of the 'transparent' Unicodeness 
of 7+, then you will need to change the uses of 'unicodeText' to 'text' 
and 'numToChar' to 'numToCodepoint'.


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-26 Thread J. Landman Gay

On 10/26/2015 1:30 PM, Richmond wrote:

Um: my endless thousands of numToChar statements in my Devawriter Pro
will have to
be rewritten should I decide to move my code-base from LC 4.5 to LC 7.*
or higher.


Not necessarily, numToChar and charToNum still work. They are 
discouraged now, but they still function. Did you try it?


--
Jacqueline Landman Gay | jac...@hyperactivesw.com
HyperActive Software   | http://www.hyperactivesw.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


Re: What is "Open Language"?

2015-10-26 Thread gcanyon
I wrote something like this about a dozen years ago: a script pre-processor 
that worked with the script editor to store the pre-processed script as a 
custom property for use later. 

I remember implementing default values for parameters like so:

on someHandler paramOne=27, paramTwo=13

Which would translate to:

on someHandler paramOne, paramTwo
if paramOne is empty then put 27 into paramOne
if paramTwo is empty then put 13 into paramTwo

and a few other preprocessor commands as well. 


gc

> On Oct 26, 2015, at 5:00 AM, Mark Waddingham  wrote:
> 
> One could also argue that the problem of synonyms and abbreviations is far 
> better handled in the script-editing environment... Although nobody ever 
> seems to agree with me on that one - even though the resulting effect would 
> be identical for all intents and purposes ;)).

___
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


Re: What is "Open Language"?

2015-10-26 Thread Roland Huettmann
Originally I had thought that "Open Language" means to allow LiveCode to
run other scripting languages within it's framework, for example using
Python, or somehow link such languages into LiveCode.

I started hating "machines" who started "understanding" me and making
assumptions about what I want. Already I hate when at Google confines me to
a certain earthly region and that it became almost impossible or very
difficult to change language. Again I want to become a "free" user of the
Internet. Or at least, there should be a button to switch OFF all
assumption about who I am and what I want.

I would love LiveCode NOT to understand the uncertainty of me. Computers
should not be behave being as ambiguous as we humans are. We love them
because they do what we want them to do, and not the other ways around, and
computer language should not leave much space for interpretation. It
follows a logic, and as long as it does that, it is acceptable. And we love
LiveCode because it allows to express logic in a way which is near to human
language - but will never replace it (I hope at least).

So, I like Monte's suggestion to have an auto-correct feature to help
correcting wrong input and wrong spelling - the correct one being defined
in the dictionary with as few synonyms as possible, but not force us not to
do something wrong. In case of wrong-doing, the compiler should bark at us,
or the application will misbehave - and we have learnt from doing wrong and
may have a chance to correct ourselves.

(The new scripting environment of FileMaker 14 is not so bad in
accomplishing some of this. A good place to take lessons from. As much as I
hated the old scripting environment, the new one has nice edges and really
is supportive...)

The language should grow not in the sense of making things more ambiguous
as they already are, but just advance the capabilities of expression within
limitations. If these limitations would be removed, the river will not find
it's bed to the ocean and spread all over in an uncontrolled way. We would
have big problems understanding each-other, and the effect will be simply
chaotic programming style.

I do not believe that the need for programming will die in 20 years as
someone here stated. Such prognosis was there already 20 years ago that
soon machines will program themselves. At least I do not want it - or only
as much as boundaries can be clearly defined. We could also state that
logic will not be needed in 20 years, or that we all started stop using our
mental capabilities and hand over our brain to the computer.

I do not want the computer to switch on the light in my room when I enter,
and know in advance what I am going to do or think or wish - unless I
completely control its behavior. Thinking further, this leads to quite a
philosophical discussion and touches the base of our human existence and
the notion about who we are.

Think of musical notes. Would Mozart have been able to communicate his
genius without them? Musical notes leave all the space for expression, but
still confine the basic intention into a framework of the limitations of a
language.

Why do we love LiveCode? Or why would students love it? Because it gives
freedom of expression within a set of limitations - using simple English
expressions. How would a Chinese learn all the intricacies of English
vocabulary? He will not. Keep it simple and "stupid" within it's own set,
as musical notes are not that difficult to learn, but using them is quite
an interesting and different matter.

When there is a flow of beauty in such language, people will catch on. But
do not make it to be really English. Let us rather focus on thinking what
such typical user might expect when writing a statement. Will the machine
act accordingly? Or will there be unexpected results? And if there are
unexpected results, there must be "work-rounds", and then things become
ugly.

In this sense I would raise my voice against "Open Language".

But I am all for more and more beauty in LiveCode, and for ever growing
power accomplishing things that we want the machines to do in the most
logical way possible using LiveCode. And I think the "team" is trying to
just accomplish this - step by step. I admire them.

People are not against learning as long as there is a fruit to be
gained.And if we do not challenge our brain with ever growing
sophistication then it will also just die away. )

Roland



On 26 October 2015 at 11:09, Mark Waddingham  wrote:

> On 2015-10-26 10:26, Monte Goulding wrote:
>
>> I agree with you. I hate synonyms. They should be replaced by
>> auto-completion.
>>
>
> How about 'spelling assist' too - referencing a dynamic dictionary based
> on context.
>
> Mark.
>
> --
> Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
> LiveCode: Everyone can create apps
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, 

Re: What is "Open Language"?

2015-10-26 Thread Rick Harrison
Hi Mark,

Whenever one deprecates code, it destroys someone’s code somewhere.
Don’t do it.

I had a project I had worked on for 10 years of my life.  It encompassed
over 70,000 lines of hard won hand-written code.  One day the company
who was producing the language decided to make some major changes
deprecating much of the language.  There was no migration tool provided
by the company to make the changes painless.

I spent yet another year of my life hand coding the changes to get the code
working again.  Two years later, the company did the same thing yet again!
I couldn’t afford to go through the process yet again.  My code was
basically destroyed by the company by deprecation of the code base.

A work around is to let all previous versions work, and put the final winning
candidate into the dictionary, the others will no longer appear in the
documentation.  This solves the problem with the least disruption as it
doesn’t break anyone’s code, but helps to streamline the desired future
syntax for the language.

Just my 2 cents for the day.

Cheers,

Rick




 
> On Oct 26, 2015, at 5:00 AM, Mark Waddingham  wrote:
> 
> So, I do think that in this case it would be far better to *choose* what 
> variant spelling is the normative one and deprecate all the other synonyms at 
> least until there is a much better mechanism in place for parsing and 
> resolving synonyms (i.e. when compound properties are specified as separate 
> words, and synonyms are substitutions done as a pre-processing step).

___
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

Re: What is "Open Language"?

2015-10-26 Thread Mark Waddingham

On 2015-10-24 23:25, Richard Gaskin wrote:

I've worked with OS APIs in Pascal, C, and two xTalks, Tookbook's
OpenTalk scripting language which provides that built-in, and
CompileIt for HyperTalk.


This is true - they did. However, they come from a time when almost all 
OS APIs were procedural, and quite simple.


(Also, due to the limitations of what one can represent in 'stringy' 
languages - of which LiveCode Script is one - such a facility is 
incredibly fiddly, error prone and difficult to build nice abstractions 
around).



The one thing I've learned from that is that the language you're using
isn't all that important, because no matter what you're writing in the
OS you're talking to expects C:  it uses C data types and structures,
provides tons of great sample source but all in C, and requires that
you think like a C programmer, understanding and managing data in ways
a good xTalk normally insulates from even having to think about - the
difference between a pointer and a handle isn't interesting to most
xTalkers, but can be essential in C.


This isn't true. Most of Android's APIs are Java. Most of iOS / Mac's 
APIs are Objective-C. A lot of Windows functionality is provided through 
COM - which is an object-based API. Oh, and in the browser (HTML5) world 
the APIs are JavaScript (another object-based language).



By the time you become fluent enough in C to understand OS APIs well
enough to use them, you've already learned enough to write in it as
well.


This is simply not the case - there's a huge chasm between being able to 
understand C-style APIs and data-structures enough to use them and being 
able to write C (at least to any degree of use / proficiency).


Indeed, given that we are talking about (in many cases) very well 
defined APIs, which have been (ignoring Win32 and MacClassic ;)) very 
well designed - you actually don't need to understand much C to use 
them.


All you need to understand is what the values they take and return are, 
and how they can be appropriately marshalled. Indeed, the goal is that 
LiveCode Builder will do most of the marshalling for you - so as long as 
you have enough of an understanding to read the API definitions and map 
them to LCB forms, you can then use a language which is a great deal 
more familiar to use them (to be fair we still have a fair bit more work 
to do on the marshalling front...).



Monte's done an amazing job showing off what the externals SDK can do
for extending LC.  It would be great to see more people jump on board
with it.


Externals don't really go away with LCB - they just get renamed. All 
that happens is that LCIDLC which is used to simplify the interface 
between Engine and External goes away and is replaced by an LCB file 
containing nothing but foreign handler declarations. Of course, you then 
get the benefit of being able to mix you LCB and C in any way you 
choose.


Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-26 Thread Mark Waddingham

On 2015-10-26 15:51, Rick Harrison wrote:

Whenever one deprecates code, it destroys someone’s code somewhere.
Don’t do it.


Indeed, we have tried and do continue to try our very best not to break 
people's code as the platform evolves (even though this is a huge 
constraint to put on a programming environment which evolved from 
something born in the late 1980's - it makes the assumption that all 
decisions taken then and up until were correct then and correct relative 
to any future consequence and thus have no forward consequences - which 
is definitely not the case).


However, I'm not going to commit us to never deprecating things - we do 
and will continue to do so as needed. Deprecated features will continue 
to work for as long as it is feasible to do so.


A work around is to let all previous versions work, and put the final 
winning

candidate into the dictionary, the others will no longer appear in the
documentation.  This solves the problem with the least disruption as it
doesn’t break anyone’s code, but helps to streamline the desired future
syntax for the language.


The problem here is that you are assuming it is possible for 'all 
previous versions to work' from now until some arbitrary point in the 
future. This just isn't the case - code ages and computer technology 
continual renews.


For example, the 'liveResizing' property no longer does anything. Why? 
Because Cocoa has no facility to turn liveResizing off.


Similarly, things like the 'pixmapId' properties and such used to allow 
you to do really funky things on certain platforms which it was not 
possible to continue to make work when we brought the graphics 
capabilities up to scratch with other environments in 2.7. (Fortunately, 
long before these 'funky things' stopped working we provided a much 
better way to have the same effect - i.e. export/import snapshot from 
object).


In terms of syntax / synonym related suggestions - then the situation is 
much easier. We might deprecate some, just to make it clear what the 
'preferred' form is and to discourage further usage. We would never 
remove them until such a point that we do have a suitable migration tool 
/ method of expressing them which means people can choose to use them, 
or not, depending on their own personal preference.


In terms of current functionality (from a semantics point of view) there 
are a growing list of 'anomalies' in the bug database which are things 
which really aren't 'correct' at the moment (and never have been). It 
would be better for all new code and new users if they were not ladened 
with the baggage of those things being how they currently are. However, 
again, we aren't going to change that functionality until we can 
implement a compatibility mechanism meaning you don't have to update old 
code.


I suspect the environment you have been bitten by in the past was one 
which was hugely monolithic in terms of implementation. They probably 
redid the internals with little regard for backwards compatibility 
(because it wasn't a viable business avenue for them to be concerned 
about it - or they simply did not know how to) to reduce the engineering 
burden and to breath new life into it in the modern era (and thus 
continue to be viable).


The difference in LiveCode's case is that whilst the entire refactoring 
project, widgets and (eventually) Open Language is about turning 
something monolithic and hugely constrained into something modular and 
open, we are trying to do it in such a way that will ensure existing 
code will continue to run.


Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps


___
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

Re: What is "Open Language"?

2015-10-26 Thread Walt Brown
We've seen this before...

https://sites.google.com/site/hoytssecretlair/resources/s-1

Walt

On Mon, Oct 26, 2015 at 10:51 AM, Rick Harrison 
wrote:

> Hi Mark,
>
> Whenever one deprecates code, it destroys someone’s code somewhere.
> Don’t do it.
>
> I had a project I had worked on for 10 years of my life.  It encompassed
> over 70,000 lines of hard won hand-written code.  One day the company
> who was producing the language decided to make some major changes
> deprecating much of the language.  There was no migration tool provided
> by the company to make the changes painless.
>
> I spent yet another year of my life hand coding the changes to get the code
> working again.  Two years later, the company did the same thing yet again!
> I couldn’t afford to go through the process yet again.  My code was
> basically destroyed by the company by deprecation of the code base.
>
> A work around is to let all previous versions work, and put the final
> winning
> candidate into the dictionary, the others will no longer appear in the
> documentation.  This solves the problem with the least disruption as it
> doesn’t break anyone’s code, but helps to streamline the desired future
> syntax for the language.
>
> Just my 2 cents for the day.
>
> Cheers,
>
> Rick
>
>
>
>
>
> > On Oct 26, 2015, at 5:00 AM, Mark Waddingham  wrote:
> >
> > So, I do think that in this case it would be far better to *choose* what
> variant spelling is the normative one and deprecate all the other synonyms
> at least until there is a much better mechanism in place for parsing and
> resolving synonyms (i.e. when compound properties are specified as separate
> words, and synonyms are substitutions done as a pre-processing step).
>
> ___
> 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
>
___
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

Re: What is "Open Language"?

2015-10-26 Thread Mark Waddingham

On 2015-10-24 22:55, JB wrote:

If you do get Open Language what will it do to the
speed?  They said LC8 would be good because it
will make it easier for developers to write code in
LC which needed to be and external before.


We're still working on the 'foreign function interface' in LCB, so it is 
not yet as mature as we would like. The benefits of doing it from LCB 
rather than in C is that you don't have to deal with C compilers, 
toolchains and IDEs. (This is particularly pertinent if you are wanting 
to wrap an existing library which you don't have to compile yourself!).



Then after releasing it they said it is slower to use
than a external written in C.


Given that most OS APIs do quite heavyweight things execution speed is 
not really a concern. After all, if you are asking the OS 'please render 
this PDF page here', then it matters not one iota what the cost of 
abstraction is to call that OS supplied rendering function - it will 
always be orders of magnitude less than rasterizing millions of pixels.


In most cases, I think you'll generally find that speed of writing code 
for these kind of things is much more important than the speed of the 
bit which marshals things appropriately to call the API.


Now, that is not to say that speed of LiveCode Builder is not important 
to us - because it critically is. We are designing the language to try 
and ensure that it can be compiled and run at speeds which are not too 
dissimilar to native code in the future - this is why variables are 
typed, type conversions are more strict and handler calls are 'static' 
(not determined at runtime) rather than dynamic.


Indeed, the plan is that LiveCode Script (as it is now) and LiveCode 
Builder will eventually sit atop the *same* underlying bytecode-based VM 
so both can benefit from a native compilation strategy (probably based 
on LLVM). The *difference* is that the scope of optimization of LiveCode 
Script will be a great deal less than that for LiveCode Builder due to 
its dynamic design and use.


Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

___
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


Re: What is "Open Language"?

2015-10-26 Thread Richard Gaskin

Mark Waddingham wrote:


Of course, whilst intellectually interesting, the reality is that
computers have gotten pretty darn good (and continue to get better) at
approximating the outward effects of the human brain in every increasing
areas; which means whether or not their computational models are
equivalent or not is really not that relevant on a day-to-day basis.


When we get to a place where Noam Chomsky, Daniel Everett, and Peter 
Norvig to agree on what the rules should be, I agree that at that time 
we'll have had plenty of time for the AI community to figure out how to 
implement those rules. ;)


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://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


Re: What is "Open Language"?

2015-10-26 Thread Richard Gaskin

Mark Waddingham wrote:


On 2015-10-24 23:25, Richard Gaskin wrote:

I've worked with OS APIs in Pascal, C, and two xTalks, Tookbook's
OpenTalk scripting language which provides that built-in, and
CompileIt for HyperTalk.


This is true - they did. However, they come from a time when almost all
OS APIs were procedural, and quite simple.


Agreed, modern OS frameworks require much more study, hence:


The one thing I've learned from that is that the language you're using
isn't all that important, because no matter what you're writing in the
OS you're talking to expects C:  it uses C data types and structures,
provides tons of great sample source but all in C, and requires that
you think like a C programmer, understanding and managing data in ways
a good xTalk normally insulates from even having to think about - the
difference between a pointer and a handle isn't interesting to most
xTalkers, but can be essential in C.


This isn't true. Most of Android's APIs are Java. Most of iOS / Mac's
APIs are Objective-C. A lot of Windows functionality is provided through
COM - which is an object-based API. Oh, and in the browser (HTML5) world
the APIs are JavaScript (another object-based language).


By the time you become fluent enough in C to understand OS APIs well
enough to use them, you've already learned enough to write in it as
well.


This is simply not the case - there's a huge chasm between being able to
understand C-style APIs and data-structures enough to use them and being
able to write C (at least to any degree of use / proficiency).


The gap between understanding low-level data types, structures, 
frameworks, and APIs and being able to write in the lower-level language 
they were designed for is smaller than the gap between knowing only 
xTalk and having to learn to think in terms of low-level data types, 
structure, frameworks, and APIs.


Indeed, that's the point of xTalk.

Don't get me wrong, it's cool where Builder can help make that gap a bit 
smaller.


But it'll be there, so I think it's useful to help manage expectations 
on this.  The people who currently write externals will be able to make 
excellent use of it, but it may become disappointing for anyone who 
believes Builder alone can substitute for learning the many details 
beyond the language needed to make good use of it.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://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


Re: What is "Open Language"?

2015-10-26 Thread Bob Sneidar
[FAIR WARNING: BLOVIATION TO FOLLOW]

Mark Waddingham wrote:

> Of course, whilst intellectually interesting, the reality is that
> computers have gotten pretty darn good (and continue to get better) at
> approximating the outward effects of the human brain in every increasing
> areas; which means whether or not their computational models are
> equivalent or not is really not that relevant on a day-to-day basis.

I proceed on the assumption you are talking about artificial intelligence. If 
not, read no further. 

If by "approximating" you really meant "simulating" I'm right there with you. 
But if you meant something like "approaching functional identity" I couldn't 
disagree more. I could theoretically express a mathematical model of a kitchen 
table so intricate that it took into account every variance in color, density, 
size, weight etc. and the minor vairances of each aspect in an extremely 
granular three dimensional space. But the mathematical model would never become 
a table. Maybe I do this using a binary model, or perhaps an analog one would 
be better. 

If I could then render the table into some kind of three dimensional image, I 
might be able to produce a very convincing replica of the table, so that you 
could not tell the difference with the naked eye. Just don't try to put 
anything *ON* the table. It's not a table, it is a model of one. A simulation. 

I am even less convinced that you can reproduce what we call Rational Thought 
with a computer. It is not really certain what the phenomenon is. I know there 
is a theory that the massive numbers of synapses in the brain are responsible 
for producing self awareness, and eventually rational thought, but if so then I 
cannot regard rational thought itself as anything but an illusion. An accident. 
A byproduct of biological order on an immense almost unimaginable scale. 

And if that is what I, devoid of my body am, and you can eventually reproduce 
me in a laboratory, without all the negative aspects attached to the biological 
creature I call "me", well then shoot me off into space and open the hatch, 
because at that point it will be obvious that everything I thought mattered was 
really only an illusion. 

Bob S



___
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


Re: What is "Open Language"?

2015-10-26 Thread Richard Gaskin

Mark Waddingham wrote:

> On 2015-10-24 18:53, Richard Gaskin wrote:
>> Two questions:
>>
>> 1. Do we have a projected timeline for that?
>
> LiveCode 9.
>
>> 2. Isn't the goal so that we can have 10,000 different, often
>> incompatible and sometimes confusing, custom syntax options for doing
>> basic things like setting the rect of a button?  :)  (This is why I
>> get food thrown at me while speaking at LiveCode conferences)
>
> That seems like quite an odd 'goal' to have...

Agreed.  Apparently the combination of both a smiley face and a 
reference to having food thrown at me wasn't enough to clarify that I 
wasn't being serious with that wording.


I was merely having fun with some of expectations among the readers here 
for what Open Language might be used for.


Personally, I don't mind comma-delimited arguments, and am generally 
happy with any syntax that let's me get my work done.


I'm fine with whatever there's budget to provide to let folks explore 
novel syntax, even more so with your reminder here that Open Language is 
among the last of the enhancements in queue, long after being able to 
play a video file on Linux without crashing and other less glamorous but 
useful things.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://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


Re: What is "Open Language"?

2015-10-26 Thread Richmond

On 26/10/15 12:06, Mark Waddingham wrote:

On 2015-10-24 21:00, Richmond wrote:

Well, what to one person is 'natural language' may not be to another:
and a "10,000 different, often incompatible and sometimes confusing,
custom syntax options" does seem to sum that problem up fairly 
effectively.


Indeed - what is 'natural' to me is different to others. However, 
language is about communication between individuals and groups. Each 
develops their own idea of 'naturality' in that context.


I have to say that what people do in the privacy of their own homes 
and with friends is entirely up to them and generally of little 
interest to me - if they wish to spend a great deal of time developing 
weird and wonderful ways of setting the rect of a button then, you 
know what, they can go 'knock themselves out' and have as much fun as 
they can possibly have with such an endevaour (I certainly won't be 
spending any time doing so).


However, when 'these' people have to interact with others outside of 
such small groups, then they will find that *unless* their new 
approach fits entirely within the constraints of the group they are 
proffering it to and is demonstrably 'better' or gives more benefits 
than the existing one, then they will most likely find limited support.



It is an unreachable ideal for the plain and simple reason that
computers do not work in the
same way as human brains.


Interesting - I must confess I'm not quite up to date with the latest 
frontier research on that subject but certainly last time I did dig 
into it that was still an unanswered question.


If you are absolutely sure about your assertion and have a proof for 
it then I suggest you write up a paper right now and submit it for 
peer review in an appropriate academic journal - you would quickly 
find yourself probably being inline for a sizeable prize or two, and 
international renown (and indeed probably have a whole array of job 
offers at many prestigious academic and research institutions around 
the world).


(Just for the sake of others, I should explain - asserting that 
'computers do not work in the same way as human brains' means that the 
human brain is fundamentally capable of solving a greater set of 
problems than modern computers - i.e. the human brain is not a Turing 
Machine but something more)


No: that is not what is meant. What is meant by the assertion 'computers 
do not work in the same way as human brains' is that computers can only 
work in whole numbers (digitally), while brains work in a quite 
different way. I ma quite sure that computers are capable of solving a 
greater set of problems than human brains in certain fairly clearly 
defined areas, and human brains are far better at solving problems in 
quite different areas.


Stating that the assertion 'computers do not work in the same way as 
human brains' "means that the human brain is fundamentally capable of 
solving a greater set of problems than modern computers - i.e. the human 
brain is not a Turing Machine but something more" is rather like using 
Marxist terminology to define how Market systems work, when there are 
quite different ways of describing them that are equally, or possibly 
more, valid. This is defining the capabilities of the human mind in a 
totally mechanistic framework that ultimately is how computers are defined.


To illustrate this point think about yourself smelling a flower.

A computer smelling a flower would be capable of telling you all the 
component chemicals that make up its aroma, and possibly the DNA 
structure of the flower.


When I smell a flower my interpretation of its smell will be heavily 
affected by the fact that I first smelt a flower of that type at 
Drumbreddan bay


https://www.google.bg/maps/place/Drumbreddan+Bay,+United+Kingdom/@54.7501439,-5.0087908,4792m/data=!3m2!1e3!4b1!4m2!3m1!1s0x486233eae64a548d:0x906d7bbd8f5d9c93?hl=en

And, should you be in the area, well worth a day with a picnic!

in 1977 while lying on the grass on a lovely sunny day in late August, 
having had a swim. It will also be affected by the fact that I had had a 
horrible adolescent set-to with my Mum about 30 minutes earlier.




Of course, whilst intellectually interesting, the reality is that 
computers have gotten pretty darn good (and continue to get better) at 
approximating the outward effects of the human brain in every 
increasing areas; which means whether or not their computational 
models are equivalent or not is really not that relevant on a 
day-to-day basis.


That is also true.

However, I do think we can say, quite safely, "the human brain is not a 
Turing Machine but something else."




Warmest Regards,

Mark.



Richmond.

___
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


Re: What is "Open Language"?

2015-10-26 Thread Richmond

On 26/10/15 16:17, Roland Huettmann wrote:

Originally I had thought that "Open Language" means to allow LiveCode to
run other scripting languages within it's framework, for example using
Python, or somehow link such languages into LiveCode.

I started hating "machines" who started "understanding" me and making
assumptions about what I want. Already I hate when at Google confines me to
a certain earthly region and that it became almost impossible or very
difficult to change language. Again I want to become a "free" user of the
Internet. Or at least, there should be a button to switch OFF all
assumption about who I am and what I want.

I would love LiveCode NOT to understand the uncertainty of me. Computers
should not be behave being as ambiguous as we humans are.


That is THE STATEMENT that sums everything up that is odd about the
idea of 'Open Language'.

Why do I also have a funny feeling that all that any attempt at 'Open 
Language'

would do is serve to close the minds of those working with it???

Richmond.

  We love them
because they do what we want them to do, and not the other ways around, and
computer language should not leave much space for interpretation. It
follows a logic, and as long as it does that, it is acceptable. And we love
LiveCode because it allows to express logic in a way which is near to human
language - but will never replace it (I hope at least).

So, I like Monte's suggestion to have an auto-correct feature to help
correcting wrong input and wrong spelling - the correct one being defined
in the dictionary with as few synonyms as possible, but not force us not to
do something wrong. In case of wrong-doing, the compiler should bark at us,
or the application will misbehave - and we have learnt from doing wrong and
may have a chance to correct ourselves.

(The new scripting environment of FileMaker 14 is not so bad in
accomplishing some of this. A good place to take lessons from. As much as I
hated the old scripting environment, the new one has nice edges and really
is supportive...)

The language should grow not in the sense of making things more ambiguous
as they already are, but just advance the capabilities of expression within
limitations. If these limitations would be removed, the river will not find
it's bed to the ocean and spread all over in an uncontrolled way. We would
have big problems understanding each-other, and the effect will be simply
chaotic programming style.

I do not believe that the need for programming will die in 20 years as
someone here stated. Such prognosis was there already 20 years ago that
soon machines will program themselves. At least I do not want it - or only
as much as boundaries can be clearly defined. We could also state that
logic will not be needed in 20 years, or that we all started stop using our
mental capabilities and hand over our brain to the computer.

I do not want the computer to switch on the light in my room when I enter,
and know in advance what I am going to do or think or wish - unless I
completely control its behavior. Thinking further, this leads to quite a
philosophical discussion and touches the base of our human existence and
the notion about who we are.

Think of musical notes. Would Mozart have been able to communicate his
genius without them? Musical notes leave all the space for expression, but
still confine the basic intention into a framework of the limitations of a
language.

Why do we love LiveCode? Or why would students love it? Because it gives
freedom of expression within a set of limitations - using simple English
expressions. How would a Chinese learn all the intricacies of English
vocabulary? He will not. Keep it simple and "stupid" within it's own set,
as musical notes are not that difficult to learn, but using them is quite
an interesting and different matter.

When there is a flow of beauty in such language, people will catch on. But
do not make it to be really English. Let us rather focus on thinking what
such typical user might expect when writing a statement. Will the machine
act accordingly? Or will there be unexpected results? And if there are
unexpected results, there must be "work-rounds", and then things become
ugly.

In this sense I would raise my voice against "Open Language".

But I am all for more and more beauty in LiveCode, and for ever growing
power accomplishing things that we want the machines to do in the most
logical way possible using LiveCode. And I think the "team" is trying to
just accomplish this - step by step. I admire them.

People are not against learning as long as there is a fruit to be
gained.And if we do not challenge our brain with ever growing
sophistication then it will also just die away. )

Roland




Richmond.

___
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


Re: What is "Open Language"?

2015-10-26 Thread Richmond

On 26/10/15 16:51, Rick Harrison wrote:

Hi Mark,

Whenever one deprecates code, it destroys someone’s code somewhere.
Don’t do it.

I had a project I had worked on for 10 years of my life.  It encompassed
over 70,000 lines of hard won hand-written code.  One day the company
who was producing the language decided to make some major changes
deprecating much of the language.  There was no migration tool provided
by the company to make the changes painless.

I spent yet another year of my life hand coding the changes to get the code
working again.  Two years later, the company did the same thing yet again!
I couldn’t afford to go through the process yet again.  My code was
basically destroyed by the company by deprecation of the code base.

A work around is to let all previous versions work,


Um: my endless thousands of numToChar statements in my Devawriter Pro 
will have to
be rewritten should I decide to move my code-base from LC 4.5 to LC 7.* 
or higher.


R.


and put the final winning
candidate into the dictionary, the others will no longer appear in the
documentation.  This solves the problem with the least disruption as it
doesn’t break anyone’s code, but helps to streamline the desired future
syntax for the language.

Just my 2 cents for the day.

Cheers,

Rick




  

On Oct 26, 2015, at 5:00 AM, Mark Waddingham  wrote:

So, I do think that in this case it would be far better to *choose* what 
variant spelling is the normative one and deprecate all the other synonyms at 
least until there is a much better mechanism in place for parsing and resolving 
synonyms (i.e. when compound properties are specified as separate words, and 
synonyms are substitutions done as a pre-processing step).

___
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



___
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

Re: What is "Open Language"?

2015-10-26 Thread Richmond

On 26/10/15 19:17, Bob Sneidar wrote:

[FAIR WARNING: BLOVIATION TO FOLLOW]


Wow: never heard of 'Bloviation' before.


Mark Waddingham wrote:


Of course, whilst intellectually interesting, the reality is that
computers have gotten pretty darn good (and continue to get better) at
approximating the outward effects of the human brain in every increasing
areas; which means whether or not their computational models are
equivalent or not is really not that relevant on a day-to-day basis.

I proceed on the assumption you are talking about artificial intelligence. If 
not, read no further.

If by "approximating" you really meant "simulating" I'm right there with you. But if you 
meant something like "approaching functional identity" I couldn't disagree more. I could 
theoretically express a mathematical model of a kitchen table so intricate that it took into account every 
variance in color, density, size, weight etc. and the minor vairances of each aspect in an extremely granular 
three dimensional space. But the mathematical model would never become a table. Maybe I do this using a 
binary model, or perhaps an analog one would be better.

If I could then render the table into some kind of three dimensional image, I 
might be able to produce a very convincing replica of the table, so that you 
could not tell the difference with the naked eye. Just don't try to put 
anything *ON* the table. It's not a table, it is a model of one. A simulation.

I am even less convinced that you can reproduce what we call Rational Thought 
with a computer. It is not really certain what the phenomenon is. I know there 
is a theory that the massive numbers of synapses in the brain are responsible 
for producing self awareness, and eventually rational thought, but if so then I 
cannot regard rational thought itself as anything but an illusion. An accident. 
A byproduct of biological order on an immense almost unimaginable scale.

And if that is what I, devoid of my body am, and you can eventually reproduce me in a 
laboratory, without all the negative aspects attached to the biological creature I call 
"me", well then shoot me off into space and open the hatch, because at that 
point it will be obvious that everything I thought mattered was really only an illusion.

Bob S




Well said, that man; and, not as nearly as pompous had I attempted it :P

Richmond.

___
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


Re: What is "Open Language"?

2015-10-26 Thread Rick Harrison
Hi Mark,

I greatly appreciate your response to this topic.

> In terms of syntax / synonym related suggestions - then the situation is much 
> easier. We might deprecate some, just to make it clear what the 'preferred' 
> form is and to discourage further usage. We would never remove them until 
> such a point that we do have a suitable migration tool / method of expressing 
> them which means people can choose to use them, or not, depending on their 
> own personal preference.


It’s good to hear that you folks are willing to provide a migration tool / 
method for bringing older code up to date.

> Indeed, we have tried and do continue to try our very best not to break 
> people's code as the platform evolves…

I’m also glad to hear that the team is mindful of this issue, and weighs those 
concerns heavily.

I understand that computer hardware/software is evolving at a faster rate than 
ever, such that other companies'
changes significantly impact the LiveCode product, such that some past code of 
the LiveCode codebase simply won’t
be able to function anymore in the future.  These are mitigating circumstances 
that are unfortunately beyond our
control.  This impact however should be minimized for users of LiveCode as much 
as possible by the team.

LiveCode has to retain a solid bedrock of code for it to remain a viable 
platform for it’s users to accomplish their work.
A computer language that evolves too fast without taking that into 
consideration can become abandoned by it’s users,
simply because too many changes make it too difficult for users to keep up with 
it.  That is why “Standards Committees”
were brought into existence for the more formal languages. 

We don’t want “Open Language” for LiveCode to suddenly evolve the language  
from “English Like” into “Greek Geek Speak”
that only a few people can understand or work with.  If LiveCode somehow 
evolved into something looking more like
C++, Objective C, or something worse, users would start looking elsewhere for 
some other more “English Like” computer
language.

I realize I’m probably preaching to the choir here.  I’m glad to hear that your 
team is certainly much more concerned
about code changes than the company that totally screwed me, and many other 
users.

Thanks again for your responses, and clarifications.

Rick


> On Oct 26, 2015, at 11:27 AM, Mark Waddingham  wrote:
> 
> On 2015-10-26 15:51, Rick Harrison wrote:
>> Whenever one deprecates code, it destroys someone’s code somewhere.
>> Don’t do it.
> 
> Indeed, we have tried and do continue to try our very best not to break 
> people's code as the platform evolves (even though this is a huge constraint 
> to put on a programming environment which evolved from something born in the 
> late 1980's - it makes the assumption that all decisions taken then and up 
> until were correct then and correct relative to any future consequence and 
> thus have no forward consequences - which is definitely not the case).
> 
> However, I'm not going to commit us to never deprecating things - we do and 
> will continue to do so as needed. Deprecated features will continue to work 
> for as long as it is feasible to do so.
> 
>> A work around is to let all previous versions work, and put the final winning
>> candidate into the dictionary, the others will no longer appear in the
>> documentation.  This solves the problem with the least disruption as it
>> doesn’t break anyone’s code, but helps to streamline the desired future
>> syntax for the language.
> 
> The problem here is that you are assuming it is possible for 'all previous 
> versions to work' from now until some arbitrary point in the future. This 
> just isn't the case - code ages and computer technology continual renews.
> 
> For example, the 'liveResizing' property no longer does anything. Why? 
> Because Cocoa has no facility to turn liveResizing off.
> 
> Similarly, things like the 'pixmapId' properties and such used to allow you 
> to do really funky things on certain platforms which it was not possible to 
> continue to make work when we brought the graphics capabilities up to scratch 
> with other environments in 2.7. (Fortunately, long before these 'funky 
> things' stopped working we provided a much better way to have the same effect 
> - i.e. export/import snapshot from object).
> 
> In terms of syntax / synonym related suggestions - then the situation is much 
> easier. We might deprecate some, just to make it clear what the 'preferred' 
> form is and to discourage further usage. We would never remove them until 
> such a point that we do have a suitable migration tool / method of expressing 
> them which means people can choose to use them, or not, depending on their 
> own personal preference.
> 
> In terms of current functionality (from a semantics point of view) there are 
> a growing list of 'anomalies' in the bug database which are things which 
> really aren't 'correct' at the moment (and never have 

Re: What is "Open Language"?

2015-10-26 Thread Richmond

On 26/10/15 11:00, Mark Waddingham wrote:

On 2015-10-24 22:47, Mark Wieder wrote:

On 10/24/2015 12:21 PM, Peter TB Brett wrote:


* hilite -> highlight


Actually I filed a bug report on that six years ago.
http://quality.runrev.com/show_bug.cgi?id=8211

It got confirmed and ignored.
I just submitted a pull request.
Figured I might as well fix this myself.


There's a slippery slope here (in terms of the current engine parsing 
implementation at least) which means that just adding synonyms because 
the lack of them 'annoy' a small set of people (and/or because you 
can) really isn't something which makes sense.


It is clear that originally 'hilite' was the chosen spelling for that 
operation - it is an 'informal' spelling of 'highlight' which has been 
historically used in GUI frameworks (probably because it is a good 
deal shorter than 'highlight' - something which those who are fond of 
'grp', 'fld', 'ac, 'cd' etc. should feel at home with ;))


There was obviously clearly some contention over whether 'dehilite' or 
'unhilite' should be the antonym - given that even 'dehighlight' nor 
'unhighlight' tend to appear in dictionaries this is probably not 
surprising.


So, clearly someone 'complained' at some point (which is probably why 
dehilite and unhilite both exist) and 'highlight' was added. Indeed, 
there are actually the following fundamental synonyms for 'hilite' in 
the engine:

  - highlight
  - highlighted
  - highlite
  - highlited
  - hilite
  - hilited

So that is 6 ways to write exactly the same thing. (It gets better in 
a moment)


We now have the following 'compound' property names involving 'hilite':
  - hiliteborder
  - hilitecolor
  - hilitefill
  - hiliteicon
  - hilitepattern
  - hilitepixel

We also have the following 'compound' property names involving 'hilited':
  - hilitedbutton
  - hilitedbuttonid
  - hilitedbuttonname
  - hilitedicon
  - hilitedline
  - hilitedtext

There are also the following 'other' properties:
  - autohilight
  - autohilite
  - linkhilitecolor
  - multiplehilites
  - noncontiguoushilites
  - sharedhilite
  - showhilite
  - threedhilite
  - togglehilites

So, there are (in fact) the following variations on 'hilite' currently 
in use in the engine:

  - hilite
  - highlite
  - hilight
  - highlight

Which, if accounted for in synonyms would mean we would end up with (I 
believe) 72 keywords if we ignore the 'ed' forms, and 144 if we have 
both the preset and past participles. Also, it means that every time 
anyone wants to add a property containing 'hilite', they need to add 4 
(maybe 8) variants. This kind of 'blow-up' suggests that there is 
something wrong with the approach.


So, I do think that in this case it would be far better to *choose* 
what variant spelling is the normative one and deprecate all the other 
synonyms at least until there is a much better mechanism in place for 
parsing and resolving synonyms (i.e. when compound properties are 
specified as separate words, and synonyms are substitutions done as a 
pre-processing step).


For anything like there has to a policy and my policy has always been 
- you choose a single representative for a single concept and you 
stick to it. In this case 'hilite' is a perfectly valid word to use 
(given its domain - i.e. GUIs); indeed, it is just as valid a choice 
for 'highlight' as 'color' is for 'colour' and 'behavior' is for 
'behaviour'. At the end of the day this is a computer language and as 
such logical and sensible choices have to be made. (One could also 
argue that the problem of synonyms and abbreviations is far better 
handled in the script-editing environment... Although nobody ever 
seems to agree with me on that one - even though the resulting effect 
would be identical for all intents and purposes ;)).


Now, I'm not saying this won't change - clearly there is a want for 
synonyms as a fair few people seem quite fond of them. However, there 
needs to be a good mechanism in place to deal with them in the engine 
and there currently is not (particularly when considering compound 
forms) so caution is hugely advisable.


Warmest Regards,

Mark.



+1

As 'hilite' is the de facto standard, whether anyone likes or not, that 
would seem to be the one to stick with.


I feel similarly about all those North Americanisms: speaking as someone 
who was born in Scotland, spent all his school days
in England, and holds a Masters degree (in Linguistics) from a 
University in the States, although instinctively my lip curls at

American spellings, I am well aware that:

1. That is nothing more than my cultural subjectivity.

2. American English IS the dominant form of English in the world right 
now (and probably for the forseeable future).


So "bu**er" [not, that isn't 'butter'] the British spellings and stick 
with the Americanisms . . .


And, quite frankly, if somebody really starts banging on about "British" 
spellings [i.e. English English spellings] I shall get

awfy thrawn anent Scotticisms; 

Re: What is "Open Language"?

2015-10-26 Thread Alex Tweedly



On 26/10/2015 18:08, Richmond wrote:


2. American English IS the dominant form of English in the world right 
now (and probably for the forseeable future).


H ... true for now, but I wouldn't be surprised if Indian English 
overtook it over the next 2 to 3 decades.


Already the present continuous is becoming common (almost prevalent)  
where we traditionalists would have used the simple present - at least, 
I am thinking it is - and that was largely an influence from the Indian 
sub-continent.


-- Alex.


___
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


Re: What is "Open Language"?

2015-10-25 Thread Peter TB Brett

On 2015-10-25 01:17, Monte Goulding wrote:

Well you've got a lot more experience with the engine and open
language plans than me so if you say it's feasible and the cost
benefit is sufficient to apply the resources rather than just working
on the control structures in the engine then who am I to argue. Are
the LCB control structures defined in LCB? If so I'll take a look and
try implementing switch.


Hi Monte,

Unfortunately LiveCode Builder doesn't let you define custom block 
syntax yet.


I'm not sure how that would work, exactly.  It might require LiveCode 
Builder syntax definitions to become more macro-like.  I'm sure Mark 
Waddingham is sitting on a big pile of good ideas on that front! :-)


Peter

--
Dr Peter Brett 
LiveCode Open Source Team

LiveCode on reddit! 

___
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


Re: What is "Open Language"?

2015-10-25 Thread Richmond

On 24/10/15 23:58, J. Landman Gay wrote:

On 10/24/2015 3:29 PM, Richmond wrote:

On 24/10/15 23:04, J. Landman Gay wrote:



I know Mark Waddingham pretty well, and I've never heard him propose
anything that he didn't already have a good idea how to accomplish.


I'm not entirely sure why you equate my "someone" with Mark Waddingham;
who has quite adequately demonstrated to be
"a right Captain Sensible" :)


Because Open Language was his idea, presented at a conference some 
years ago. I didn't stop to think that not everyone knows that.




Well, at least one person didn't :/

My crit. (which is my usual crit. about the Kickstarter) was aimed at a 
feeling that
RunRev were so enthusiastic about the Kickstarter they merrily 'said' 
all sorts of things,
that later, in "the cool light of reason" may have been seen to be a bit 
unwise, or

should have been stated in more measured terms.

Richmond.

___
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


Re: What is "Open Language"?

2015-10-25 Thread Peter TB Brett

On 2015-10-25 08:32, Monte Goulding wrote:

Ok, I went looking and ended up trying to find something related to
control structures in the gentle stuff...
Whew! I think I'd need to spend a couple of weeks looking at that just
to work out what's going on...


I find this manual extremely valuable when working on the current 
LiveCode Builder compiler:


http://gentle.compilertools.net/book/index.html

It did indeed take me a couple of weeks to get my head around, but that 
was with lots of help from Mark Waddingham...


   Peter

--
Dr Peter Brett 
LiveCode Open Source Team

LiveCode on reddit! 

___
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


Re: What is "Open Language"?

2015-10-25 Thread Monte Goulding
Aha... Perhaps I should have said couple of months ;-)

Sent from my iPhone

> On 25 Oct 2015, at 7:42 pm, Peter TB Brett  wrote:
> 
> It did indeed take me a couple of weeks to get my head around, but that was 
> with lots of help from Mark Waddingham...

___
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


Re: What is "Open Language"?

2015-10-25 Thread J. Landman Gay

On 10/24/2015 8:24 PM, Mark Wieder wrote:



I didn't even realize dehilite was a word in the dictionary.


Me either. It must be a typo:

set de hilite of btn 1

--
Jacqueline Landman Gay | jac...@hyperactivesw.com
HyperActive Software   | http://www.hyperactivesw.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


Re: What is "Open Language"?

2015-10-25 Thread Richmond

On 25/10/15 08:05, J. Landman Gay wrote:

On 10/24/2015 8:24 PM, Mark Wieder wrote:



I didn't even realize dehilite was a word in the dictionary.


Me either. It must be a typo:

set de hilite of btn 1



Wo? iz oepin lingwidge ennyway?

onn mooseOp
   pit "Wo'z oepin lingwidge" in feeld "Wo?" ov card "De" of stak 
"Lingwidge"

end mooseOp

There has to be clearly defined parameters [c.f. 'problem' about 
American versus British English],
and as every single English speaker (whether native speaker or not) 
speaks their own ideolect
affected by where they were born, brought up ('raised'), worked, and so 
on, if everyone starts tinkering
with the LiveCode language with their individual prejudices there will 
be no "Open Language",
there will just be something where no-one will have an earthly at 
understanding someone else's

code.

Richmond.

___
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


Re: What is "Open Language"?

2015-10-25 Thread Monte Goulding
Ok, I went looking and ended up trying to find something related to control 
structures in the gentle stuff... 
Whew! I think I'd need to spend a couple of weeks looking at that just to work 
out what's going on...

Sent from my iPhone

> On 25 Oct 2015, at 7:14 pm, Peter TB Brett  wrote:
> 
> Unfortunately LiveCode Builder doesn't let you define custom block syntax yet.

___
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


Re: What is "Open Language"?

2015-10-25 Thread Geoff Canyon
Agreed, definitely. 

gc

> On Oct 24, 2015, at 9:17 PM, Peter TB Brett  wrote:
> 
> I can't speak for Mark, but from my point of view, Open Language without 
> custom control structures would be woefully incomplete.

___
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


Re: What is "Open Language"?

2015-10-25 Thread Geoff Canyon
On Sun, Oct 25, 2015 at 12:19 PM, Richmond 
wrote:

>
>   and obviously the situation could be made worse by bad extensions, but
>> bad extensions wouldn't survive.
>>
>
> Well, they will if, despite being written in obscurantist code they do
> what they are meant to do.


cruft is cruft, I meant that bad extensions might be used once or twice,
but they wouldn't be used repeatedly.

But it could be the case that something difficult to understand turns out
to be worth the bother, and that no one manages to come up with a clearer
representation for it. In that case, everyone would be free to decide
whether it was worth it to them.
___
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


Re: What is "Open Language"?

2015-10-25 Thread Richmond

On 25/10/15 15:56, Geoff Canyon wrote:

But that's true now. *Every* time I look at someone else's code I have to spend 
time figuring out their way of doing things.


Very true indeed.

When I was at the "University" of Abertay there was a lecturer
(who was, supposedly, teaching us Visual Basic 5 - but she knew less 
than most of the students)
who told us we have to annotate our code "in case you are hit by a bus": 
so every 2 or 3 lines of

code she had us write things like this:

--this moves the value in field "F1" to "F2"

and

--this is where the value of amortizement of second-hand cars is calculated

Of course this made any creativity re coding we might have had curl up 
and die.


I suppose she was right; one should do that . . . but that's a bit like 
the 50 year-old doctor
who tells undergraduate students that getting smashed out of their boxes 
is bad for them . . .


Hey, we were all thundering round to the nearest bar like a herd of 
half-starved bison

straight after her "lab sessions" !


  I'm sure this is true whenever someone looks at my code as well. There can be 
clearer and less clear code,


That's very true; but whether it being nearer to a 'natural language' 
(e.g. English) or not makes it

any clearer isn't immediately obvious.

I've just trawled through a load of old printouts of some stuff I did 
with FORTRAN IV in 1976 that my Mum had
hidden away as drawer liners in a chest: I didn't really have much 
problem understanding what they were trying to do
even after 40 years and having almost totally forgotten FORTRAN. Nobody 
can say that FORTRAN is like English.


I was looking inside a "teach yer-sel C++" book the other day, and I 
hadn't an earthly:
but not, I suspect, because it is written in a way that looks nothing 
whatsoever like English,

but simply because I have never learnt C++.


  and obviously the situation could be made worse by bad extensions, but bad 
extensions wouldn't survive.


Well, they will if, despite being written in obscurantist code they do 
what they are meant to do.




gc




Richmond.

___
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


Re: What is "Open Language"?

2015-10-25 Thread Geoff Canyon
But that's true now. *Every* time I look at someone else's code I have to spend 
time figuring out their way of doing things. I'm sure this is true whenever 
someone looks at my code as well. There can be clearer and less clear code, and 
obviously the situation could be made worse by bad extensions, but bad 
extensions wouldn't survive. 

gc

> On Oct 25, 2015, at 3:44 AM, Richmond  wrote:
> 
> there will just be something where no-one will have an earthly at 
> understanding someone else's
> code.

___
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


Re: What is "Open Language"?

2015-10-24 Thread Mark Wieder

On 10/24/2015 09:39 AM, Mark Waddingham wrote:


It is a key piece that will not only mean 'third parties' can define 
english-like syntax but also mean the all the current engine syntax can be very 
easily evolved and augmented.


Cool. I'm looking forward to finally resolving ambiguities like

Is the turkey ready to eat yet?
and
I left her behind for you.



--
 Mark Wieder
 ahsoftw...@gmail.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


Re: What is "Open Language"?

2015-10-24 Thread JB

> On Oct 24, 2015, at 9:45 AM, Mark Wieder  wrote:
> 
> 
> I left her behind for you.
> 
> 
> 
> -- 
> Mark Wieder
> ahsoftw...@gmail.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
> 

Your choice of words is really important.
I was recently listening to a couple of old
songs.  One song the lyrics said,

“I don’t know why I love you but I do”

Then I thought about it and decided she
probably wants a better answer than that
even though the song is nice.

The other one is from Mockingbird.  It said

“If that mockingbird doesn’t sing he is going
to buy me a diamond ring”

I am thinking the mockingbird will live longer
if it keeps quiet.

John Balgenorth
___
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

Re: What is "Open Language"?

2015-10-24 Thread Colin Holgate
I found this definition of open language, which might be on the right lines too:

http://dl.acm.org/citation.cfm?id=609766



___
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


RE: What is "Open Language"?

2015-10-24 Thread John Dixon
Oh dear... it smacks of pidgeon english... with words like 'innit', 'blood' and 
'bling' being included... to maintain a standard, perhaps there should be an 
'Oxford English publication of acceptable words to be used in liveCode 
syntax'...


> Simply put, Open Language is a technology that will mean that LCB libraries 
> and widgets will be able to define english-like syntax rather than being 
> limited to function call / command call / property access syntax.
> 
> It is a key piece that will not only mean 'third parties' can define 
> english-like syntax but also mean the all the current engine syntax can be 
> very easily evolved and augmented.
> 
> Mark.

  
___
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


Re: What is "Open Language"?

2015-10-24 Thread Richard Gaskin

John Dixon wrote:

>> Simply put, Open Language is a technology that will mean that LCB
>> libraries and widgets will be able to define english-like syntax
>> rather than being limited to function call / command call / property
>> access syntax.
>>
>> It is a key piece that will not only mean 'third parties' can define
>> english-like syntax but also mean the all the current engine syntax
>> can be very easily evolved and augmented.
>
> Oh dear... it smacks of pidgeon english... with words like 'innit',
> 'blood' and 'bling' being included... to maintain a standard, perhaps
> there should be an 'Oxford English publication of acceptable words to
> be used in liveCode syntax'...

This is part of the reason I raised this thread.  We've seen some rather 
broadly varying ideas about what Open Language means, but I share your 
concerns and I'm not sure that's what Mark intended, even if some are 
excited at the prospect.


I believe the core of the issue is that to date all xTalks have required 
comma-delimited arguments for custom commands.  The good news is that 
this is pretty much how most programming languages work, so it's not 
particularly onerous.  But the bad news is that it means that the 
libraries we share bear no relationship syntactically with the build-in 
commands.


I *believe* (emphasis added to note that I'd he happy to be corrected by 
Mr. Waddingham if this isn't correct) that Open Language was proposed 
primarily (perhaps only) to allow library scripters to define syntax 
that fits in more closely with the flavor of the rest of the language.


For example, today I might write:

   CreateDocument "Window Title", tFilePath

...but with Open Language I could write:

   create document titled "Window Title" using file tFilePath

Mr. Waddingham, is that correct?


That said, I admit I'm rather enamored of this request:


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://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


Re: What is "Open Language"?

2015-10-24 Thread Richard Gaskin

Colin Holgate wrote:

I found this definition of open language, which might be on the right lines too:

http://dl.acm.org/citation.cfm?id=609766


A good reminder for us all to keep our ACM memberships current.

But alas mine has lapsed, and before I spend US$15 to download the 2001 
article to see if it matches what LiveCode Ltd. proposed for their 
system in 2013, I'm hoping we might find some definition specific to 
their plans not behind a paywall.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://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


Re: What is "Open Language"?

2015-10-24 Thread Colin Holgate
I don’t know what ACM is! Google found that page for me.


> On Oct 24, 2015, at 12:42 PM, Richard Gaskin  
> wrote:
> 
>> I found this definition of open language, which might be on the right lines 
>> too:
>> 
>> http://dl.acm.org/citation.cfm?id=609766 
>> 
> 
> A good reminder for us all to keep our ACM memberships current.

___
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

Re: What is "Open Language"?

2015-10-24 Thread Roger Eller
if "she" ain't in the fld then
 look in the barn
   else
 if she is among theCows then
 come back home fer supper
 end if
end if
On Oct 24, 2015 12:45 PM, "Mark Wieder"  wrote:

> On 10/24/2015 09:39 AM, Mark Waddingham wrote:
>
> It is a key piece that will not only mean 'third parties' can define
>> english-like syntax but also mean the all the current engine syntax can be
>> very easily evolved and augmented.
>>
>
> Cool. I'm looking forward to finally resolving ambiguities like
>
> Is the turkey ready to eat yet?
> and
> I left her behind for you.
>
> 
>
> --
>  Mark Wieder
>  ahsoftw...@gmail.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
>
___
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


Re: What is "Open Language"?

2015-10-24 Thread Richard Gaskin

Colin Holgate wrote:

>> On Oct 24, 2015, at 12:42 PM, Richard Gaskin wrote:
>>
>>> I found this definition of open language, which might be on
>>> the right lines too:
>>>
>>> http://dl.acm.org/citation.cfm?id=609766 


>>
>> A good reminder for us all to keep our ACM memberships current.
>
> I don’t know what ACM is! Google found that page for me.

Kindly indulge this good work for our friends at the ACM:

The Association for Computing Machinery is one of the oldest and most 
respected organizations for computing professionals and enthusiasts.


One of their membership options grants access to the ACM library, one of 
the world's most comprehensive collections of research related to nearly 
every area of computing, such as the article linked to above.


The ACM includes many special interest groups (SIGs), of which SIGGRAPH 
is among their most famous - the annual SIGGRAPH conference is 
considered one of the premier showcases for new and interesting projects 
in computing imaging, 3D, motion graphics, VR, and more.


For UX/UI designers the ACM SIGCHI (Computer-Human Interaction) is a 
great resource providing a bi-monthly publication, Interactions, and has 
many local chapters around the world:



I've also had memberships with the Interaction Design Association and 
the User Experience Professionals Association, but as much as I've 
enjoyed their meetings and publications I still consider ACM SIGCHI the 
creme de le creme of usability orgs.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://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

Re: What is "Open Language"?

2015-10-24 Thread Mark Waddingham
Simply put, Open Language is a technology that will mean that LCB libraries and 
widgets will be able to define english-like syntax rather than being limited to 
function call / command call / property access syntax.

It is a key piece that will not only mean 'third parties' can define 
english-like syntax but also mean the all the current engine syntax can be very 
easily evolved and augmented.

Mark.

Sent from my iPhone

> On 24 Oct 2015, at 17:10, Richard Gaskin  wrote:
> 
> I was looking for a clear definition of LiveCode's proposed "Open Language", 
> but I've come up empty.
> 
> The original Kickstarter page says only:
> 
>   We will introduce a new technology called “Open Language”.
>   With Open Language, the more technical members of our community
>   can create English-like words and phrases to enable everyone to
>   write programs that use any aspect of a computer or device. If
>   you’re technical, you can read all about that here.
> 
> ...where "here" is a link to a blog post that no longer exists.
> 
> Within the community there have been broadly varying ideas about what "Open 
> Language" might entail, and I was hoping that blog post might clear things up 
> but alas it's not even in the Wayback Machine.
> 
> Anyone here have a copy of that blog post?
> 
> -- 
> Richard Gaskin
> Fourth World Systems
> Software Design and Development for the Desktop, Mobile, and the Web
> 
> ambassa...@fourthworld.comhttp://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

___
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

Re: What is "Open Language"?

2015-10-24 Thread Richard Gaskin

Mark Waddingham wrote:

> Simply put, Open Language is a technology that will mean that LCB
> libraries and widgets will be able to define english-like syntax
> rather than being limited to function call / command call / property
> access syntax.
>
> It is a key piece that will not only mean 'third parties' can define
> english-like syntax but also mean the all the current engine syntax
> can be very easily evolved and augmented.

Two questions:

1. Do we have a projected timeline for that?

2. Isn't the goal so that we can have 10,000 different, often 
incompatible and sometimes confusing, custom syntax options for doing 
basic things like setting the rect of a button?  :)  (This is why I get 
food thrown at me while speaking at LiveCode conferences)


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://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


Re: What is "Open Language"?

2015-10-24 Thread Richmond

On 24/10/15 19:10, Richard Gaskin wrote:
I was looking for a clear definition of LiveCode's proposed "Open 
Language", but I've come up empty.


The original Kickstarter page says only:

   We will introduce a new technology called “Open Language”.
   With Open Language, the more technical members of our community
   can create English-like words and phrases to enable everyone to
   write programs that use any aspect of a computer or device. If
   you’re technical, you can read all about that here.


Talk about throw-away lines . . .

Surely (?) LiveCode already does this: use English-like words and 
phrases

to enable everyone to write programs 

The sticking point is this bit:

"to enable everyone to write programs that use any aspect of a computer 
or device."


Well: I still cannot talk to my USB robot or my USB footpedal set with 
LiveCode . . .




...where "here" is a link to a blog post that no longer exists.


I've always had a sneaking suspicion that "someone" went 'off at the 
mouth' a bit during
the Kickstarter and promised things that, either, they had no intention 
of keeping, or promised
things that, really, they didn't realise would involve them in so many 
unseen complexities that

they would be, effectively, unrealisable.

The definition: http://dl.acm.org/citation.cfm?id=609766

is JUST a proposal, and as such, it is nothing more, and does not 
involve a feasibility study

nor a prototype,

AND

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.


I would say, that LiveCode, at its best [because, recently, in its 
efforts to be 'clever' is seems to strayed away from that]
is pretty near to having some sort of 'naturalistic' language; but that 
is NOT an Open language.




Within the community there have been broadly varying ideas about what 
"Open Language" might entail, and I was hoping that blog post might 
clear things up but alas it's not even in the Wayback Machine.


Anyone here have a copy of that blog post?



How incredibly convenient that quite a few 'promises' that we remember 
from the Kickstarter have
evaporated into the miasma of cyber-space so we cannot hold people to 
them . . . .


I don't quite know why the user base of LiveCode still refuses to accept 
that RunRev is NOT being nearly as 'open'
with them as, perhaps, one would expect from an Open Source thing. 
Despite RunRev's repeated protestations

these sort of 'things' keep coming up.

I do believe that until RunRev can "come clean" with their user-base 
there will be a growing feeling of distrust which will only harm them.


Expanded too quickly, promised too many things too quickly, kept 
changing prices and conditions too quickly, avoiding some embarrassing

truths . . . um.

Let's imagine a situation:

Dear kids, those of you who would normally attend classes with me on 
Tuesday morning will be unable to
as, unfortunately, I have an unavoidable doctor's appointment, therefore 
I have had to move your class to Wednesday

morning: I am sorry to have put you to this inconvenience.

That is what I have just sent the 7 children who are due to have a class 
with me on Tuesday: it's called "being 100% open".


It has never hurt my business.

Richmond.


___
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

Re: What is "Open Language"?

2015-10-24 Thread J. Landman Gay
I was just going to post that link when I read your reply. It's my favorite too 
and I hope it never goes away. 

On October 24, 2015 1:17:40 PM CDT, Richard Gaskin  
wrote:

>That said, I admit I'm rather enamored of this request:
>

-- 
Jacqueline Landman Gay | jac...@hyperactivesw.com
HyperActive Software   | http://www.hyperactivesw.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


Re: What is "Open Language"?

2015-10-24 Thread Richmond

On 24/10/15 22:10, Peter TB Brett wrote:

On 2015-10-24 18:53, Richard Gaskin wrote:


2. Isn't the goal so that we can have 10,000 different, often
incompatible and sometimes confusing, custom syntax options for doing
basic things like setting the rect of a button?


To quote Gilbert & Sullivan: "Well, yes, that's the idea."

Not too different from the status quo, though, is it? I can already 
modify the bounding box of a button by setting its "left", "right", 
"top", "bottom", "topLeft", "topRight", "bottomLeft", "bottomRight", 
"rect", or "rectangle" pseudo-properties.


Those make a lot of sense.

But imagine the sort of other things people do:

"The thingummy-bob over there"

R.


Some people believe that programming languages should be designed in 
such a way that, for any given task, "There should be one - and 
preferably only one - obvious way to do it."  This is not the design 
philosophy of LiveCode.


That is clear: one should not, always, have to drive down the middle of 
the road. However, while it might be useful to drive in the left lane,
the right lane and, occasionally, on the hard shoulder, when one starts 
to drive on the verge, or even in the adjacent field, things tend
to go wrong. So "Open" is as "Open" does; rather like the difference 
between 'freedom' and 'unfettered freedom'.


So, while the design philosophy of LiveCode may be that there may be 
several ways to achieve something, there do still have to be constraints.


Richmond.


  Peter




___
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


Re: What is "Open Language"?

2015-10-24 Thread Richmond

On 24/10/15 23:07, Geoff Canyon wrote:

The Wayback Machine never forgets:
http://web.archive.org/web/20130301041400/http://blog.runrev.com/blog/bid/265511/Open-Language
(takes
some time to load)




Thank you very much for fossicking that out!

"The key piece of this project is a tailored parsing system that we’ve 
come up with."


Has it already been "come up with" or is that some sort of anticipation?

After all, this was written some two and a half years ago, and we have 
seen nothing subsequently.


"One of LiveCode’s greatest strengths is its English-like programming 
language.
The use of a natural language-like syntax gives it great expressivity 
and, as a result,

in most cases code is compact yet eminently readable."

This is very well put, yet, with the expansion of LiveCode beyond the 
boundaries of what we could call

the "Hypercard/Metacard" set, a lot of that English-likeness has got lost.

"Now with the problem of extensible syntax sorted"

If so, where is it, or at the very least, some signs of its approach?

Now, R. Gaskin and Co. are perfectly entitled to state that I am merrily 
stating, left-right-and-centre, that RunRev
"don't care"; I don't feel that that is quite what I am doing: what I am 
trying to do is state that RunRev are not
very good at keeping their user-base informed about certain things that 
the company has stated will be available
post-Kickstarter, and, so far, don't seem to be.  That is not a case of 
not "caring", but it might be a case of

not communicating adequately.

Richmond.

___
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


  1   2   >