Hi Skip,

I’m surprised no one has taken a stab at answering this. I'm certainly no 
expert on the internal workings of LC or compilers but I can take a stab at 
articulating what I think the answer is, and when I get it wrong someone else 
can jump in to correct me (I should probably know this stuff better anyway).

So if I am correct, the current environment converts LC script into some sort 
of (possibly binary) tree structure that is better organised to be executed by 
the LC engine. The engine is a big chunk of what I think is mostly Obj C (or 
some relative thereof) code that interprets the tree structures created in the 
first phase. So I guess that makes it sort of compiled? Compiled to execute 
in/on the LC engine, but also interpreted because the tree code is not executed 
on the target platform directly but is interpreted by the engine to generate 
the final executable result. 

As far as the script compiler project is concerned, I believe the goal is to 
create a byte code stream that can be interpreted more efficiently by (a 
possibly new?) engine. Not sure about the new engine part, but the idea is the 
tree structure thing goes away and in its place is a linear stream of byte 
codes that can both be executed more effiencetly but also optimised more fully. 
This particular byte stream (and here I’m going way outside my wheelhouse) is 
similar to what other compilers like Java, Python, (Pascal? — which I do know 
was a byte code compiled run time interpreted language… although companies like 
Borland eventually wrote Pascal compilers that executed directly on the target 
platform without any interpretation) produce. So, it would bring the LC 
compiled code more in line with what other compilers are producing which means 
post compilation the code could be optimised more completely using well 
developed industry standard approaches. And so everything ends up a little 
smaller and faster but it also opens the door to doing other things with the 
script code down the road. 

Well, that's my take on Mark Waddinghams’ most recent seminar on this topic. 
But he assuredly can fill you in much better than I can.

Cheers,
Mark



> On 28 May 2023, at 3:54 pm, Skip Kimpel via use-livecode 
> <use-livecode@lists.runrev.com> wrote:
> 
> Wait… what?  I have been away from this list for a while, LC is not currently 
> compilable??
> 
> SKIP
> 
>> On May 27, 2023, at 4:39 PM, harrison--- via use-livecode 
>> <use-livecode@lists.runrev.com> wrote:
>> 
>> Hi Skip,
>> 
>> Doubtful.  I would wait until after we have a compilable version of LC and 
>> then it will be more possible.
>> 
>> Rick
>> 
>>> On May 27, 2023, at 12:26 PM, Skip Kimpel via use-livecode 
>>> <use-livecode@lists.runrev.com> wrote:
>>> 
>>> Has anybody done anything with LC and AR?
>>> 
>>> Curious minds want to know :)
>>> 
>>> SKIP
>> 
>> _______________________________________________
>> 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

Reply via email to