lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On 7/13/07, Vijay Aswadhati <vijay@planetbazaar.com> wrote:
On Friday, July 13, 2007 6:08 AM, Thomas Lauer wrote:

> Stefan Sandberg <keffo.sandberg@gmail.com> 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