Thanks for sharing this! I was just about to roll my own code for writing plist XML (to generate TextMate grammars), so I’m giving yours a try. You might have saved me a bunch of work, great timing.
I like that you defined
t as polymorphic variant, like Yojson. I’m not sure about
float * float option but I see you borrowed that from the ISO8601 library and I don’t really know the reasoning behind it.
The only inconvenience I noticed is that it doesn’t emit the XML declaration or the doctype. It took me longer than I’d like to admit to add them to the stream myself, because I had never used Markup before and I couldn’t find any utility function to append streams or prepend signals to them.