property-list-0.1.0.4: Apple property list parser

Safe HaskellNone

Data.PropertyList.Binary

Synopsis

Documentation

linearize :: PropertyList -> BPListRecords AbsSource

Flatten a PropertyList to a sequence of BPListRecords. The resulting records will use absolute addressing and will not have any duplicates.

delinearize :: BPListRecords Abs -> PartialPropertyList UnparsedBPListRecordSource

Reconstruct a property list from a collection of BPListRecords

absolutize :: BPListRecords Rel -> BPListRecords AbsSource

Take some BPListRecords using relative addressing and change them to use absolute addressing

intern :: BPListRecords Abs -> BPListRecords AbsSource

Take some BPListRecords using absolute addressing and eliminate all duplicate records, compact the table and update all internal references.

Does not necessarily yield a totally deduplicated table; The process of interning can introduce duplicate records (because it alters arrays, dicts and sets). All other node types will be deduplicated in one pass, though, which is usually sufficient.