Writing Extensions

Mark Wieder ahsoftware at sonic.net
Thu May 18 16:08:23 EDT 2017

On 05/18/2017 10:57 AM, Mark Waddingham via use-livecode wrote:
> On 2017-05-18 18:18, Mark Wieder via use-livecode wrote:
>> That's unfortunate. It means that, aside from distributing the widget
>> source code, compiled widgets are bound to a specific LC version with
>> no guarantee that they will work with any other past or future
>> version. Does 'major version' here mean 9.x or 9.0.x? Can I assume
>> that the binary format will stay the same across all LC9.x releases?
> I'm not sure it as much of a problem as it first appears to be - because
> much the same is true of LiveCode Script.
> If you write a script in 9 which uses features of 9, it will not work in
> any version less than 9.

Yes, but that's comparing two different things. I'm concerned about the 
differing binary formats, not the source compatibility. I'm stuck if I 
want to distribute an easy-to-use extension (widget or library) for 
others to use. My alternative is to distribute the source and say "here 
you go... compile and install it yourself. And remember to do that again 
when the next major version of LC comes out or it won't work any more."

> The point is the whole problem can be sufficiently solved quite well
> with better tooling (which we are aware we need to work on); and in the
> future can be solved completely using a little bit of cleverness and
> exploiting the way LCB has been implemented.

Cool. That sounds promising.

>> I have to say I'm surprised that we're still at this state of things
>> so far after the fanfare introduction of extensions.
> It is important to remember that LCB has only been in development (on
> and off) for about 2 1/2 years at this point. Rust has taken over 7 to
> get to source-compatibiliy stage (IIRC), and Swift broke source
> compatibility at least twice I think since its launch - so I don't think
> we are doing too badly (particularly when you compare the size of
> Mozilla, Apple and us... I'll leave you guys to do the math there).

I *don't* think we're doing badly in the realm of source-code 
compatibility. I never intended to imply that. Sorry if I gave that 

To be fair about your comparisons, Rust only reached 1.0.0 stage two 
years ago. My statement there was more about that fact that given all 
the hoopla that accompanied the announcement of LCB, extensions, and the 
Way Forward, the state of the resources and environment for extension 
development seems pretty fragile at this point.

> And on a slightly tongue-in-cheek note: I'm surprised after 26 years,
> the linux world has not solved its binary compatibility problem. Indeed,
> they don't seem to care about it one bit - even though it causes huge
> amounts of wasted effort for any organisation daring to consider
> distributing *binary only* applications. God forbid! (Also, the further
> you move away from glibc in the Linux stack, the worse things get in
> terms of source compatibility too...) ;)

Heh. The nice thing about linux is there are so many to choose from...

  Mark Wieder
  ahsoftware at gmail.com

More information about the Use-livecode mailing list