The humble Substack
Graham Samuel
livfoss at mac.com
Mon Nov 18 11:43:16 EST 2013
Hi Richard
I've been following this conversation, but I don't see a mail from Mark. Maybe it's a timezone problem. Could you kindly forward it to the list?
TIA
Graham
On 18 Nov 2013, at 14:51, Richard Gaskin wrote:
> Cal Horner wrote:
>
>> When a combination mainstack/substack(s) application is compiled into a
>> standalone, how much of substack is converted from an interpreted
>> environment into a compiled application?
>
> As Mark noted, a standalone is essentially just a copy of the stackfile with the runtime engine embedded into it. So it's "compiled" only in the dictionary sense of the word, as in "combined".
>
> In the Computer Science sense of "compiled", meaning translated to native machine instructions executable by the CPU, that happens dynamically whenever the message path is changed.
>
> So as Mark noted, when opening a stack the engine unpacks the object structures and sets up the message path, and at that point the scripts are tokenized into a compact bytecode format for easy translation by the engine to the native machine-code instructions as the script is run.
>
> But this tokenization, or first-pass compilation, also occurs when setting the script property of an object, or using any of the fully-dynamically-compiled expressions like do, call, send, or dispatch.
>
> In this regard I like to think of LC as being more akin to a virtual machine than a common app, very much like Dalvik or Java in the way it maintains platform-independence of the code until runtime.
>
> --
> Richard Gaskin
> Fourth World
> LiveCode training and consulting: http://www.fourthworld.com
> Webzine for LiveCode developers: http://www.LiveCodeJournal.com
> Follow me on Twitter: http://twitter.com/FourthWorldSys
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
More information about the use-livecode
mailing list