SXP.rb: SXP for Ruby ==================== This is the Ruby reference implementation of the SXP data interchange format. * * ### About SXP SXP is a data interchange format based on S-expressions, the simplest and most versatile known means of representing complex data structures such as lists, trees and graphs. * * Features -------- * Parses S-expressions in SXP format. * Adds a `#to_sxp` method to Ruby objects. Examples -------- require 'sxp' ### Parsing S-expressions SXP.read "(+ 1 2)" => [:+, 1, 2] SXP.read <<-EOF (define (fact n) (if (= n 0) 1 (* n (fact (- n 1))))) EOF => [:define, [:fact, :n], [:if, [:"=", :n, 0], 1, [:*, :n, [:fact, [:-, :n, 1]]]]] Documentation ------------- * Download -------- To get a local working copy of the development repository, do: % git clone git://github.com/bendiken/sxp-ruby.git Alternatively, you can download the latest development version as a tarball as follows: % wget http://github.com/bendiken/sxp-ruby/tarball/master Installation ------------ The recommended installation method is via RubyGems. To install the latest official release from Gemcutter, do: % [sudo] gem install sxp Resources --------- * * * * * * Author ------ * [Arto Bendiken](mailto:arto.bendiken@gmail.com) - License ------- SXP.rb is free and unencumbered public domain software. For more information, see or the accompanying UNLICENSE file.