Re: Home servers, anyone?

2015-10-27 Thread Jerry Jensen
I just pick it out of a shell(“ifconfig”). I have something running all the 
time on that machine - its taking data and sending it to me also on dropbox. A 
cron-ish job could do it just as easily.

> On Oct 27, 2015, at 8:12 PM, Roger Eller  wrote:
> 
> I almost suggested phx_dropboxlib for that (just to keep it in LiveCode).

> On Oct 27, 2015 11:05 PM, "Jerry Jensen"  wrote:
> 
>> I’m doing a similar thing, but writing the current IP# to a particular
>> dropbox file that is shared with me.
>> 
>>> On Oct 27, 2015, at 1:39 PM, Roger Eller 
>> wrote:
>>> 
>>> I know someone that had a dynamic setup like you describe.  It was simple
>>> and easy for 1 person access.
>>> 
>>> He had a local script checking the IP every 5 or 10 minutes (at home).
>>> When it no longer matched the last known IP, the script would write a
>> small
>>> text file TO A WEB SERVER that was hosting a site he owns.  Then from
>>> anywhere, he could access that file to find his way back home (so to
>> speak).
>>> 
>>> ~Roger
>>> 
>>> 
>>> On Tue, Oct 27, 2015 at 3:45 PM, Richard Gaskin <
>> ambassa...@fourthworld.com>
>>> wrote:
>>> 
 Most of my servers have fixed IP addresses, but I'm about to add one to
>> my
 home where the IP will be dynamic.
 
 The most common solution for making servers with dynamic IPs findable is
 DDNS, and there are of course many free providers of such a service.
 
 Put since this isn't a public server (just for testing and
 experimentation) I'll be the only user, and it occurs to me I could
>> take a
 few minutes to craft a simple solution to know the server's current IP
>> by
 using a CGI at one of my sites hosted with real DNS in conjunction with
>> an
 auto-run app on the server to call it similar to what many DDNS services
 use.
 
 I'm inclined to do that only because I like tinkering, but I thought I'd
 check in here to see if this very specific use case was something others
 might have a need for.  If so, I might get around to documenting the CGI
 and sharing it, but since most folks just use DDNS I'd guess this
>> 302-based
 workaround is probably too use-case specific to be of interest.  If I'm
 wrong let me know and that'll motivate me to get around to documenting
>> it
 that much sooner.
 
 --
 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
>> 
>> 
>> ___
>> 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


___
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: Home servers, anyone?

2015-10-27 Thread Roger Eller
I almost suggested phx_dropboxlib for that (just to keep it in LiveCode).
On Oct 27, 2015 11:05 PM, "Jerry Jensen"  wrote:

> I’m doing a similar thing, but writing the current IP# to a particular
> dropbox file that is shared with me.
>
> > On Oct 27, 2015, at 1:39 PM, Roger Eller 
> wrote:
> >
> > I know someone that had a dynamic setup like you describe.  It was simple
> > and easy for 1 person access.
> >
> > He had a local script checking the IP every 5 or 10 minutes (at home).
> > When it no longer matched the last known IP, the script would write a
> small
> > text file TO A WEB SERVER that was hosting a site he owns.  Then from
> > anywhere, he could access that file to find his way back home (so to
> speak).
> >
> > ~Roger
> >
> >
> > On Tue, Oct 27, 2015 at 3:45 PM, Richard Gaskin <
> ambassa...@fourthworld.com>
> > wrote:
> >
> >> Most of my servers have fixed IP addresses, but I'm about to add one to
> my
> >> home where the IP will be dynamic.
> >>
> >> The most common solution for making servers with dynamic IPs findable is
> >> DDNS, and there are of course many free providers of such a service.
> >>
> >> Put since this isn't a public server (just for testing and
> >> experimentation) I'll be the only user, and it occurs to me I could
> take a
> >> few minutes to craft a simple solution to know the server's current IP
> by
> >> using a CGI at one of my sites hosted with real DNS in conjunction with
> an
> >> auto-run app on the server to call it similar to what many DDNS services
> >> use.
> >>
> >> I'm inclined to do that only because I like tinkering, but I thought I'd
> >> check in here to see if this very specific use case was something others
> >> might have a need for.  If so, I might get around to documenting the CGI
> >> and sharing it, but since most folks just use DDNS I'd guess this
> 302-based
> >> workaround is probably too use-case specific to be of interest.  If I'm
> >> wrong let me know and that'll motivate me to get around to documenting
> it
> >> that much sooner.
> >>
> >> --
> >> 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
>
>
> ___
> 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: Home servers, anyone?

2015-10-27 Thread Jerry Jensen
I’m doing a similar thing, but writing the current IP# to a particular dropbox 
file that is shared with me.

> On Oct 27, 2015, at 1:39 PM, Roger Eller  wrote:
> 
> I know someone that had a dynamic setup like you describe.  It was simple
> and easy for 1 person access.
> 
> He had a local script checking the IP every 5 or 10 minutes (at home).
> When it no longer matched the last known IP, the script would write a small
> text file TO A WEB SERVER that was hosting a site he owns.  Then from
> anywhere, he could access that file to find his way back home (so to speak).
> 
> ~Roger
> 
> 
> On Tue, Oct 27, 2015 at 3:45 PM, Richard Gaskin 
> wrote:
> 
>> Most of my servers have fixed IP addresses, but I'm about to add one to my
>> home where the IP will be dynamic.
>> 
>> The most common solution for making servers with dynamic IPs findable is
>> DDNS, and there are of course many free providers of such a service.
>> 
>> Put since this isn't a public server (just for testing and
>> experimentation) I'll be the only user, and it occurs to me I could take a
>> few minutes to craft a simple solution to know the server's current IP by
>> using a CGI at one of my sites hosted with real DNS in conjunction with an
>> auto-run app on the server to call it similar to what many DDNS services
>> use.
>> 
>> I'm inclined to do that only because I like tinkering, but I thought I'd
>> check in here to see if this very specific use case was something others
>> might have a need for.  If so, I might get around to documenting the CGI
>> and sharing it, but since most folks just use DDNS I'd guess this 302-based
>> workaround is probably too use-case specific to be of interest.  If I'm
>> wrong let me know and that'll motivate me to get around to documenting it
>> that much sooner.
>> 
>> --
>> 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


___
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

User Guide: Call for Errata

2015-10-27 Thread Richard Gaskin
With v8 coming up the User Guide will be completely rewritten, but in 
the meantime there's interest in having the existing User Guide updated 
for the remainder of the v7 series.


I'm evaluating whether I can make time for this myself, and the scope 
should make it doable since for this first pass we're only looking for 
errors and omissions.


Some of you have expressed some strong opinions about the User Guide 
being out of date, so this is your chance to shine:


To make sure we cover any errors and omissions you've seen, please send 
a brief description with the page number to me at the email address below.


Thanks -

--
 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: [ANN] "language-livecode" 0.6.1 for Atom editor

2015-10-27 Thread Monte Goulding
From the readme:
• LiveCode Builder source code in .lcb files
• LiveCode server source code in .lc and .irev files
• LiveCode Script source code in .livecodescript files, where the 
shebang line containslivecode or the first line contains an Emacs mode comment 
# -*- mode:livecodescript -*-

I would recommend following Pete’s advice and use the *.livecodescript 
extension for STSMLX. You don’t want your script to be recognised as iRev if it 
is just an object script. At least not if you are using the linter for script 
errors because the three supported grammars are each handled differently. LCS 
just sets the script of an object, iRev comments out all include and require 
commands (we don’t want to lint the entire web app) and includes the file, LCB 
calls lc-compile with no output file (but you still get interface files 
generated). 

The other options to let atom know it is a LCS file are to have a shebang or 
Emacs mode comment on the first line as seen above but the extension is 
obviously the simplest thing to do.

Cheers

Monte

> On 28 Oct 2015, at 6:30 am, Mike Kerner  wrote:
> 
> I think you can also name them .lc, right?  I've also found that
> putting  
> On Tue, Oct 27, 2015 at 2:36 PM, Bob Sneidar 
> wrote:
> 
>> Works a peach and thanks a ton! You smaat guy! Vewy smaat!
>> 
>> Bob S
>> On Oct 27, 2015, at 11:32 , Peter Haworth > p...@lcsql.com>> wrote:
>> 
>> Configure the file extension to be used by MXLEditor to be
>> ".livecodescript"
>> 
>> Pete
>> lcSQL Software
>> 
>> ___
>> 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
>> 
> 
> 
> 
> -- 
> On the first day, God created the heavens and the Earth
> On the second day, God created the oceans.
> On the third day, God put the animals on hold for a few hours,
>   and did a little diving.
> And God said, "This is good."
> ___
> 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: recursion limit when creating file list of harddrive

2015-10-27 Thread JB
If you have already put a directory listing in
a field and want to click a line to get the list
of that line you can put this code in the field.

on mouseUp
   put word 2 of the clickline into tLine
   put line tLine of target into whatFolder
   put directoryListing(whatFolder,2) --into fld id 342435
end mouseUp

function directoryListing whatFolder,c
 put whatFolder & cr into R
 set the directory to whatFolder
 if c = 0 or the result is not empty then return R
 put the files into tFileList
 sort tFileList
 replace cr with cr & whatFolder & "/" in tFileList
 put whatFolder & "/" & tFileList & cr after R
 put line 2 to -1 of the folders into tDirList
 sort tDirList
 repeat for each line L in tDirList
   put directoryListing((whatFolder & "/" & L),(c-1)) after R
 end repeat
 return R
end directoryListing

JB


> On Oct 27, 2015, at 1:32 PM, JB  wrote:
> 
> I was not able to get the mouseUp handler to
> work but I got the function to return a list but it
> probably not the same list.  I used this.
> 
> on mouseUp
>answer folder "Pick a folder you want to walk:"
>put it into whatFolder 
>  --put directoryListing(fld "directory",round(the thumbposition of scrollbar 
> "depth")) into field "listing"
>put directoryListing(whatFolder,2) into fld id 342435
> end mouseUp
> 
> Any suggestions?
> 
> JB
> 
> 
> 
>> On Oct 27, 2015, at 12:43 PM, Michael Doub  wrote:
>> 
>> Geoff,
>> 
>> I would suggest replacing the first statement of the function with
>> 
>> if c is empty then put -1 into c-- set the default to go all the way down
>> put whatFolder & "/" & cr into R  -- add a "/" to directory output so they 
>> are more easily parsed later
>> 
>> -= Mike
>> 
>> 
>> On 10/27/15 12:18 PM, Geoff Canyon wrote:
>>> Revised. Now in function form, with error checking and depth control. You
>>> can hand in a positive number to get that number of layers deep, or a
>>> negative number to go all the way down. I tested it on my home directory
>>> and it came back fine (after some time). I haven't (knowingly) tested with
>>> unusual characters.
>>> 
>>> on mouseUp
>>>   put directoryListing(fld "directory",round(the thumbposition of
>>> scrollbar "depth")) into field "listing"
>>> end mouseUp
>>> 
>>> function directoryListing whatFolder,c
>>>   put whatFolder & cr into R
>>>   set the directory to whatFolder
>>>   if c = 0 or the result is not empty then return R
>>>   put the files into tFileList
>>>   sort tFileList
>>>   replace cr with cr & whatFolder & "/" in tFileList
>>>   put whatFolder & "/" & tFileList & cr after R
>>>   put line 2 to -1 of the folders into tDirList
>>>   sort tDirList
>>>   repeat for each line L in tDirList
>>>  put directoryListing((whatFolder & "/" & L),(c-1)) after R
>>>   end repeat
>>>   return R
>>> end directoryListing
>>> 
>>> 
>>> On Mon, Oct 26, 2015 at 12:00 AM, Geoff Canyon  wrote:
>>> 
 On Sat, Oct 24, 2015 at 7:28 PM, Matthias Rebbe | M-R-D <
 matthias_livecode_150...@m-r-d.de> wrote:
 
> I am using a script snippet which was posted by Scott Rossi to the list
> and was originally from Geoff Canyon in 2002.
> http://lists.runrev.com/pipermail/metacard/2002-August/002274.html
> 
 Man, do I hate looking at my old 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
>>> 
>> 
>> 
>> ___
>> 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
> 

___
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


Transparency of disabled objects

2015-10-27 Thread Bob Sneidar
The subject was broached a while back about how disabled objects can become 
semi transparent, an undesired effect. In case it wasn't covered, I found a 
quick workaround. Set one of the RGB values of the backgroundColor to 254 
instead of 255. It's not visibly noticable, but will make the object opaque 
again even if disabled. 

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: Home servers, anyone?

2015-10-27 Thread Richard Gaskin

Bob Sneidar wrote:
> OIC. I'm assuming you've spoken with the ISP about a fixed address.

I have a convenient 5-IP package at the office, but the price to get 
that at home is way more than I'd care to pay, even for a single fixed 
IP, since they only offer that for commercial services.



> If it's a home level DSL, they won't want to do that, because
> technically you aren't supposed to be running a server.

Some DLS ISPs don't care because that's provided over a dedicate copper 
pair like the old POTS.  AT&T, for example, tells me straight up that if 
I wanted to run a farm of Minecraft servers on my DSL service that's 
okay with them (of course they may just be relying on the knowledge that 
their DSL speeds are too slow for running any public server ).


Historically cable had prohibited servers because coax is shared with 
neighbors.  But I'm finding more and more cable co's are so hurting from 
backlash against the increasingly famous customer service (if you live 
outside the US you have no idea how bad it is here) that they're opening 
up on that, allowing at least personal home servers (and with the 
growing interest in NAS/private clouds it makes good sense).  In my case 
I went the extra mile and got explicit permission from my ISP, but for 
the super-low traffic load I'm anticipating from my tests I'd doubt they 
would have noticed anyway.



> The best way to go about this is to set up an authoratative DNS 
server for your "domain". Here's a good article on the subject.

>
> http://www.boutell.com/innards/authoritativedns.html

I thought about that, but then I'd have to add DDSN under it and in 
general I try to avoid having to maintain services beyond what I'm 
working on.  I'm happy to leave DNS, SMTP, etc to others to take care of 
for me so I can spend my time on HTTP.


Well, that and some superfluous LiveCode, of course. :)


Roger Eller wrote:

> I know someone that had a dynamic setup like you describe.  It was
> simple and easy for 1 person access.
>
> He had a local script checking the IP every 5 or 10 minutes (at home).
> When it no longer matched the last known IP, the script would write
> a small text file TO A WEB SERVER that was hosting a site he owns.
> Then from anywhere, he could access that file to find his way back
> home (so to speak).

Exactly.  I figured a quickie app to POST the current IP on boot from 
the client would suffice for the cable service I have, and when 
accessing it the web server CGI can reply with a 302 header based on 
what it got from the home server's POST to automatically forward me to it.


It would probably be even simple and more useful to just use a DDNS 
service like DNSMadeEasy as Graham suggested.  But that would still 
leave one feature missing:  superfluous LiveCode. :)


--
 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 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: Home servers, anyone?

2015-10-27 Thread Graham Pearson
I it an entry in my domain for the server and use a script that updates the 
record in DNS anytime it changes.  I use DNSMadeEasy for DNS services.  Very 
easy to do

Sent from my iPhone

> On Oct 27, 2015, at 4:27 PM, Bob Sneidar  wrote:
> 
> OIC. I'm assuming you've spoken with the ISP about a fixed address. If it's a 
> home level DSL, they won't want to do that, because technically you aren't 
> supposed to be running a server.
> 
> The best way to go about this is to set up an authoratative DNS server for 
> your "domain". Here's a good article on the subject.
> 
> http://www.boutell.com/innards/authoritativedns.html
> 
> Bob S
> 
> 
> On Oct 27, 2015, at 13:02 , Richard Gaskin 
> mailto:ambassa...@fourthworld.com>> wrote:
> 
> Yes, that needs to be done locally so the router can router traffic to the 
> appropriate machine, but the issue I'm dealing with is when the ISP doles out 
> a new IP address for the router (with DSL that's usually every router reboot, 
> and for cable less frequently but often enough to make depending on a given 
> IP address impractical).
> 
> --
> Richard Gaskin
> 
> ___
> 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: Home servers, anyone?

2015-10-27 Thread Roger Eller
I know someone that had a dynamic setup like you describe.  It was simple
and easy for 1 person access.

He had a local script checking the IP every 5 or 10 minutes (at home).
When it no longer matched the last known IP, the script would write a small
text file TO A WEB SERVER that was hosting a site he owns.  Then from
anywhere, he could access that file to find his way back home (so to speak).

~Roger


On Tue, Oct 27, 2015 at 3:45 PM, Richard Gaskin 
wrote:

> Most of my servers have fixed IP addresses, but I'm about to add one to my
> home where the IP will be dynamic.
>
> The most common solution for making servers with dynamic IPs findable is
> DDNS, and there are of course many free providers of such a service.
>
> Put since this isn't a public server (just for testing and
> experimentation) I'll be the only user, and it occurs to me I could take a
> few minutes to craft a simple solution to know the server's current IP by
> using a CGI at one of my sites hosted with real DNS in conjunction with an
> auto-run app on the server to call it similar to what many DDNS services
> use.
>
> I'm inclined to do that only because I like tinkering, but I thought I'd
> check in here to see if this very specific use case was something others
> might have a need for.  If so, I might get around to documenting the CGI
> and sharing it, but since most folks just use DDNS I'd guess this 302-based
> workaround is probably too use-case specific to be of interest.  If I'm
> wrong let me know and that'll motivate me to get around to documenting it
> that much sooner.
>
> --
>  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: recursion limit when creating file list of harddrive

2015-10-27 Thread JB
I was not able to get the mouseUp handler to
work but I got the function to return a list but it
probably not the same list.  I used this.

on mouseUp
answer folder "Pick a folder you want to walk:"
put it into whatFolder 
  --put directoryListing(fld "directory",round(the thumbposition of scrollbar 
"depth")) into field "listing"
put directoryListing(whatFolder,2) into fld id 342435
end mouseUp

Any suggestions?

JB



> On Oct 27, 2015, at 12:43 PM, Michael Doub  wrote:
> 
> Geoff,
> 
> I would suggest replacing the first statement of the function with
> 
> if c is empty then put -1 into c-- set the default to go all the way down
> put whatFolder & "/" & cr into R  -- add a "/" to directory output so they 
> are more easily parsed later
> 
> -= Mike
> 
> 
> On 10/27/15 12:18 PM, Geoff Canyon wrote:
>> Revised. Now in function form, with error checking and depth control. You
>> can hand in a positive number to get that number of layers deep, or a
>> negative number to go all the way down. I tested it on my home directory
>> and it came back fine (after some time). I haven't (knowingly) tested with
>> unusual characters.
>> 
>> on mouseUp
>>put directoryListing(fld "directory",round(the thumbposition of
>> scrollbar "depth")) into field "listing"
>> end mouseUp
>> 
>> function directoryListing whatFolder,c
>>put whatFolder & cr into R
>>set the directory to whatFolder
>>if c = 0 or the result is not empty then return R
>>put the files into tFileList
>>sort tFileList
>>replace cr with cr & whatFolder & "/" in tFileList
>>put whatFolder & "/" & tFileList & cr after R
>>put line 2 to -1 of the folders into tDirList
>>sort tDirList
>>repeat for each line L in tDirList
>>   put directoryListing((whatFolder & "/" & L),(c-1)) after R
>>end repeat
>>return R
>> end directoryListing
>> 
>> 
>> On Mon, Oct 26, 2015 at 12:00 AM, Geoff Canyon  wrote:
>> 
>>> On Sat, Oct 24, 2015 at 7:28 PM, Matthias Rebbe | M-R-D <
>>> matthias_livecode_150...@m-r-d.de> wrote:
>>> 
 I am using a script snippet which was posted by Scott Rossi to the list
 and was originally from Geoff Canyon in 2002.
 http://lists.runrev.com/pipermail/metacard/2002-August/002274.html
 
>>> Man, do I hate looking at my old 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
>> 
> 
> 
> ___
> 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: Home servers, anyone?

2015-10-27 Thread Bob Sneidar
OIC. I'm assuming you've spoken with the ISP about a fixed address. If it's a 
home level DSL, they won't want to do that, because technically you aren't 
supposed to be running a server.

The best way to go about this is to set up an authoratative DNS server for your 
"domain". Here's a good article on the subject.

http://www.boutell.com/innards/authoritativedns.html

Bob S


On Oct 27, 2015, at 13:02 , Richard Gaskin 
mailto:ambassa...@fourthworld.com>> wrote:

Yes, that needs to be done locally so the router can router traffic to the 
appropriate machine, but the issue I'm dealing with is when the ISP doles out a 
new IP address for the router (with DSL that's usually every router reboot, and 
for cable less frequently but often enough to make depending on a given IP 
address impractical).

--
Richard Gaskin

___
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: AW: What happens when enabling Hi-DPI scaling?

2015-10-27 Thread J. Landman Gay

On 10/27/2015 2:58 PM, Mark Waddingham wrote:


It causes text (on Windows) to be rendered as a path internally, and
then painted to the target - this means that it doesn't suffer the
'changing metrics' problem. It is actually what 'formatForPrinting' now
sits on (on Windows) - meaning you can actually show a nice accurate
print preview of layout of a stack without the drawbacks of that mode
which used to exist (many versions ago).

Of course, I think I just noticed it never made it into the dictionary...


I didn't even have to think, I looked it up and it wasn't there. :)

But since you're (presumably) about to add the term, is there a better 
word for it? Something indicating "text" somehow? Anyone looking for a 
property like that would probably do a search for "text".


--
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: [OT] Netflix Using Card/Stack Metaphor in Branding

2015-10-27 Thread Bob Sneidar
What a stupid idea! Who would adopt a metaphor like that?? ;-)

Bob S


On Oct 27, 2015, at 13:01 , Scott Rossi 
mailto:sc...@tactilemedia.com>> wrote:

Fun observation for LiveCoders: Netflix recently rolled out a new global
identity that relies on a metaphor of cards in a stack.

https://vimeo.com/140261016

___
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


[OT] Netflix Using Card/Stack Metaphor in Branding

2015-10-27 Thread Scott Rossi
Fun observation for LiveCoders: Netflix recently rolled out a new global
identity that relies on a metaphor of cards in a stack.

https://vimeo.com/140261016


Details are available here:
http://www.underconsideration.com/brandnew/archives/new_global_identity_for
_netflix_by_gretel.php


Regards,

Scott Rossi
Creative Director
Tactile Media, UX/UI Design




___
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: Home servers, anyone?

2015-10-27 Thread Richard Gaskin
Yes, that needs to be done locally so the router can router traffic to 
the appropriate machine, but the issue I'm dealing with is when the ISP 
doles out a new IP address for the router (with DSL that's usually every 
router reboot, and for cable less frequently but often enough to make 
depending on a given IP address impractical).


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


Bob Sneidar bobsneidar at iotecdigital.com
Just create a reservation in your DHCP server so that the server always gets 
the same address.

Bob S


On Oct 27, 2015, at 12:45 , Richard Gaskin mailto:ambassador at fourthworld.com>> wrote:

Most of my servers have fixed IP addresses, but I'm about to add one to my home 
where the IP will be dynamic.

The most common solution for making servers with dynamic IPs findable is DDNS, 
and there are of course many free providers of such a service.

Put since this isn't a public server (just for testing and experimentation) 
I'll be the only user, and it occurs to me I could take a few minutes to craft 
a simple solution to know the server's current IP by using a CGI at one of my 
sites hosted with real DNS in conjunction with an auto-run app on the server to 
call it similar to what many DDNS services use.

I'm inclined to do that only because I like tinkering, but I thought I'd check 
in here to see if this very specific use case was something others might have a 
need for.  If so, I might get around to documenting the CGI and sharing it, but 
since most folks just use DDNS I'd guess this 302-based workaround is probably 
too use-case specific to be of interest.  If I'm wrong let me know and that'll 
motivate me to get around to documenting it that much sooner.


___
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: AW: What happens when enabling Hi-DPI scaling?

2015-10-27 Thread Mark Waddingham

On 2015-10-27 20:50, Scott Rossi wrote:
Hold on  -- "useIdealLayout" is a real property?  When l think of all 
the

years I wasted fiddling with the design of projects...

on clientRequest
   create stack
   put it into theStack
   set the useIdealLayout of theStack to true
   save theStack
   deliver theStack
   send "vacation" to me in 5 seconds
end clientRequest


Haha - unfortunately it is nowhere near as impressive as that!

It causes text (on Windows) to be rendered as a path internally, and 
then painted to the target - this means that it doesn't suffer the 
'changing metrics' problem. It is actually what 'formatForPrinting' now 
sits on (on Windows) - meaning you can actually show a nice accurate 
print preview of layout of a stack without the drawbacks of that mode 
which used to exist (many versions ago).


Of course, I think I just noticed it never made it into the 
dictionary...


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: Open Language and stability

2015-10-27 Thread Bob Sneidar
That is to say, an irrational one. ;-)

Bob S


On Oct 27, 2015, at 11:40 , Mark Waddingham 
mailto:m...@livecode.com>> wrote:

On 2015-10-27 19:36, Mark Waddingham wrote:
On 2015-10-27 19:22, Richmond wrote:
Morellos.
I had morello cherry pie for dessert the other night... It was delicious :)

Perhaps I should have written - 'morello cherry pi' - it put my taste-buds into 
a transcendental state.

Mark.

--
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: Home servers, anyone?

2015-10-27 Thread Bob Sneidar
Just create a reservation in your DHCP server so that the server always gets 
the same address.

Bob S


On Oct 27, 2015, at 12:45 , Richard Gaskin 
mailto:ambassa...@fourthworld.com>> wrote:

Most of my servers have fixed IP addresses, but I'm about to add one to my home 
where the IP will be dynamic.

The most common solution for making servers with dynamic IPs findable is DDNS, 
and there are of course many free providers of such a service.

Put since this isn't a public server (just for testing and experimentation) 
I'll be the only user, and it occurs to me I could take a few minutes to craft 
a simple solution to know the server's current IP by using a CGI at one of my 
sites hosted with real DNS in conjunction with an auto-run app on the server to 
call it similar to what many DDNS services use.

I'm inclined to do that only because I like tinkering, but I thought I'd check 
in here to see if this very specific use case was something others might have a 
need for.  If so, I might get around to documenting the CGI and sharing it, but 
since most folks just use DDNS I'd guess this 302-based workaround is probably 
too use-case specific to be of interest.  If I'm wrong let me know and that'll 
motivate me to get around to documenting it that much sooner.

--
Richard Gaskin
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web

___
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: AW: What happens when enabling Hi-DPI scaling?

2015-10-27 Thread Scott Rossi
Hold on  -- "useIdealLayout" is a real property?  When l think of all the
years I wasted fiddling with the design of projects...

on clientRequest
   create stack
   put it into theStack
   set the useIdealLayout of theStack to true
   save theStack
   deliver theStack
   send "vacation" to me in 5 seconds
end clientRequest


Regards,

Scott Rossi
Creative Director
Tactile Media, UX/UI Design




On 10/27/15, 12:22 PM, "use-livecode on behalf of Mark Waddingham"

wrote:

>You *can* try and set the 'useIdealLayout' property of the stack if
>there are visual problems



___
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


Home servers, anyone?

2015-10-27 Thread Richard Gaskin
Most of my servers have fixed IP addresses, but I'm about to add one to 
my home where the IP will be dynamic.


The most common solution for making servers with dynamic IPs findable is 
DDNS, and there are of course many free providers of such a service.


Put since this isn't a public server (just for testing and 
experimentation) I'll be the only user, and it occurs to me I could take 
a few minutes to craft a simple solution to know the server's current IP 
by using a CGI at one of my sites hosted with real DNS in conjunction 
with an auto-run app on the server to call it similar to what many DDNS 
services use.


I'm inclined to do that only because I like tinkering, but I thought I'd 
check in here to see if this very specific use case was something others 
might have a need for.  If so, I might get around to documenting the CGI 
and sharing it, but since most folks just use DDNS I'd guess this 
302-based workaround is probably too use-case specific to be of 
interest.  If I'm wrong let me know and that'll motivate me to get 
around to documenting it that much sooner.


--
 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: recursion limit when creating file list of harddrive

2015-10-27 Thread Michael Doub

Geoff,

I would suggest replacing the first statement of the function with

if c is empty then put -1 into c-- set the default to go all the way 
down
put whatFolder & "/" & cr into R  -- add a "/" to directory output so 
they are more easily parsed later


-= Mike


On 10/27/15 12:18 PM, Geoff Canyon wrote:

Revised. Now in function form, with error checking and depth control. You
can hand in a positive number to get that number of layers deep, or a
negative number to go all the way down. I tested it on my home directory
and it came back fine (after some time). I haven't (knowingly) tested with
unusual characters.

on mouseUp
put directoryListing(fld "directory",round(the thumbposition of
scrollbar "depth")) into field "listing"
end mouseUp

function directoryListing whatFolder,c
put whatFolder & cr into R
set the directory to whatFolder
if c = 0 or the result is not empty then return R
put the files into tFileList
sort tFileList
replace cr with cr & whatFolder & "/" in tFileList
put whatFolder & "/" & tFileList & cr after R
put line 2 to -1 of the folders into tDirList
sort tDirList
repeat for each line L in tDirList
   put directoryListing((whatFolder & "/" & L),(c-1)) after R
end repeat
return R
end directoryListing


On Mon, Oct 26, 2015 at 12:00 AM, Geoff Canyon  wrote:


On Sat, Oct 24, 2015 at 7:28 PM, Matthias Rebbe | M-R-D <
matthias_livecode_150...@m-r-d.de> wrote:


I am using a script snippet which was posted by Scott Rossi to the list
and was originally from Geoff Canyon in 2002.
http://lists.runrev.com/pipermail/metacard/2002-August/002274.html


Man, do I hate looking at my old 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




___
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: [OT] GUI templates

2015-10-27 Thread Mike Kerner
Yes.  I would like to see more goodies.  I'm most definitely not an
artist.  Icons are also a challenge.



On Mon, Oct 26, 2015 at 3:07 PM, Richmond 
wrote:

> https://pixelbuddha.net/freebies/tag/ui-kits
>
> look like fun.
>
> 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
>



-- 
On the first day, God created the heavens and the Earth
On the second day, God created the oceans.
On the third day, God put the animals on hold for a few hours,
   and did a little diving.
And God said, "This is good."
___
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: [ANN] "language-livecode" 0.6.1 for Atom editor

2015-10-27 Thread Mike Kerner
I think you can also name them .lc, right?  I've also found that
putting 
wrote:

> Works a peach and thanks a ton! You smaat guy! Vewy smaat!
>
> Bob S
> On Oct 27, 2015, at 11:32 , Peter Haworth  p...@lcsql.com>> wrote:
>
> Configure the file extension to be used by MXLEditor to be
> ".livecodescript"
>
> Pete
> lcSQL Software
>
> ___
> 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
>



-- 
On the first day, God created the heavens and the Earth
On the second day, God created the oceans.
On the third day, God put the animals on hold for a few hours,
   and did a little diving.
And God said, "This is good."
___
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: AW: What happens when enabling Hi-DPI scaling?

2015-10-27 Thread Mark Waddingham

On 2015-10-27 14:56, Tiemo Hollmann TB wrote:

Thanks Mark for jumping in!
If I understood you correct, things even get crisper and not blurred 
with

Hi-DPI enabled on a Hi-DPI monitor and keep as they are on a standard
monitor. So my conclusion would be to enable it always by standard 
(since it

is anyway standard on OS X)


Yes - this is the ideal situation :)

What could be a reason not to enable Hi-DPI scaling on Windows or with 
other

words, why is it an option?


Ah - well - the APIs we currently use on Windows are a bit of a dinosaur 
in terms text rendering. We still use 'GDI' which has the unfortunate 
problem that text does not linearly scale.


What this means is that the size of a piece of text rendered with GDI at 
scale factor 1.0 is not necessarily the same as the same text rendered 
at scale factor 2.0. This is down to the TrueType hinting and other 
methods it employs which you cannot actually turn off (this hinting can 
be quite aggressive - its goal was to ensure text rendered at low screen 
resolutions was still highly readable without anti-aliasing - and tends 
to alter the horizontal width to varying degrees for different fonts).


We've not actually managed to find a way to solve this problem 'well' 
yet - particularly as we still have to support XP (given its market 
share is still quite considerable!).


So, you do need to check your app in Hi-DPI mode on windows (by 
adjusting the text scale factor in settings, as previously mentioned) 
and make sure it still looks the way you need it to.


You *can* try and set the 'useIdealLayout' property of the stack if 
there are visual problems - this will make the text render in the 
appropriately 'linearly scalable' way. However, it does have a 
performance and visual difference impact - the text will be slightly 
fuzzier, and will take a little longer to render.


Hope this helps!

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: Open Language and stability

2015-10-27 Thread Mark Waddingham

On 2015-10-27 19:36, Mark Waddingham wrote:

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

Morellos.


I had morello cherry pie for dessert the other night... It was 
delicious :)


Perhaps I should have written - 'morello cherry pi' - it put my 
taste-buds into a transcendental state.


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 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: [ANN] "language-livecode" 0.6.1 for Atom editor

2015-10-27 Thread Bob Sneidar
Works a peach and thanks a ton! You smaat guy! Vewy smaat!

Bob S
On Oct 27, 2015, at 11:32 , Peter Haworth 
mailto:p...@lcsql.com>> wrote:

Configure the file extension to be used by MXLEditor to be ".livecodescript"

Pete
lcSQL Software

___
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: Open Language and stability

2015-10-27 Thread Mark Waddingham

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

Morellos.


I had morello cherry pie for dessert the other night... It was delicious 
:)


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: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: [ANN] "language-livecode" 0.6.1 for Atom editor

2015-10-27 Thread Peter Haworth
Configure the file extension to be used by MXLEditor to be ".livecodescript"

Pete
lcSQL Software 
Home of lcStackBrowser  and
SQLiteAdmin 

On Tue, Oct 27, 2015 at 11:29 AM, Bob Sneidar 
wrote:

> Sweet! Just tried it and it works. Simple really. I had in mind the idea
> of using Applescript to get and set the contents of a new window, but text
> is for some really odd reason *NOT* a property of a window in Atom, as it
> is in TextEdit.
>
> Now the trick is to figure out how to tell Atom to treat it as a Livecode
> Script.
>
> Bob S
>
>
> On Oct 27, 2015, at 09:59 , Peter Haworth  p...@lcsql.com>> wrote:
>
> There is - STS MLXEditor
>
> Pete
>
> ___
> 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: [ANN] "language-livecode" 0.6.1 for Atom editor

2015-10-27 Thread Bob Sneidar
Sweet! Just tried it and it works. Simple really. I had in mind the idea of 
using Applescript to get and set the contents of a new window, but text is for 
some really odd reason *NOT* a property of a window in Atom, as it is in 
TextEdit.

Now the trick is to figure out how to tell Atom to treat it as a Livecode 
Script.

Bob S


On Oct 27, 2015, at 09:59 , Peter Haworth 
mailto:p...@lcsql.com>> wrote:

There is - STS MLXEditor

Pete

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

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

On Oct 27, 2015, at 02:11 , Mark Waddingham 
mailto:m...@livecode.com>> 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: Open Language and stability

2015-10-27 Thread Richmond

On 27/10/15 17:25, Mark Waddingham wrote:

On 2015-10-27 16:23, Heather Laine wrote:

Hmmm. Do I have to add cherries to the list of things that are not
permitted to be discussed on this list?

 /\
O O


That won't work though - a new synonym will just be added and used 
instead ;)


Mark.



Morellos.

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: Open Language and stability

2015-10-27 Thread Richmond

On 27/10/15 17:23, Heather Laine wrote:

Hmmm. Do I have to add cherries to the list of things that are not permitted to 
be discussed on this list?

  /\
O O

Heather

Heather Laine
Customer Services Manager
LiveCode Ltd
www.livecode.com



I'd give a lot for a glass of Kirsch at this point.

Richmond.



On 27 Oct 2015, at 14:11, Peter M. Brigham  wrote:

On Oct 25, 2015, at 7:42 PM, Mark Wieder wrote:


On 10/25/2015 12:24 PM, J. Landman Gay wrote:


Make your own cherry with LCB and give the first couple of versions away
for free. Then somewhere just after version 3 you could sell a more
expensive chocolate-covered version and call it Cherry Pi.


That's an irrational idea.

Actually, it's a transcendental idea.  :-)

-- Peter

Peter M. Brigham
pmb...@gmail.com
http://home.comcast.net/~pmbrig


___
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



___
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: recursion limit when creating file list of harddrive

2015-10-27 Thread JB
Thank you, Geoff

JB


> On Oct 27, 2015, at 9:18 AM, Geoff Canyon  wrote:
> 
> Revised. Now in function form, with error checking and depth control. You
> can hand in a positive number to get that number of layers deep, or a
> negative number to go all the way down. I tested it on my home directory
> and it came back fine (after some time). I haven't (knowingly) tested with
> unusual characters.
> 
> on mouseUp
>   put directoryListing(fld "directory",round(the thumbposition of
> scrollbar "depth")) into field "listing"
> end mouseUp
> 
> function directoryListing whatFolder,c
>   put whatFolder & cr into R
>   set the directory to whatFolder
>   if c = 0 or the result is not empty then return R
>   put the files into tFileList
>   sort tFileList
>   replace cr with cr & whatFolder & "/" in tFileList
>   put whatFolder & "/" & tFileList & cr after R
>   put line 2 to -1 of the folders into tDirList
>   sort tDirList
>   repeat for each line L in tDirList
>  put directoryListing((whatFolder & "/" & L),(c-1)) after R
>   end repeat
>   return R
> end directoryListing
> 
> 
> On Mon, Oct 26, 2015 at 12:00 AM, Geoff Canyon  wrote:
> 
>> On Sat, Oct 24, 2015 at 7:28 PM, Matthias Rebbe | M-R-D <
>> matthias_livecode_150...@m-r-d.de> wrote:
>> 
>>> I am using a script snippet which was posted by Scott Rossi to the list
>>> and was originally from Geoff Canyon in 2002.
>>> http://lists.runrev.com/pipermail/metacard/2002-August/002274.html
>>> 
>> 
>> Man, do I hate looking at my old 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
> 


___
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: parentheses within string break value()

2015-10-27 Thread Dr. Hawkins
On Tue, Oct 27, 2015 at 8:54 AM, Bob Sneidar 
wrote:

> put "SELECT foo FROM tTableName WHERE (bar > 7) AND (animal<>'cat');" into
> tSQL
> replace "tTableName" with tTableName in tSQL -- assuming tTableName
> contains the name of a real table
>
> Looks and reads a whole lot cleaner.
>
>
If it was all code, this would be cleaner indeed.

I'm trying to have a single-line custom property of a group that evaluates
to the correct query.

There are a great many groups to loop through, some with such a property,
others without.  Save for the table name, though, which varies by client,
the query is the same each time.

Jacqui's suggestion of merge has also lead me to getProp . . .

I suppose I could file a bug report for value()'s dictionary entry not
xrfeffing merge . . .

But I'm still bothered by value() not respecting quotation marks.  Except
for a couple of unix shells, this seems to be a unique handling of a string.


-- 
Dr. Richard E. Hawkins, Esq.
(702) 508-8462
___
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&D 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: Implementing Open Language

2015-10-27 Thread J. Landman Gay

On 10/27/2015 9:48 AM, Bruce Humphrey wrote:

Frankly I wish the little bugger (script editor) would provide the
full phrase syntax requirements as I am constantly stuck with newbie
errors in prepositions (using "in" instead of "with") or habitually
using old HyperTalk structures that LiveCode chokes on. They make
sense to ME.


You can get close to having that if you leave the Documentation pane 
visible in the variable watcher at the bottom of the editor. When the 
insertion point is in a keyword, the Docs pane shows you the syntax. You 
can tick the checkbox at the lower right to see the entire dictionary 
entry, or just leave the abbreviated version visible if all you need is 
the syntax.


--
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-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: [ANN] "language-livecode" 0.6.1 for Atom editor

2015-10-27 Thread Peter Haworth
There is - STS MLXEditor

Pete
lcSQL Software 
Home of lcStackBrowser  and
SQLiteAdmin 

On Tue, Oct 27, 2015 at 9:57 AM, Bob Sneidar 
wrote:

> Thanks Brett. Autocomplete seems to work with variables now. I can see how
> this would be really useful for writing a large script from scratch.
> Wouldn't it be neat if there was an LC plugin that could pass a script to
> Atom for editing, then read it back and compile it... hmmm...
>
> Bob S
>
>
> > On Oct 27, 2015, at 09:38 , Peter TB Brett 
> wrote:
> >
> > Hi all,
> >
> >  == Atom language-livecode package 0.6.1 ==
> >
> > The "language-livecode" package for the Atom editor (https://atom.io/)
> integrates syntax highlighting, indentation, autocompletion, and linting
> support for editing LiveCode Builder (.lcb), LiveCode Script
> (.livecodescript), and LiveCode Server (.lc / .irev) source files.
> >
> > For more information, visit: https://atom.io/packages/language-livecode
> >
> > == Installation
> >
> > 1. Visit Atom's "Settings" view (via "File->Preferences")
> > 2. Go to the "Install" tab
> > 3. Use the search field to search for the "language-livecode" package
> > 4. Click "Install"
> >
> > == Notable changes in 0.6.1
> >
> > * Revised, expanded and generally improved documentation
> > * Improved LiveCode Script support
> >  * Support for `if...then...else...` syntax
> >  * Better indentation in `switch` blocks
> >  * Restore completion of symbols from the current file
> >  * Don't clobber autocomplete settings
> >  * Improved variable & constant capturing
> > * Restored support for linting revIgniter files
> >
> > == Reporting problems
> >
> > Please report issues to
> https://github.com/peter-b/atom-language-livecode/issues
> >
> > ___
> > 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
>
___
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: [ANN] "language-livecode" 0.6.1 for Atom editor

2015-10-27 Thread Bob Sneidar
Thanks Brett. Autocomplete seems to work with variables now. I can see how this 
would be really useful for writing a large script from scratch. Wouldn't it be 
neat if there was an LC plugin that could pass a script to Atom for editing, 
then read it back and compile it... hmmm...

Bob S


> On Oct 27, 2015, at 09:38 , Peter TB Brett  wrote:
> 
> Hi all,
> 
>  == Atom language-livecode package 0.6.1 ==
> 
> The "language-livecode" package for the Atom editor (https://atom.io/) 
> integrates syntax highlighting, indentation, autocompletion, and linting 
> support for editing LiveCode Builder (.lcb), LiveCode Script 
> (.livecodescript), and LiveCode Server (.lc / .irev) source files.
> 
> For more information, visit: https://atom.io/packages/language-livecode
> 
> == Installation
> 
> 1. Visit Atom's "Settings" view (via "File->Preferences")
> 2. Go to the "Install" tab
> 3. Use the search field to search for the "language-livecode" package
> 4. Click "Install"
> 
> == Notable changes in 0.6.1
> 
> * Revised, expanded and generally improved documentation
> * Improved LiveCode Script support
>  * Support for `if...then...else...` syntax
>  * Better indentation in `switch` blocks
>  * Restore completion of symbols from the current file
>  * Don't clobber autocomplete settings
>  * Improved variable & constant capturing
> * Restored support for linting revIgniter files
> 
> == Reporting problems
> 
> Please report issues to 
> https://github.com/peter-b/atom-language-livecode/issues
> 
> ___
> 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-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


[ANN] "language-livecode" 0.6.1 for Atom editor

2015-10-27 Thread Peter TB Brett

Hi all,

  == Atom language-livecode package 0.6.1 ==

The "language-livecode" package for the Atom editor (https://atom.io/) 
integrates syntax highlighting, indentation, autocompletion, and linting 
support for editing LiveCode Builder (.lcb), LiveCode Script 
(.livecodescript), and LiveCode Server (.lc / .irev) source files.


For more information, visit: https://atom.io/packages/language-livecode

== Installation

1. Visit Atom's "Settings" view (via "File->Preferences")
2. Go to the "Install" tab
3. Use the search field to search for the "language-livecode" package
4. Click "Install"

== Notable changes in 0.6.1

* Revised, expanded and generally improved documentation
* Improved LiveCode Script support
  * Support for `if...then...else...` syntax
  * Better indentation in `switch` blocks
  * Restore completion of symbols from the current file
  * Don't clobber autocomplete settings
  * Improved variable & constant capturing
* Restored support for linting revIgniter files

== Reporting problems

Please report issues to 
https://github.com/peter-b/atom-language-livecode/issues


___
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 
mailto:m...@livecode.com>> 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: recursion limit when creating file list of harddrive

2015-10-27 Thread Geoff Canyon
Revised. Now in function form, with error checking and depth control. You
can hand in a positive number to get that number of layers deep, or a
negative number to go all the way down. I tested it on my home directory
and it came back fine (after some time). I haven't (knowingly) tested with
unusual characters.

on mouseUp
   put directoryListing(fld "directory",round(the thumbposition of
scrollbar "depth")) into field "listing"
end mouseUp

function directoryListing whatFolder,c
   put whatFolder & cr into R
   set the directory to whatFolder
   if c = 0 or the result is not empty then return R
   put the files into tFileList
   sort tFileList
   replace cr with cr & whatFolder & "/" in tFileList
   put whatFolder & "/" & tFileList & cr after R
   put line 2 to -1 of the folders into tDirList
   sort tDirList
   repeat for each line L in tDirList
  put directoryListing((whatFolder & "/" & L),(c-1)) after R
   end repeat
   return R
end directoryListing


On Mon, Oct 26, 2015 at 12:00 AM, Geoff Canyon  wrote:

> On Sat, Oct 24, 2015 at 7:28 PM, Matthias Rebbe | M-R-D <
> matthias_livecode_150...@m-r-d.de> wrote:
>
>> I am using a script snippet which was posted by Scott Rossi to the list
>> and was originally from Geoff Canyon in 2002.
>> http://lists.runrev.com/pipermail/metacard/2002-August/002274.html
>>
>
> Man, do I hate looking at my old 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-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 
mailto:m...@livecode.com>> 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: parentheses within string break value()

2015-10-27 Thread Bob Sneidar
What I typically do is:

put "SELECT foo FROM tTableName WHERE (bar > 7) AND (animal<>'cat');" into tSQL
replace "tTableName" with tTableName in tSQL -- assuming tTableName contains 
the name of a real table

Looks and reads a whole lot cleaner.

Bob S

On Oct 26, 2015, at 13:25 , Dr. Hawkins 
mailto:doch...@gmail.com>> wrote:

I seem to have mis-parsed that myself.

There is a custom property (call it theProp) with a value like

"SELECT foo FROM " & tableName & " WHERE (bar > 7) AND (animal<>'cat');"



So those quotes and & are in the string to be evaluated.

My understanding of parsing is that the first piece should evaluate to

SELECT foo FROM


the second to

SELECT foo FROM


and the third to

WHERE (bar > 7) AND (animal<>'cat');


and when concatenated produce a string of

SELECT foo FROM theRealTableName WHERE (bar > 7) AND (animal<>'cat');

___
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: Open Language and stability

2015-10-27 Thread Bob Sneidar
Probably one and the same thing more often than we realize.

Bob S


On Oct 27, 2015, at 07:11 , Peter M. Brigham 
mailto:pmb...@gmail.com>> wrote:

That's an irrational idea.

Actually, it's a transcendental idea.  :-)

-- Peter

Peter M. Brigham

___
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: Open Language and stability

2015-10-27 Thread Bob Sneidar

On Oct 27, 2015, at 04:34 , Mark Waddingham 
mailto:m...@livecode.com>> wrote:

One of the goals of the 7.0 refactor was to move a very old, undocumented, 
difficult to maintain and spaghetti-like code forward to a new model which is 
cleaner, easier to maintain and more amenable to use in the ways we need it to 
be to move the platform forward (indeed, it has been a 'happy' side-effect that 
in doing this process the actual semantics of what things are meant to do has 
become a great deal clearer - the code itself in many cases is now almost 
documentation in and of itself - assuming you can 'read the runes' in that 
regard). Of course, this process alone has been quite long and difficult - but 
well worth the effort in terms of what it will enable moving forward.

A very great software company (imho) called Now Software produced a multiuser 
calendaring and contact system that was second to none. I had 2 fairly large 
organizations running off it and everyone that used it and knew it loved it. 
The problem was...

SPAGHETTI CODE!

It had become so onerous to make anything amounting to real feature additions 
that they decided to rewrite the database and code from the ground up, 
reworking the entire interface in the process. It killed the company. They got 
a couple early betas out, but the direction they headed went all wrong.

So I guess what I am saying is that I really appreciate the difficulty of what 
the LC developers have done. I think the real key was to not try and create an 
entirely new application in the process of refactoring the existing code. Most 
people have no idea what it takes to write a really robust and functional 
application, never mind a development environment that can produce one!

My impression of the LC devs is that they are top notch, and I for one and 
grateful for their efforts. Thanks to all the LC devs for their exceptional 
work. I don't think we can give them the credit they are due, except to keep up 
our subscriptions and continue to support the company.

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: Open Language and stability

2015-10-27 Thread Mark Wieder

On 10/27/2015 08:25 AM, Mark Waddingham wrote:


That won't work though - a new synonym will just be added and used
instead ;)


ROTFL

--
 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: Open Language and stability

2015-10-27 Thread Mark Waddingham

On 2015-10-27 16:23, Heather Laine wrote:

Hmmm. Do I have to add cherries to the list of things that are not
permitted to be discussed on this list?

 /\
O O


That won't work though - a new synonym will just be added and used 
instead ;)


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: Open Language and stability

2015-10-27 Thread Heather Laine
Hmmm. Do I have to add cherries to the list of things that are not permitted to 
be discussed on this list?

 /\
O O

Heather

Heather Laine
Customer Services Manager
LiveCode Ltd
www.livecode.com



> On 27 Oct 2015, at 14:11, Peter M. Brigham  wrote:
> 
> On Oct 25, 2015, at 7:42 PM, Mark Wieder wrote:
> 
>> On 10/25/2015 12:24 PM, J. Landman Gay wrote:
>> 
>>> Make your own cherry with LCB and give the first couple of versions away
>>> for free. Then somewhere just after version 3 you could sell a more
>>> expensive chocolate-covered version and call it Cherry Pi.
>>> 
>> 
>> That's an irrational idea.
> 
> Actually, it's a transcendental idea.  :-)
> 
> -- Peter
> 
> Peter M. Brigham
> pmb...@gmail.com
> http://home.comcast.net/~pmbrig
> 
> 
> ___
> 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: How script the widget Switchbutton ?

2015-10-27 Thread Ludovic THEBAULT

Le 27 oct. 2015 à 15:22, Paul Richards  a écrit :

> Hi Ludovic, 
> 
> If when you look at the property inspector for each widget, you will see what 
> options are available (basic TAB - which shows the house icon)
> 
> In the case of the Switch,  you can see a property for Switch on (hover mouse 
> over and it will show you SwitchIsOn) 


Thanks everybody
___
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


Implementing Open Language

2015-10-27 Thread Bruce Humphrey
Probably a stupid or newbie question, since I am a newbie, but in all the 
discussion about syntax consistency I haven't seen much talk about how to 
actually make it happen. I would think the first implementation point is with 
the script editor gate keeping the acceptable syntax/words/dictionary and 
recommending the "official" or preferred spelling/usage as it's typed. Type 
"highlight" and it flags it and recommends "hilite", etc. Leave the engine 
alone but start flagging preferences to move the user base to the preferred 
forms. Or maybe I'm missing something. Wouldn't be the first time. 

Frankly I wish the little bugger (script editor) would provide the full phrase 
syntax requirements as I am constantly stuck with newbie errors in prepositions 
(using "in" instead of "with") or habitually using old HyperTalk structures 
that LiveCode chokes on. They make sense to ME.

Okay everyone: tear me a new one for wasting your time with the obvious or 
oblivious!

Bruce

Sent from my iPhone
___
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: How script the widget Switchbutton ?

2015-10-27 Thread Paul Dupuis
On 10/27/2015 10:26 AM, Klaus major-k wrote:
> Because this is a widget and not a „normal“ button!

Currently in LC8.0.0dp7, when creating a widget like the switch button
with a simple on/off state, can you NOT use the hilite property. Did the
creator of the switch button have to use a new "SwitchIsOn" property or
could they have used hilite (or highlight or any of the aliases) for
consistency with other button or button-like controls?

I'm not criticizing the choice, I am just curious about the state of LC8
and it limitations or strength in utilizing existing control properties
in widgets
.

___
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 happens when enabling Hi-DPI scaling?

2015-10-27 Thread Lyn Teyla
Tiemo Hollmann TB wrote:

> Do you enable "Hi-DPI scaling" in the standalone settings for windows since
> 6.7.7 by standard or never? (I can't test the difference myself, not having
> a Hi-DPI monitor)


There's currently a bug relating to the Windows Hi-DPI status in the standalone 
settings window.

It *is* enabled by default, but often incorrectly shows up as being disabled in 
the settings window.

A temporary fix was provided by Panos at:

http://quality.runrev.com/show_bug.cgi?id=15694

Lyn




___
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: How script the widget Switchbutton ?

2015-10-27 Thread Paul Richards
Hi Ludovic, 

If when you look at the property inspector for each widget, you will see what 
options are available (basic TAB - which shows the house icon)

In the case of the Switch,  you can see a property for Switch on (hover mouse 
over and it will show you SwitchIsOn) 

An possible example of use could be:

on switchChanged pSwitchIsOn
   if pSwitchIsOn is true then 
  answer "Switch Enabled"
   else
  answer "Switch Disabled"
   end if
end switchChanged


Paul :-)

-Original Message-
From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] On Behalf Of 
Ludovic THEBAULT
Sent: 27 October 2015 14:03
To: How to use LiveCode 
Subject: How script the widget Switchbutton ?

Hello,

I play with Livecode 8 dp7. Widget are cool but how use it ? 
If i put a switchbutton on my stack and put this script :

on mouseup
answer the hilite of me
end mouseup

nothing happen.

I cannot find any example in the doc.  

Thanks

___
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: How script the widget Switchbutton ?

2015-10-27 Thread Klaus major-k
Bonjour Ludovic,

> Am 27.10.2015 um 15:02 schrieb Ludovic THEBAULT 
> :
> 
> Hello,
> 
> I play with Livecode 8 dp7. Widget are cool but how use it ? 
> If i put a switchbutton on my stack and put this script :
> on mouseup
> answer the hilite of me
> end mouseup
> nothing happen.

Because this is a widget and not a „normal“ button!

> I cannot find any example in the doc.  

I did, try harder! :-)

…
## On/Off
set the switchIsOn of widget 1 to NOT the switchIsOn of widget 1
…

> Thanks

Best

Klaus

--
Klaus Major
http://www.major-k.de
kl...@major-k.de


___
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: How script the widget Switchbutton ?

2015-10-27 Thread Mike Bonner
Look at: switchIsOn

On Tue, Oct 27, 2015 at 8:02 AM, Ludovic THEBAULT <
ludovic.theba...@laposte.net> wrote:

> Hello,
>
> I play with Livecode 8 dp7. Widget are cool but how use it ?
> If i put a switchbutton on my stack and put this script :
>
> on mouseup
> answer the hilite of me
> end mouseup
>
> nothing happen.
>
> I cannot find any example in the doc.
>
> Thanks
>
> ___
> 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: Keep Selection Focus When Switching to Substack

2015-10-27 Thread Peter M. Brigham
What I have done is put an "on mouseenter" handler in the palette buttons (or 
at a higher level, in the palette card script) that saves the current selection 
and the long name of the selectedfield. That way you don't have to modify all 
your target stacks, just the palette scripts.

-- Peter

Peter M. Brigham
pmb...@gmail.com
http://home.comcast.net/~pmbrig


On Oct 26, 2015, at 11:16 AM, Bob Sneidar wrote:

> I think the reply was to trap for suspendStack in your apps, save the current 
> selection and selectedObject, then trap for resumeStack and set it again. 
> It's the only way I've found to do it. It's a pain, but not difficult to 
> implement. I agree that the selection for a stack should not deselect when 
> switching to another stack or app. I suppose then that the selection should 
> be a stack property instead of a global one, but I don't see how they could 
> change it now. 
> 
> Bob S
> 
> 
>> On Oct 23, 2015, at 19:51 , Sannyasin Brahmanathaswami  
>> wrote:
>> 
>> I think I asked this before, 
>> 
>> but… is there a way to keep the selection when switching to a substack that 
>> is set to palette?
>> 
>> The goal is to have buttons that operate on selected text, but in a separate 
>> stack.
>> 
>> Brahmanathaswami
>> 
>> ___
>> 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


___
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: Open Language and stability

2015-10-27 Thread Peter M. Brigham
On Oct 25, 2015, at 7:42 PM, Mark Wieder wrote:

> On 10/25/2015 12:24 PM, J. Landman Gay wrote:
> 
>> Make your own cherry with LCB and give the first couple of versions away
>> for free. Then somewhere just after version 3 you could sell a more
>> expensive chocolate-covered version and call it Cherry Pi.
>> 
> 
> That's an irrational idea.

Actually, it's a transcendental idea.  :-)

-- Peter

Peter M. Brigham
pmb...@gmail.com
http://home.comcast.net/~pmbrig


___
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: Open Language and stability

2015-10-27 Thread Peter M. Brigham
"If it weren't for electricity we'd all be watching television by candlelight." 
-- George Gobel

-- Peter

Peter M. Brigham
pmb...@gmail.com
http://home.comcast.net/~pmbrig


On Oct 25, 2015, at 5:33 PM, Rick Harrison wrote:

> Forget the cherry, we need lit candles so we can see our code better!  We 
> need candles!  ;-)
> 
> Rick
> 
>> On Oct 25, 2015, at 1:08 PM, Richmond  wrote:
>> 
>> On 25/10/15 18:59, Kevin Miller wrote:
>>> We did not promise a cherry. We are not going to promise a cherry. No 
>>> cherry is planned. We will not be held accountable for non-delivery of said 
>>> item.
>> 
>> Now, that's odd: I'm sure the word "cherry" occurred somewhere on a web-page 
>> that has somehow, subsequently been deleted . . . .
>> 
>> 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


How script the widget Switchbutton ?

2015-10-27 Thread Ludovic THEBAULT
Hello,

I play with Livecode 8 dp7. Widget are cool but how use it ? 
If i put a switchbutton on my stack and put this script :

on mouseup
answer the hilite of me
end mouseup

nothing happen.

I cannot find any example in the doc.  

Thanks

___
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


AW: What happens when enabling Hi-DPI scaling?

2015-10-27 Thread Tiemo Hollmann TB
Thanks Mark for jumping in!
If I understood you correct, things even get crisper and not blurred with
Hi-DPI enabled on a Hi-DPI monitor and keep as they are on a standard
monitor. So my conclusion would be to enable it always by standard (since it
is anyway standard on OS X)
What could be a reason not to enable Hi-DPI scaling on Windows or with other
words, why is it an option?
Thanks
Tiemo


-Ursprüngliche Nachricht-
Von: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] Im Auftrag
von Mark Waddingham
Gesendet: Dienstag, 27. Oktober 2015 14:10
An: How to use LiveCode 
Betreff: Re: What happens when enabling Hi-DPI scaling?

On 2015-10-26 10:52, Tiemo Hollmann TB wrote:
> I don't have a Hi-DPI monitor and didn't found anything in the forum 
> about it, so I am unsure what happens with my stack if I would enable 
> this setting? What exactly happens when it says "if enabled, the stack 
> will be scaled to fit"? A Hi-Res monitor has a higher pixel density, 
> but my program windows and objects have fixed sizes in pixel. My 
> understanding is, if I don't enable this setting, my stacks will be 
> displayed smaller on a Hi-DPI monitor? Correct? And enabling this 
> setting, are they scaled to the "same appearance", as on a standard 
> monitor? Or what happens? If yes, probably images get blurred, when 
> being scaled, so you shouldn't enable this option when you use images, 
> correct?

Hi-DPI scaling makes it so that if the systems 'pixel scale' (the mapping
from virtual pixels to physical pixels) is not 1-1, the engine will
appropriately render things to use the 'extra fidelity'.

A stack which is 400x400 in LiveCode, will still appear to be 400x400 on a
Retina display, say, except that it will actually be rendering at
800x800 - making things crisper.

Depending on the version of Windows you are targetting, you can experiment
with HiDPI by adjusting the 'text scaling' option in the system preferences.

> Why is the Hi-DPI support for Windows a chooseable option and for OS X 
> it is standard since 6.7.6 (6.7.7)? Do images don't get blurred, when 
> the stack is resized on OS X? Why can't I disable this option on OS X?

Windows does not allow the runtime configuration of Hi-DPI 'pixel scaling' -
it has to be specified as part of the Applications 'manifest' 
which is integrated at standalone build time.

Mac, however, does allow toggleing configuration of Hi-DPI 'pixel scaling'
at runtime - see the 'usePixelScaling' option.

By default, the Mac engine will use as many pixels as it can - so if you
have a retina display, you will get pixel scaling (but you can turn it off -
set the usePixelScaling to false).

On Windows, by default pixel scaling is turned off, but you can choose to
use it for your app by turning it on in the standalone builder.

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 happens when enabling Hi-DPI scaling?

2015-10-27 Thread Mark Waddingham

On 2015-10-26 10:52, Tiemo Hollmann TB wrote:
I don't have a Hi-DPI monitor and didn't found anything in the forum 
about

it, so I am unsure what happens with my stack if I would enable this
setting? What exactly happens when it says "if enabled, the stack will 
be
scaled to fit"? A Hi-Res monitor has a higher pixel density, but my 
program
windows and objects have fixed sizes in pixel. My understanding is, if 
I
don't enable this setting, my stacks will be displayed smaller on a 
Hi-DPI
monitor? Correct? And enabling this setting, are they scaled to the 
"same
appearance", as on a standard monitor? Or what happens? If yes, 
probably
images get blurred, when being scaled, so you shouldn't enable this 
option

when you use images, correct?


Hi-DPI scaling makes it so that if the systems 'pixel scale' (the 
mapping from virtual pixels to physical pixels) is not 1-1, the engine 
will appropriately render things to use the 'extra fidelity'.


A stack which is 400x400 in LiveCode, will still appear to be 400x400 on 
a Retina display, say, except that it will actually be rendering at 
800x800 - making things crisper.


Depending on the version of Windows you are targetting, you can 
experiment with HiDPI by adjusting the 'text scaling' option in the 
system preferences.


Why is the Hi-DPI support for Windows a chooseable option and for OS X 
it is
standard since 6.7.6 (6.7.7)? Do images don't get blurred, when the 
stack is

resized on OS X? Why can't I disable this option on OS X?


Windows does not allow the runtime configuration of Hi-DPI 'pixel 
scaling' - it has to be specified as part of the Applications 'manifest' 
which is integrated at standalone build time.


Mac, however, does allow toggleing configuration of Hi-DPI 'pixel 
scaling' at runtime - see the 'usePixelScaling' option.


By default, the Mac engine will use as many pixels as it can - so if you 
have a retina display, you will get pixel scaling (but you can turn it 
off - set the usePixelScaling to false).


On Windows, by default pixel scaling is turned off, but you can choose 
to use it for your app by turning it on in the standalone builder.


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


AW: What happens when enabling Hi-DPI scaling?

2015-10-27 Thread Tiemo Hollmann TB
Sometimes when I don't get any answers on a post, I wonder if the reason
was, that the issue is so exotic, that nobody else has experienced it and
can't help, or that the issue is just so basic, that it is too self-evident
to answer.
I try to ask a more simple question
Do you enable "Hi-DPI scaling" in the standalone settings for windows since
6.7.7 by standard or never? (I can't test the difference myself, not having
a Hi-DPI monitor)
Thanks
Tiemo



-Ursprüngliche Nachricht-
Von: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] Im Auftrag
von Tiemo Hollmann TB
Gesendet: Montag, 26. Oktober 2015 10:52
An: LiveCode User Liste senden 
Betreff: What happens when enabling Hi-DPI scaling?

Hello,

since LC 6.7.6 or 6.7.7 you can enable Hi-DPI scaling in the standalone
builder settings for windows.

I don't have a Hi-DPI monitor and didn't found anything in the forum about
it, so I am unsure what happens with my stack if I would enable this
setting? What exactly happens when it says "if enabled, the stack will be
scaled to fit"? A Hi-Res monitor has a higher pixel density, but my program
windows and objects have fixed sizes in pixel. My understanding is, if I
don't enable this setting, my stacks will be displayed smaller on a Hi-DPI
monitor? Correct? And enabling this setting, are they scaled to the "same
appearance", as on a standard monitor? Or what happens? If yes, probably
images get blurred, when being scaled, so you shouldn't enable this option
when you use images, correct?

Why is the Hi-DPI support for Windows a chooseable option and for OS X it is
standard since 6.7.6 (6.7.7)? Do images don't get blurred, when the stack is
resized on OS X? Why can't I disable this option on OS X?

How do you handle this option? Do you always enable it?

Thanks for your experiences

Tiemo

 

 

 

 

___
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-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: Open Language and stability

2015-10-27 Thread Mark Waddingham

On 2015-10-25 12:06, Graham Samuel wrote:

The discussion about Open Language is interesting, and the idea may
well be a good thing. But I for one would rather hear that for the
actual development team, delivering a rock-solid version of LiveCode
on all supported platforms is taking a massive priority over even
thinking about this stuff. Peter Brett, can you reassure me, as a
member of the use list?


Obviously delivering a rock-solid version of LiveCode on all supported 
platforms is the most important thing. It is something I have been 
working on ensuring ever since I joined the company in 2004.


We have done many significant things over the years to help reach this 
goal - starting off in 2004 with auditing the bug database (as it was 
then) and putting the engine source code under version control.


In more recent times, we have:
   - Implemented an out-of-tree test system which is run on all new 
releases.
   - Implemented unit testing frameworks at all levels (C++, LiveCode 
Builder, LiveCode Script)
   - Started requiring tests to be added to PRs (at least for things 
which tests can currently be written for).
   - Refined our internal process for handling and managing bugs and 
issues.
   - Refined our internal process for ensuring patches to the engine are 
at the required standard.
   - Considerably raised the expected standard of code which can be 
accepted as a patch for both internal engineers and external 
contributors.
   - Instituted the requirements for code review on every single patch 
which goes in (which is a requirement - via integration with our build 
system - for a PR to be progressed).
   - Implemented an automated build system which produces LiveCode 
distributions for all platforms.
   - Implemented integration of the build system with GitHub, enabling 
easy communication of build failures.
   - Implemented continuous integration of all Pull Requests, ensuring 
that one will not be merged if it does not build on all platforms.
   - Working towards running the unit test stack on each PR as part of 
continuous integration.


One of the goals of the 7.0 refactor was to move a very old, 
undocumented, difficult to maintain and spaghetti-like code forward to a 
new model which is cleaner, easier to maintain and more amenable to use 
in the ways we need it to be to move the platform forward (indeed, it 
has been a 'happy' side-effect that in doing this process the actual 
semantics of what things are meant to do has become a great deal clearer 
- the code itself in many cases is now almost documentation in and of 
itself - assuming you can 'read the runes' in that regard). Of course, 
this process alone has been quite long and difficult - but well worth 
the effort in terms of what it will enable moving forward.


However, please understand, that we would be entirely remiss if we spent 
no time at all thinking about how the LiveCode technology needs to 
evolve and change as we move into the future. A lot of what we have 
planned has taken a long time to work out how to do, even before we've 
actually started to do it. Indeed, future direction *hugely* impacts the 
choices you make in the present.


The pace at which computers and software technology evolves is 
breath-taking, so unless you want to be relegated to the warehouse of 
great ideas which never quite got there (as so many 4GLs have), you find 
yourself in an eternal juggling act between ensuring you definitely have 
a future, and ensuring that you have a present...


Needless to say, this is not an easy task, but certainly one which 
brings with it a wealth of interesting problems.


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-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-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-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-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 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-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 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-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 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-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 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 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-25 00:05, Geoff Canyon wrote:
On Sat, Oct 24, 2015 at 5:42 PM, Monte Goulding 

wrote:

...

repeat for each line tLine in tText with counter tCounter
repeat for 10 with counter tCounter
repeat with tIndex = 1 to 10 step 2 with counter tCounter
repeat while condition with counter tCounter
repeat forever with counter tCounter

...




The beauty of open language (in my dreams, perhaps not the spec) would 
be

that:

1. No one would have to dig into the engine to implement something like
this.


That is precisely the point.


2. You could release your "counter" version, I could release my "index"
version, and the community would decide which they prefer and go with 
that.

(or both).


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.


Even if they did conflict, they would be able to choose on a per-script 
basis, or even on a per-line basis by using a single disambiguation 
token.



3. And neither 1 nor 2 precludes something like this achieving critical
mass such that the engine maintainers decide to put it in the engine
directly.


It wouldn't ever need to get 'put in the engine' - Open Language will 
allow a degree of modularity which cannot currently be achieved. It is 
the last piece of the puzzle to make LiveCode truly extensible. Indeed, 
what the 'engine' eventually becomes under this plan is just the glue 
which does all the heavy-lifting to unify all the language-defining 
modules together which an application uses.


Now, of course, in such a scenario there would be a need for the idea of 
'Standard LiveCode' - which is essentially what 'elevating to the 
engine' would become.


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


AW: show/hide or open/close stack. What is good practice?

2015-10-27 Thread Tiemo Hollmann TB
Hi Jacque,
thanks for your experience, good to know.
Tiemo

-Ursprüngliche Nachricht-
Von: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] Im Auftrag
von J. Landman Gay
Gesendet: Montag, 26. Oktober 2015 22:37
An: How to use LiveCode 
Betreff: Re: show/hide or open/close stack. What is good practice?

On 10/26/2015 3:50 AM, Tiemo Hollmann TB wrote:
> if I have stacks, which are frequently shown, like dialog windows, 
> what is good practice. Open once and only show/hide, when using? Or 
> should you close those kind of stacks always and toplevel/modal them 
> again every time when needed? When I need to change anything in those 
> stacks on the fly, like button labels, I open them only once and hide/show
them when needed.
>
> Is this just a personal preference or is there a guideline on "how to" 
> in LC?

It's mostly personal preference, but it depends on whether the stacks are
substacks or not.

Substacks are always in RAM whether they are open or not, so it doesn't
matter whether you close them or hide them.

Independent stacks take up RAM so if they are no longer needed I usually
close and delete them.

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


___
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