I don't want to pay for anything I don't use. No allocations should occur within the parser and it should simply slice up the input. So the lowest layer should allow me to iterate across symbols in some way. When I've done this in the past it was SAX-style (ie. a callback per type) but with the range interface that shouldn't be necessary.

The parser shouldn't decode or convert anything unless I ask it to. Most of the time I only care about specific values, and paying for conversions on everything is wasted process time.

I suggest splitting number into float and integer types. In a language like D where these are distinct internal types, it can be valuable to know this up front.

Is there support for output? I see the makeArray and makeObject routines... Ideally, there should be a way to serialize JSON against an OutputRange with optional formatting.

Reply via email to