PL is a simple text format to represent the structure and interrelationships of data.
PL supports four primary data types.
A string is enclosed in double quotation marks, for example:
"This is a string"
Binary data is enclosed in angle brackets and encoded in hexadecimal ASCII. For example:
<0FBD7771C2735AE>
A collection is enclosed in parentheses, with the elements separated by commas. For example:
( "Sydney", "New York", "Shanghai", "London" )
A map is enclosed in curly braces, and contains a list of keys with their values. Each key-value pair ends with a semicolon. For example:
{ "user" = "wshakesp"; "birth" = "1564"; }
PL’s file extension is .plist and its MIME type application/x-plist.
PL’s character set encoding is UTF-8.

PL is mostly backward compatible with the Old-Style ASCII Property Lists (aka plist) introduced over a decade ago by NeXT alongside their OPENSTEP specification. More information here, here, and there.
* * *
I’d also be curious to know if you’ve given any thought to extending support to include “new-style” XML property lists? While I like the old format, the new has largely subsumed it on Mac OS X. It would be very nice if PL could serve as a bridge for moving property lists in either format between the Java world and Cocoa / GNUstep.
— Kaelin Colclasure Dec 23, 07:09 PM #
– plist allows unquoted strings. PL does not.
– plist uses US-ASCII. PL uses UTF-8.
In practice, those differences shouldn’t matter much as Cocoa’s NSPropertyListSerialization seems to systematically quote strings and does a decent job at recognizing character sets beside US-ASCII.
XML? No.
— PA Dec 23, 08:00 PM #