Reduced ScriptLimits

Something you want to see in a LiveCode product? Want a new forum set up for a specific topic? Talk about it here.

Moderator: Klaus

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 10043
Joined: Sat Apr 08, 2006 7:05 am
Contact:

Re: Reduced ScriptLimits

Post by FourthWorld » Thu Oct 04, 2012 11:40 pm

You sound like the ideal candidate to be poking around in Linux. In Ubutu (and some other distros) Python is targeted as the universal scripting language, and it's quite capable as well as being dynamically compiled.

Not to say LiveCode isn't a great way to explore these kinds of idea also, since of course it is, as you've found.

But with Linux and its native free, and open languages you may be able to find a very satisfying blend of parts and pieces you can combine and recombine in infinite varieties, and do so closer to the iron.

That said, as long as you're using LC there may be some things we can learn from the Linux world to aid your LC explorations.

For example, in Linux the kernel contains not only the core but also has most I/O drivers compiled into it. This eliminates the possibility of conflicts between the kernel and driver versions, and means you get the whole batch of essentials in a single package.

One can map the benefit of this approach in LC by considering the addition of a script concatenator to your toolkit, which would assemble groups of related scripts into a single script for deployment, simplify both the number of deployable files and reducing the number of available slots needed.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

SirWobbyTheFirst
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 246
Joined: Tue Jun 30, 2009 11:15 pm

Re: Reduced ScriptLimits

Post by SirWobbyTheFirst » Thu Oct 04, 2012 11:50 pm

As of this moment, I've got a little library that I call the Platform Abstraction Library (PAL for short) that does the job of providing portability between host OS' and their versions, for example when loaded initially I use the Dispatch Function command to call the NtLibraryLoaded() function in the library which in turn performs some operations to collect information I know won't change whilst LiveCode is running, I.E. how many processors are available and what kind of processor is available such as x86 or AMD64.

It also acts as the path translator, for example formatting file paths to use / instead of backslash and has a variant available for each platform, I know I could put this stuff in the actual kernel itself, but I like to bring as much genuine OS like behavior to the system as possible. Speaking of behaviors, I plan on making use of the behavior of the main stack to implement additional APIs into the system aside from the normal system wide API.

I can explain further if you wish. At the moment, the hardest part would be writing the code to implement certain controls for a window manager, everything else, I've got years of experience writing those. I also plan on building in hibernation support, just like how the big guys do it.

Post Reply