lua-users home
lua-l archive

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


Andre Carregal wrote:
Jay,

First of all we deeply apologize for the recent inconvenience. You are more
than right about our announcement of the Kepler LuaXMLRPC over your original
work.

We also apologize and recognize we should have done our homework contacting
you anyway before we began implementing our version. We wrongly assumed your
implementation was stopped since 2001, our fault.

Well, it was---I only started working on again it last weekend. So it was a reasonable assumption that it was dead. However, I am allowed to tease you because you didn't send me mail. :-) (Is there an etiquette of this somewhere?)

Concerning the library name itself we will change ours immediately if you
prefer, but we would also gladly join efforts if that interests you.

I would much rather join efforts. There are some things I work on for fun; there many infrastructure projects I work on to support them. It was a little fun to write my XML-RPC binding, but I did it so I could write other things. I just want there to be a good XML-RPC binding for Lua. I would prefer somebody else to maintain it.

Put another way, I consider "convincing somebody else to write something" to be a good implementation strategy. Especially if you're lazy.

> Our
XMLRPC binding is going to be very integrated with Kepler and your
experience with the protocol and the "Lua tables / XML structures" details
would be a great help. Please let us know your position on the possible
merging.

Kepler sounds interesting.  I'd like to merge.

I'll send out a copy of my Lua 5.0 XMLRPC system shortly. Meanwhile, here's my type mapping:

====
XML-RPC's types don't map directly to the Lua types.  A table with the
key XMLRPC.type is a special table.  The value of the key describes
which XML-RPC type the table represents.  To construct these special
values, you should use their constructor functions rather than table
constructors.

<string>: Lua string
<i4>, <integer>: Lua number
<array>: a Lua table with a key of 1 present, or with ["n"]=0
<struct>: a Lua table (without the type key)

<boolean>: true or false

<double>: Build with XMLRPC.double(123.78); access with v.double
<base64>: Build with XMLRPC.base64("BaSe64--"); access with v.base64
<dateTime.iso8601>: Build with XMLRPC.dateTime(string); access with v.dateTime
====

Arrays are still a little tricky, as you can see. This reminds me that I also need to add a "what XMLRPC type is this" function to the public interface.

Please also note that the Kepler and the Lua team are separated. We cannot
be "touchy about anybody else reusing the name 'lua'" because that name is
not ours.

Actually I think it was Luiz who was mostly doing that; Roberto is listed on your credits page though.

Perhaps some of this is me longing for a benign dictator for projects outside the Lua core. I think people may interpret your work that way no matter how you disclaim it.

Once more, we are very sorry for the nuisance.

I don't think you need to apologize, but I will forgive you if you promise to never generate XML in application code ever again. :-)

I think Lua needs something like Perl's XML::Writer ( http://search.cpan.org/~edavis/XML-Writer-0.4.1/Writer.pm ) or the .NET XmlWriter ( http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemXmlXmlWriterClassTopic.asp ) to make it easy to do this right, regardless of what the internal form is.

Jay