Anti-XML

the non-violent solution

stable version: 0.3
master version: 0.4-SNAPSHOT
 

Anti-XML is a proposed replacement for the scala.xml package in the Scala standard library. The standard package is outdated and beyond fixing. We need to start over, on solid foundations and unburdened by backward compatibility. Anti-XML aims for quality in three major areas:

  • Usability
    • Leverage powerful ideas like combinators and proper ADTs
    • Leverage the 2.8 collections library
    • Provide consistent selector behavior
    • Avoid these missteps: Node <: NodeSeq <: Seq[Node], MetaData, Atom[String]
  • Reliability
    • Use immutable data structures (in the API and under the hood too)
    • Avoid bugs and race conditions
    • Provide a proper equals
  • Performance
    • Lower memory usage (Novell Vibe once had a 16 MB chunk of XML use 250 MB of heap!)
    • Provide efficient selectors

We are exploring many ideas for this project. It will be interesting to see where things go!