Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > [ANN] Syck 0.41 -- 95% Support, Bytecode, Bugfixes

Reply
Thread Tools

[ANN] Syck 0.41 -- 95% Support, Bytecode, Bugfixes

 
 
why the lucky stiff
Guest
Posts: n/a
 
      10-14-2003
friends, countrymen:

Happy to announce Syck 0.41. Syck is the YAML toolkit, the undying
force that backs Ruby 1.8's YAML support. This distribution provides
support for YAML parsing in Python, PHP, and Ruby 1.6.x/1.7.x as well.

This latest release is a world of improvement over the 0.35 release.
Numerous bugfixes from users, improvements that bring the parser to
approximately 95% of the YAML spec, and preliminary support for YAML
bytecode parsing. In addition, Clark Evan's bytecode emitter is
included.

Please note that the Python extension is in some disarray as stream
parsing and type handling are in the works still. Some of this code is still
beta software and here's my disclaimer as far as that goes: I'm not
going to say "Use at your own risk" because I don't want this library to
be risky. If you trip on something, I'll share the liability by
repairing things as quickly as I can. Your responsibility is to report
the inadequacies. All the quicker we can those pieces out of beta.

Release notes below.

_why

---
released: { name: Syck, version: 0.41 }
for: [ Ruby, PHP, Python ]
by: why the lucky stiff
about: >

Syck is a YAML parser, an extension for scripting
languages, written in C.

So what is YAML? YAML is a new language for data.
Describe objects in plain text. Load the data into
your scripting language as arrays, dictionaries,
classes, or primitives.

links:
YAML: http://www.yaml.org/
YAML Cookbook: http://yaml4r.sf.net/cookbook/
YAML Type Repository: http://yaml.org/type/
YAML Specification: http://yaml.org/spec/
Syck: http://www.whytheluckystiff.net/syck/
Syck Benchmarks: http://www.whytheluckystiff.net/arch/2003/03/19
Tarball @ SourceForge: http://aleron.dl.sourceforge.net/sou...ck-0.41.tar.gz

status: >

Syck is about 95% compliant with the YAML spec. Largely, small
issues remain.

The extensions are quite usable. Ruby, PHP and Python
can load from a string containing YAML.

Ruby has support for stream loading, type handling, YPath, Okay.
This release includes an amount of Ruby code comprising the 0.60
release of YAML.rb.

benchmarks: >

Syck is quite speedy, although not as swift as most language's
native serialization.

Syck runs at about:

30-35% of the speed of Ruby's Marshal.
35-90% of the speed of PHP's deserialize().
600% of the speed of Python's Pickle.
33-40% of the speed of Python's cPickle.

(Based on various types of structured data.)

installation: >

Syck contains working extensions for the Ruby, PHP, and Python
languages. Each requires compilation of the libsyck library,
followed by compilation of the extension.

To compile libsyck, first download libsyck.

tar xzvf syck-0.41.tar.gz
cd syck-0.41
./configure
make
sudo make install

To install the Ruby extension:

cd ext/ruby
ruby install.rb config
ruby install.rb setup
sudo ruby install.rb install

To install the Python extension:

cd ext/python
python setup.py build
sudo python setup.py install

To install the PHP extension:

sh make_module.sh
sudo make install (if you weren't root during make_module.sh)
php -q syck.php

examples:

To load this document in Ruby: |

($:~)$ irb
>> require 'yaml'

=> true
>> YAML::load( File.open( 'syck-0.41.yml' ) )

=> {"status"=>"Syck is about 60% compliant ..."}

To load this document in PHP: |

($:~)$ php -a
Interactive mode enabled

<? dl( 'syck.so' ); print_r( syck_load( implode( '', file( 'syck-0.41.yml' ) ) ) ); ?>

.. php then outputs ..

X-Powered-By: PHP/4.2.3
Content-type: text/html

Array
(
[released] => Array
(
[name] => Syck
[version] => 0.41
)

.. and so on ..

To load this document in Python: |

($:~)$ python
Python 2.1.3 (#1, Jul 11 2002, 17:52:24)
[GCC 2.95.3 20010315 (release) [FreeBSD]] on freebsd4
Type "copyright", "credits" or "license" for more information.
>>> import syck
>>> f = open( 'syck-0.41.yml' )
>>> syck.load( f.read() )

{'by': 'why the lucky stiff', ... }


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[ANN] Radiant 0.6.6 - Chiseled Release (bugfixes) Sean Cribbs Ruby 0 04-20-2008 05:37 PM
[ANN] concurrent-0.2.2 released (bugfixes) MenTaLguY Ruby 0 06-01-2007 02:57 AM
c64 bugfixes c64_dreams@hotmail.com NZ Computing 0 09-21-2006 09:10 AM
ANN: SPE 0.7.5.c: Improved documentation & bugfixes SPE - Stani's Python Editor Python 0 08-25-2005 08:39 PM
[ANN] PrettyException 0.9.3: Bugfixes Dmitry V. Sabanin Ruby 0 08-24-2004 05:41 AM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57