[ANN] Idle Script - pre-alpha release

classic Classic list List threaded Threaded
25 messages Options
12
Reply | Threaded
Open this post in threaded view
|

[ANN] Idle Script - pre-alpha release

Thomas Lauer-3
Folks, this is a pre-announcement for a package I will release later
next week to a broader audience. Idle is basically a script language
based on Lua. I am trying to iron out any howlers and remaining glitches
before releasing it, so anyone who is interested in this sort of
thing... please have a look (the current pre-alpha release is Windows
only) and drop me a note if you run into problems.

I realise that many, if not most, participants in this list are not
exactly part of my target audience but at least you'll know the
language;-)

---- snip ----

Idle is a scripting language based on the Lua core. It includes a few
extensions to the language but the main difference to Lua is the
integration of an extensive runtime library and the included compiler.

The project is focused on producing a small but powerful scripting
language that is easy to deploy and easy to use and that can produce
small, portable executable files. (Of course, it is always possible to
run Idle scripts through the interpreter.)

To this end the Idle compiler creates .exe files which only depend on
the Idle runtime DLL (which weighs in at less than 160 KB). A script of,
say, 50 KB will produce an executable of roundabout 35 to 40 KB that can
be run on other machines without the need of installing anything.

Idle supports the following features out of the box:

* full Perl-compatible regular expressions
* many operating system additions like file locking, directory walking,
  pipes, process creation, ...
* networking and sockets
* simple macro processing
* fully transparent reading of files and Idle code from inside archives
  (.zip and .7z archive types)
* dynamic call facility allows arbitrary calls into external DLLs
* interface to Perl and Tiny C
* multi-threading allows multiple Idle tasks running in parallel
* Win32 API functions (clipboard, registry, ...)
* and more.

Some of the functionality is based on existing products and libraries
(mostly Lua itself, the PCRE regular expression library, LuaSocket and
PhysicsFS).

This pre-alpha release is only available for systems running Windows
2000 and later versions.

More information, downloads and preliminary documentation:
http://idle.thomaslauer.com

---- snap ----

-- 
cheers  thomasl

web : http://thomaslauer.com/start


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Luiz Henrique de Figueiredo
> Idle is basically a script language based on Lua.

 From the docs, it seems to me that Idle *is* Lua. Questions #3 and #4
 in http://idle.thomaslauer.com/IdleFAQ.html imply that Idle is Lua plus
 a few extensions. I'm not sure this warrants a new name. I think you
 and all of us would be better served with a name containing 'Lua' or
 something related to it in it.
 --lhf

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Thomas Lauer-3
Luiz Henrique de Figueiredo <[hidden email]> wrote:
> > Idle is basically a script language based on Lua.
> 
>  From the docs, it seems to me that Idle *is* Lua. Questions #3 and #4
>  in http://idle.thomaslauer.com/IdleFAQ.html imply that Idle is Lua plus
>  a few extensions. I'm not sure this warrants a new name. I think you
>  and all of us would be better served with a name containing 'Lua' or
>  something related to it in it.

Well, that's one of the areas where it gets murky. My understanding (and
firm expectation) is that something that ends with .lua MUST run with a
standard lua interpreter/compiler. Naming a file xyz.lua promises in
effect that inside xyz.lua is genuine Lua, nothing more and nothing
less.

However, any non-trivial Idle program will NOT run with standard Lua.
This starts with the (*currently* relatively minor) language extensions,
but the main point of difference is the runtime library. One function,
and you're doomed:-). The interdependence between the various layers is
just too complex to have this run with standard Lua. I tried pretty hard
to achieve that but I failed relatively early in development. Either the
problem is too hard or I am too dumb. Or both;-).

Plus there are some things that I had to change internally (i.e. in Lua)
that may or may not create nasty problems with a standard Lua binary.

At any rate, Idle (the interpreter and compiler) is a greedy beast: it
will devour whatever you hand it, whether that's called .lua or .idle or
.longestextensionintheworld. So anyone not happy with that extension can
easily change this in his or her setup. Or stick with Lua.

Because, last but not least, the main audience for Idle, as I wrote in
my post, is not necessarily the Lua aficionado. Most people on the list
can and have and will tweak Lua until it fits. Many others, most of whom
may never have heard of Lua, can't.

Well, my 2c.

-- 
cheers  thomasl

web : http://thomaslauer.com/start


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Luiz Henrique de Figueiredo
> Well, that's one of the areas where it gets murky. My understanding (and
> firm expectation) is that something that ends with .lua MUST run with a
> standard lua interpreter/compiler.

I don't quite feel as strongly about this but by all means call your
scripts .idle. My point is why duplicate the reference manual, changing
all references to Lua into Idle? Just write a much smaller reference
manual that lists and discussed the differences and extensions.

Products like WoW embed Lua and export different functions to Lua but
that doesn't mean they're not using Lua...

--lhf

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Luís Santos
In reply to this post by Thomas Lauer-3
Although I found the project very interesting (and with a cool name too..), sounds to me you´re playing a very dangerous game.
Either you will become popular and benefit from Lua´s popularity for being lua-related, or you will be cast aside for not being completely Lua compatible.
That scenario becomes even uglier when you have a lot of community-supported modules built for Lua - that might not be compatible with Idle (since your main efforts, as I see, are not aiming for compatibility).

In any case, I am afraid you´re dividing efforts - one of the main dangers in the free software world.

I am pretty sure a lot of people will welcome your work to introduce new features into Lua, but would also love to see them pluggable into the standard Lua virtual machine.
Maybe in a future version of Lua (with better suport for extending the interpreter and compiler) the average Lua bundle might very well achieve the same level of functionality as Idle, with a few packages installed under the sound of rolling Rocks.. :-)

Anyway, congratulations on what seems to be a very nice work.

Thomas Lauer escreveu:
Luiz Henrique de Figueiredo [hidden email] wrote:
  
Idle is basically a script language based on Lua.
      
 From the docs, it seems to me that Idle *is* Lua. Questions #3 and #4
 in http://idle.thomaslauer.com/IdleFAQ.html imply that Idle is Lua plus
 a few extensions. I'm not sure this warrants a new name. I think you
 and all of us would be better served with a name containing 'Lua' or
 something related to it in it.
    

Well, that's one of the areas where it gets murky. My understanding (and
firm expectation) is that something that ends with .lua MUST run with a
standard lua interpreter/compiler. Naming a file xyz.lua promises in
effect that inside xyz.lua is genuine Lua, nothing more and nothing
less.

However, any non-trivial Idle program will NOT run with standard Lua.
This starts with the (*currently* relatively minor) language extensions,
but the main point of difference is the runtime library. One function,
and you're doomed:-). The interdependence between the various layers is
just too complex to have this run with standard Lua. I tried pretty hard
to achieve that but I failed relatively early in development. Either the
problem is too hard or I am too dumb. Or both;-).

Plus there are some things that I had to change internally (i.e. in Lua)
that may or may not create nasty problems with a standard Lua binary.

At any rate, Idle (the interpreter and compiler) is a greedy beast: it
will devour whatever you hand it, whether that's called .lua or .idle or
.longestextensionintheworld. So anyone not happy with that extension can
easily change this in his or her setup. Or stick with Lua.

Because, last but not least, the main audience for Idle, as I wrote in
my post, is not necessarily the Lua aficionado. Most people on the list
can and have and will tweak Lua until it fits. Many others, most of whom
may never have heard of Lua, can't.

Well, my 2c.

  

--
Luís Eduardo Jason Santos
Coordenador Técnico
IT Quality Systems
[hidden email]
[21]2242-7959 ramal 49


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Thomas Lauer-3
In reply to this post by Luiz Henrique de Figueiredo
Luiz Henrique de Figueiredo <[hidden email]> wrote:

> > Well, that's one of the areas where it gets murky. My understanding (and
> > firm expectation) is that something that ends with .lua MUST run with a
> > standard lua interpreter/compiler.
> 
> I don't quite feel as strongly about this but by all means call your
> scripts .idle.

You know your way around, know how to deal with a .lua script that seems
to have a bug but is in fact correct Idle. So for you, this small
difference is not a big deal.

Many other people I have worked with over the years need hand-holding on
a scale that is difficult to comprehend for Real Programmers [tm].

> My point is why duplicate the reference manual, changing
> all references to Lua into Idle? Just write a much smaller reference
> manual that lists and discussed the differences and extensions.

In an ideal world, I'd do just that. But Idle is for real people who
want something simple but powerful. Given that most real people have a
strained relationship with user manuals and documentation I just think
that this approach won't work well in the long run. A user who's faced
with a completely new language probably doesn't want to search bits and
pieces of the manuals from here and there.

It's not that I do not see your point. But for me the (prospective)
users are the Absolute Kings and Queens (this includes people who are
not programmers in any sense of the word). My take is that I have to
make all this as simple and smooth as possible.

-- 
cheers  thomasl

web : http://thomaslauer.com/start


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Thomas Lauer-3
In reply to this post by Luís Santos
Luís Santos <[hidden email]> wrote:

> Although I found the project very interesting (and with a cool name 
> too..), sounds to me you´re playing a very dangerous game.
> Either you will become popular and benefit from Lua´s popularity for 
> being lua-related, 

That's fine with me;-)

> or you will be cast aside for not being completely Lua compatible.

That's fine as well. I am doing this mostly because I need it myself (or
just because I want to have it). Some people write books, others tend a
garden. I do Idle.

The main audience for such a project (at least as I conceived it) may
never have even heard of Lua, much less be concerned with questions of
compatibility. As I said in another post, everybody who is concerned
with these things should by all means stick with Lua.

> In any case, I am afraid you´re dividing efforts - one of the main 
> dangers in the free software world.

It's a danger but also an opportunity. The thing is either you do
something or you don't. There are already long threads in the list about
extending the runtime library, about what should go into it and what
shouldn't, about Posix support and Windows features, et cetera. These
are important discussions, no question, but at some point there has to
be action. (I am probably simply too impatient, always was.)

> I am pretty sure a lot of people will welcome your work to introduce new 
> features into Lua

That's not at all what Idle is about.

> but would also love to see them pluggable into the 
> standard Lua virtual machine.

No problem. I could at some point try to create a pluggable version. The
main thing is that the current Lua sources would need some changes
(nothing earth-shattering, mind you) to enable them to run (with) the
Idle libraries.

(I have a rough-and-tumble version that more or less runs with standard
Lua but I just HATE the idea that subtle differences between the way the
two binaries do their respective jobs might wreak havoc on unsuspecting
users. These things can introduce bugs that are nearly impossible to
track down.)

We'll see.

-- 
cheers  thomasl

web : http://thomaslauer.com/start


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Stephen Kellett
Thomas Lauer wrote:
(I have a rough-and-tumble version that more or less runs with standard
Lua but I just HATE the idea that subtle differences between the way the
two binaries do their respective jobs might wreak havoc on unsuspecting
users. These things can introduce bugs that are nearly impossible to
track down.)

If you have that version then it seems to me that before you get to V1.0 (at which point you wouldn't want to change things) you should put your work into making that version work.

I haven't had a chance to run the Idle binaries past the Lua Validator's from Software Verification - it would be nice if the debug facilities in Lua work with Idle, then idle will have software tool support right from the start.

Stephen


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Stefan Sandberg
In reply to this post by Thomas Lauer-3
Um,. the way I see it, you've just bundled lua with some available libs, and tweaked that a bit.. There's nothing wrong with creating a "product" named Idle, which uses lua and some of it's modules, but I really don't see the purpose of calling the language anything but lua, since it IS lua. Ie, the 'package' that you have created may be called 'Idle', 'Bobs Mix' or 'Bunch'of'stuff', but not the language, because that is still lua.

I also don't understand what particular magic would take place from a name change from "lua" to "idle" that would make it somehow easier for users?
They still need to learn lua anyway, so what's the difference?


Thomas Lauer wrote:
Luiz Henrique de Figueiredo <[hidden email]> wrote:

Well, that's one of the areas where it gets murky. My understanding (and
firm expectation) is that something that ends with .lua MUST run with a
standard lua interpreter/compiler.
I don't quite feel as strongly about this but by all means call your
scripts .idle.

You know your way around, know how to deal with a .lua script that seems
to have a bug but is in fact correct Idle. So for you, this small
difference is not a big deal.

Many other people I have worked with over the years need hand-holding on
a scale that is difficult to comprehend for Real Programmers [tm].

My point is why duplicate the reference manual, changing
all references to Lua into Idle? Just write a much smaller reference
manual that lists and discussed the differences and extensions.

In an ideal world, I'd do just that. But Idle is for real people who
want something simple but powerful. Given that most real people have a
strained relationship with user manuals and documentation I just think
that this approach won't work well in the long run. A user who's faced
with a completely new language probably doesn't want to search bits and
pieces of the manuals from here and there.

It's not that I do not see your point. But for me the (prospective)
users are the Absolute Kings and Queens (this includes people who are
not programmers in any sense of the word). My take is that I have to
make all this as simple and smooth as possible.



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Michael Broughton
In reply to this post by Thomas Lauer-3
Thomas Lauer wrote:

You know your way around, know how to deal with a .lua script that seems
to have a bug but is in fact correct Idle. So for you, this small
difference is not a big deal.

What if one of your users decides they need an extension which is not already supported in Idle? You can see how this kind of thing might lead to the same issue, no? Thus, you are not actually solving the problem.

Many other people I have worked with over the years need hand-holding on
a scale that is difficult to comprehend for Real Programmers [tm].

I think the members of this mailing list, and the Lua community in general do an excellent job of helping new users with their problems. Why not take advantage of this? It seems like everything you are trying to do here is in competition with Lua (I realize this is probably not your intention), when you really should be working with Lua.


In an ideal world, I'd do just that. But Idle is for real people who
want something simple but powerful. Given that most real people have a
strained relationship with user manuals and documentation I just think
that this approach won't work well in the long run. A user who's faced
with a completely new language probably doesn't want to search bits and
pieces of the manuals from here and there.

This sounds like it will be a pain in the butt to maintain.

One thing to keep in mind, most of your green users (even the ones that will eventually become 'real programmers') do not learn to program by reading documentation. They learn by example. I think this is where you should be focusing your efforts.

Mike





Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Thomas Lauer-3
In reply to this post by Stephen Kellett
Stephen Kellett <[hidden email]> wrote:
> Thomas Lauer wrote:
> > (I have a rough-and-tumble version that more or less runs with standard
> > Lua but I just HATE the idea that subtle differences between the way the
> > two binaries do their respective jobs might wreak havoc on unsuspecting
> > users. These things can introduce bugs that are nearly impossible to
> > track down.)
> 
> If you have that version then it seems to me that before you get to V1.0 
> (at which point you wouldn't want to change things) you should put your 
> work into making that version work.

There's in fact not much I can do. I can detail the things that make up
the differences between my binaries (which are at the current early
stage a moving target anyway) and the official Lua binaries.

I think it's a very good thing that the Lua team keeps a firm lid on
changes in the official distribution. That was exactly why I chose to
have a clean break.

> I haven't had a chance to run the Idle binaries past the Lua Validator's 
> from Software Verification - it would be nice if the debug facilities in 
> Lua work with Idle, then idle will have software tool support right from 
> the start.

I'd be amazed if 3rd-party products that work with the Lua binaries
also work with the Idle binaries out-of-the-box. There's a high degree
of external compatibility but internally there are some significant
differences. But I will do whatever I reasonably can do to make this as
compatible as possible on all levels.

-- 
cheers  thomasl

web : http://thomaslauer.com/start


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Thomas Lauer-3
In reply to this post by Stefan Sandberg
Stefan Sandberg <[hidden email]> wrote:

> There's nothing wrong with creating a "product" named Idle, which uses 
> lua and some of it's modules, but I really don't see the purpose of 
> calling the language anything but lua, since it IS lua. Ie, the 
> 'package' that you have created may be called 'Idle', 'Bobs Mix' or 
> 'Bunch'of'stuff', but not the language, because that is still lua.

It is. However, a language definition is one thing. A "product" (as you
wrote) is a different thing. I should and will make that clearer in the
documentation.

The following two-liner is valid Idle but both lines simply won't work
on standard Lua.
> arg:print()
> return 125

So let's just agree to disagree. 

-- 
cheers  thomasl

web : http://thomaslauer.com/start


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Thomas Lauer-3
In reply to this post by Michael Broughton
Michael Broughton <[hidden email]> wrote:
> Thomas Lauer wrote:
> > You know your way around, know how to deal with a .lua script that seems
> > to have a bug but is in fact correct Idle. So for you, this small
> > difference is not a big deal.
> 
> What if one of your users decides they need an extension which is not 
> already supported in Idle?

The sort of user I am (mostly) imagining will not normally have this
specific problem. Of course, I may be completely wrong and if they have,
there are some possibilities:

* if the extension is of general interest (always good for lengthy
debates, this question), I might include it in the core.

* someone else might (have) include(d) it.

* and anyway, if the extension works with Lua there is a good chance
that it'll work with Idle as well. There will be some tweaks required
but it should work in the end.

> You can see how this kind of thing might lead 
> to the same issue, no? Thus, you are not actually solving the problem.

Idle was probably not designed to solve this problem (I say probably,
because I am not too sure what problem you're talking about).

It is there to solve one specific -- I might even say narrow -- problem
I was having. And it does that (more or less, currently). It may help
other people with similar requirements. Simple as that.

It will not and cannot solve all problems.

> Why not take advantage of this? It seems like everything you are trying 
> to do here is in competition with Lua (I realize this is probably not 
> your intention), when you really should be working with Lua.

Good grief. But sure, that's one way of seeing it. Just ignore Idle
then... the world is such a big place.

(Hey, this reminds me of 'This town ain't big enough for the two of us',
old Sparks hit... early 70s or so. Haven't thought of that one for
ages;-)

> > In an ideal world, I'd do just that. But Idle is for real people who
> > want something simple but powerful. Given that most real people have a
> > strained relationship with user manuals and documentation I just think
> > that this approach won't work well in the long run. A user who's faced
> > with a completely new language probably doesn't want to search bits and
> > pieces of the manuals from here and there.
> 
> This sounds like it will be a pain in the butt to maintain.

Fortunately, Lua is pretty stable these days. (That's actually one of
the things that gave me the confidence that such a project might be
feasible.)

But yeah, in a way I do agree, there will be some pain. However, as long
as it's my butt that's doing all the hurting that's okay... my father
has seen to that. (Not that you get the wrong impression: when I was a
child a good whacking every now and then was not unheard (literally)
of.)

-- 
cheers  thomasl

web : http://thomaslauer.com/start


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Stefan Sandberg
"Lua is pretty stable these days"  <-- ??

Has it ever not been stable? And, isn't it far beyond "pretty" stable?


Thomas Lauer wrote:
Michael Broughton <[hidden email]> wrote:
Thomas Lauer wrote:
You know your way around, know how to deal with a .lua script that seems
to have a bug but is in fact correct Idle. So for you, this small
difference is not a big deal.
What if one of your users decides they need an extension which is not already supported in Idle?

The sort of user I am (mostly) imagining will not normally have this
specific problem. Of course, I may be completely wrong and if they have,
there are some possibilities:

* if the extension is of general interest (always good for lengthy
debates, this question), I might include it in the core.

* someone else might (have) include(d) it.

* and anyway, if the extension works with Lua there is a good chance
that it'll work with Idle as well. There will be some tweaks required
but it should work in the end.

You can see how this kind of thing might lead to the same issue, no? Thus, you are not actually solving the problem.

Idle was probably not designed to solve this problem (I say probably,
because I am not too sure what problem you're talking about).

It is there to solve one specific -- I might even say narrow -- problem
I was having. And it does that (more or less, currently). It may help
other people with similar requirements. Simple as that.

It will not and cannot solve all problems.

Why not take advantage of this? It seems like everything you are trying to do here is in competition with Lua (I realize this is probably not your intention), when you really should be working with Lua.

Good grief. But sure, that's one way of seeing it. Just ignore Idle
then... the world is such a big place.

(Hey, this reminds me of 'This town ain't big enough for the two of us',
old Sparks hit... early 70s or so. Haven't thought of that one for
ages;-)

In an ideal world, I'd do just that. But Idle is for real people who
want something simple but powerful. Given that most real people have a
strained relationship with user manuals and documentation I just think
that this approach won't work well in the long run. A user who's faced
with a completely new language probably doesn't want to search bits and
pieces of the manuals from here and there.
This sounds like it will be a pain in the butt to maintain.

Fortunately, Lua is pretty stable these days. (That's actually one of
the things that gave me the confidence that such a project might be
feasible.)

But yeah, in a way I do agree, there will be some pain. However, as long
as it's my butt that's doing all the hurting that's okay... my father
has seen to that. (Not that you get the wrong impression: when I was a
child a good whacking every now and then was not unheard (literally)
of.)



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Thomas Lauer-3
Stefan Sandberg <[hidden email]> wrote:
> "Lua is pretty stable these days"  <-- ??
> 
> Has it ever not been stable? And, isn't it far beyond "pretty" stable?

In the context I was talking about the language stability, not bugs.

-- 
cheers  thomasl

web : http://thomaslauer.com/start


Reply | Threaded
Open this post in threaded view
|

RE: [ANN] Idle Script - pre-alpha release

Vijay Aswadhati
In reply to this post by Thomas Lauer-3
On Friday, July 13, 2007 6:08 AM, Thomas Lauer wrote:

> Stefan Sandberg <[hidden email]> wrote:
> 
>> There's nothing wrong with creating a "product" named Idle,
>> which uses lua and some of it's modules, but I really don't see
>> the purpose of calling the language anything but lua, since it
>> IS lua. Ie, the 'package' that you have created may be called
>> 'Idle', 'Bobs Mix' or 'Bunch'of'stuff', but not the language,
>> because that is still lua. 
> 
> It is. However, a language definition is one thing. A "product"
> (as you 
> wrote) is a different thing. I should and will make that clearer
> in the documentation. 
> 
> The following two-liner is valid Idle but both lines simply
> won't work on standard Lua. 
>> arg:print()
>> return 125
> 
> So let's just agree to disagree.

Someday I may regret this but from all the responses I have seen
from the creator of Idle, my subtext parsing engine is telling me
that 'Idle' wants to be a fork!

And that is Ok by me (not that Idle needs my approval):
- as long as we call a spade a spade
- Idle is compliant with the license of Lua

I understand the pressures of developing a product. Patching Lua and
keeping my main development trunk as a set of patches to be merged
into the official Lua core to 'make' my product doesn't make sense
to me.

I saw this one coming for a long time.

I second it: Let's just agree to disagree.

-- Vijay





Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

KHMan
Vijay Aswadhati wrote:
> On Friday, July 13, 2007 6:08 AM, Thomas Lauer wrote:
>> Stefan Sandberg <[hidden email]> wrote:
>> [snip]
>> So let's just agree to disagree.
> 
> Someday I may regret this but from all the responses I have seen
> from the creator of Idle, my subtext parsing engine is telling me
> that 'Idle' wants to be a fork!
> 
> And that is Ok by me (not that Idle needs my approval):
> - as long as we call a spade a spade
> - Idle is compliant with the license of Lua
> 
> I understand the pressures of developing a product. Patching Lua and
> keeping my main development trunk as a set of patches to be merged
> into the official Lua core to 'make' my product doesn't make sense
> to me.
> 
> I saw this one coming for a long time.
> 
> I second it: Let's just agree to disagree.

I'll second your sentiments, I agree completely with Vijay. It seems like practically everybody is jumping onto the scripting language bandwagon. Everybody wants to create and lead a new, hot, spiffy, scripting language. Lots of people are taking Lua as a starting point for this purpose. Everybody wants to be the next Guido. :-)

Scripting languages with a strong marketing push from their creators are cheaper than a dime a dozen these days. But there's only so much the market can take.

I'll wish the creator of Idle good luck all the same, but honestly speaking, I don't think he will achieve widespread adoption. While Lua is an incredibly practical language, it's not fashionable... Of course, on this list we all know it works and it's great, but it's hard to market Lua to a market enamoured with languages like Ruby and Python. Fashion does not always reward engineering excellence.

If the creator of Idle wants to be successful, I do believe he will need a strong Reality Distortion Field. I'm serious, because the language must be Larger Than Life. As for me, I'd rather support Lua and help build Lua's community.

-- 
Cheers,
Kein-Hong Man (esq.)
Kuala Lumpur, Malaysia

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Hisham Muhammad
In reply to this post by Vijay Aswadhati
On 7/13/07, Vijay Aswadhati <[hidden email]> wrote:
On Friday, July 13, 2007 6:08 AM, Thomas Lauer wrote:

> Stefan Sandberg <[hidden email]> wrote:
>
>> There's nothing wrong with creating a "product" named Idle,
>> which uses lua and some of it's modules, but I really don't see
>> the purpose of calling the language anything but lua, since it
>> IS lua. Ie, the 'package' that you have created may be called
>> 'Idle', 'Bobs Mix' or 'Bunch'of'stuff', but not the language,
>> because that is still lua.
>
> It is. However, a language definition is one thing. A "product"
> (as you
> wrote) is a different thing. I should and will make that clearer
> in the documentation.
>
> The following two-liner is valid Idle but both lines simply
> won't work on standard Lua.
>> arg:print()
>> return 125

And the following won't work in standard Lua unless I call it with -lmd5:

print(md5.sumhexa("hello"))

Personally, I don't think this makes it a different language.

Someday I may regret this but from all the responses I have seen
from the creator of Idle, my subtext parsing engine is telling me
that 'Idle' wants to be a fork!

And that is Ok by me (not that Idle needs my approval):
- as long as we call a spade a spade

One way I measure the difference between something being another
language altogether from remaining 'just' a patched version of the
originating language has to do with the development cycle. If it is a
real fork in a sense that from there on it will maintain its own
separate codebase that's one thing. If it will continue to build upon
the base language as a set of extensions (ie, if it switches its core
to Lua 5.1.3 once that is out and so on, relying on the base language
to provide maintenance to the core) then it is not a new language, it
is a form of extended Lua, like many that exist.

Of course, where to draw the line of what's a different language is a
matter of taste. I believe no one would argue that, even though it's
based on C, C++ is a (quite) different language. On the other hand,
all those BASIC variants of the 8-bit generation had different
function libraries and commands, but they were all recognized as
BASIC. Is Visual Basic a different language from those? (I don't know
enough of it to tell, my only contact with it was in the Win16 era.)
In any case, it still carries its predecessor's name (like even C++
does).

Is Idle different enough from Lua to be considered a whole different
language? In my opinion, no, but like Vijay said, as long as the
license is complied with, Thomas needs no one's approval. But there
have been other projects to build "Lua distributions" in the past,
some even adding patches that extended the language syntactically.
Some claimed to be different languages, some not.  The Idle
documentation refers users with questions about the Idle core to the
Lua list; that says to me that Idle is still Lua at heart.

- Idle is compliant with the license of Lua

I understand the pressures of developing a product. Patching Lua and
keeping my main development trunk as a set of patches to be merged
into the official Lua core to 'make' my product doesn't make sense
to me.

But then again, would one take to oneself the burden of maintaining
the core? I'd rather keep the Lua team in charge of the development of
the virtual machine, code generator, garbage collector, etc. If I'm
still relying on them to provide new versions of this code, then the
effort of merging on each release equals that of maintaining patches.
I think that's the reason why most(?) Lua extensions (Coco and the
Integer Patch come to mind) are maintained as patches against the
official core rather than as a forked Lua.

-- Hisham

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Fabien-3
Since 5.1, maybe even 5.0, Lua has everything it takes to be the core of a "serious", standalone language. It's a good thing that people try to get that Lua-based platform stuff up and running, and this attempt isn't the first one. It's even more important that the default Lua remains what it is: a conceptually minimalist (in a positive sense of course) language, which can be easily plugged in any project lacking high-level structuring, and can be easily tweaked. This is the niche that brought success to Lua, and a niche is the most valuable asset a language can have.

It's also very important that its designers remain very cautious about extensions and experimental features: I'm a big fan of OCaml for instance, but all the experimental warts that have been stuck on it in its history make it sometimes feel kludgy; due to its designers' prudence (and their abillity to break backward compatibility), Lua remained extremely clean, and that makes most of its appeal.

Having people experiment with Lua tweaks on a per-project basis is maybe *the* core, distinctive feature of Lua. Having people maintaining slightly larger scale experiments, which can be reused by many others, without cluttering the "main branch", is useful: it brings cool features to a subset of users, and lets ideas mature and face real-world usage: some of these tried-and-refined ideas should eventually be back-ported in Lua.

That being said, since these augmented Luas mainly make sense with respect to Lua, I think it's much better for them to have a name which clearly states this filiation. Don't forget that there are hundreds of scripting languages around there, and we won't spare more than one minute judging most of them. Let us a chance to judge it by its cover!
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Idle Script - pre-alpha release

Thomas Lauer-3
In reply to this post by KHMan
> Everybody wants to be the next Guido. :-)

No. Perhaps no-one in the list will believe me, but my interest to be
the next Guido is nil, zilch, zero. I had a specific problem and Idle is
the perfect (for me) solution to that. To once more repeat something
from my website:

> So here's what I want: I want a simple, but powerful scripting language
> that can be installed by copying a couple files between machines and
> then be done with. I want a language that can build executables in the
> 20 to 50 kb range, not the megabyte monsters py2exe throws at me. And
> I want a fast, efficient, extensible language. (And if script code I've
> written ages ago remains readable and understandable even a decade
> later, I won't complain either.)

The fact is there is no "serious" scripting language I know of that can
do that.

> I don't think he will achieve widespread adoption.

That's perfectly fine with me. I did Idle because I needed it. Even if
am the only guy in the world who uses it now and in five years' time, it
was still worthwhile to have done it.

I learned a lot about many things.

-- 
cheers  thomasl

web : http://thomaslauer.com/start


12