Jonathan, Niall, et al,
Last night I got an email from Ondrej, who is part of the hpfem group and one of the two authors of a different py2js on github about merging the two projects (both MIT-licensed). They started about a week ago, building a new system because they were fed up with pyjamas and pyvascript. We’ve exchanged a few long emails and, from all our discussion, Ondrej and I almost identical in our approach.
They’ve made quite a bit of progress in the past week and are fairly similar to us in their feature-set – they have some features we don’t have and vice-versa. Their javascript library architecture mirrors ours almost exactly (wrappers for list/dict/tuple/etc), but they have tuples implemented and we have an import mechanism and args/kwargs unpacking. Their python library architecture is flatter than ours, they don’t create an in-between tree of objects, as we are doing. I am inclined to simplify ours and follow their approach (Niall, do you know of reasons not to do this or gotchas we might encounter?)
Ondrej has proposed using our JS library as the base JS library and migrating any extra stuff they have into it and using their Python library as the base Python library and migrating our stuff into it. This sounds like a good plan to me and I’d like to move on it – any objections?
We’ll probably move the repository to github, but use http://hg-git.github.com/ so that mercurial users can access the repository transparently (I have a co-worker who is doing this with one of our projects and it’s worked great for him).
There will be a lot of email traffic, especially over the next couple of weeks as we get everything sorted out – and we’d like to post the emails we’ve sent privately to the group, so others can see them and so they’ll be saved for historical purposes.
Is it ok to use the js4py group for that, or would should we create a py2js group, specifically for the project?
-- Peter Rust
Ondrej,
Did you see Jonathan’s message: http://groups.google.com/group/js4py/msg/aae0f4e59ffc9058?hl=en-GB
I think your emails may have crossed or he may have sent it just before you joined the group. I’m inclined to continue using the js4py list for now (though in the long run we should make one named “py2js” if only to reduce the acronym confusion) and to start the merge while retaining separate repositories. Though this may be a bit more work, it’ll give us a lot more visibility as we start making the merge. The first thing I’ll do is look closely at the in-between tree and research the benefits it gives us over the standard library’s AST tree – this should help us arrive at a clear answer on which code to use as the base for the python-side.
As far as the Javascript side, I think we can go ahead and start treating “pylib.js” as the base (though I think we should rename it to py-builtins.js, which is a little clearer) and pull the additional features from your builtins.js into it (continuing to use bitbucket/mercurial for the time being). If, somehow, we’re unable to agree on the same python architectures (I would be very surprised, but you never know), we can continue sharing the javascript library, as our approaches there are already virtually identical.
-- peter