SPUG: JSYNC-0.03 for Perl

Ingy dot Net ingy at ingy.net
Sat Jun 19 15:36:52 PDT 2010


Greetings,

I have a not totally useless Perl implementation of JSYNC.pm on CPAN and
GitHub now.


   - http://search.cpan.org/dist/JSYNC/
   - http://github.com/ingydotnet/jsync-pm


It is passing these 6 data driven roundtripping tests, which should be
easily grokkable:

http://github.com/ingydotnet/jsync-pm/blob/master/t/jsync-yaml.tml

Here is the (reasonably small amount of) source code:

http://github.com/ingydotnet/jsync-pm/blob/master/lib/JSYNC.pm

It has a dump() and a load() function. dump() takes a Perl object, makes a
full clone in the JSYNC/JSON style, and JSON encodes it. load() takes a
JSYNC string, JSON decodes it, and makes a full clone to a native Perl
object.

The full clone in both directions seems a bit heavy handed, but I think it
is too soon to make premature optimizations. I want to get a common test
suite passing in several languages, and then think about optimization
refactoring.

The tests point out that it might be a good time to revisit the default tags
for objects. Having the term 'perl' in there will surely not pass on Python,
etc. The Python defaults are also not portable.

Enjoy, Ingy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/spug-list/attachments/20100619/a9d5a701/attachment.html>


More information about the spug-list mailing list