RFC: std.json sucessor

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Sat Aug 23 15:51:31 PDT 2014


On 8/23/14, 3:24 PM, Walter Bright wrote:
> On 8/23/2014 2:36 PM, Andrei Alexandrescu wrote:
>> I think accepting ubyte it's a good idea. It means "got this stream of
>> bytes off
>> of the wire and it hasn't been validated as a UTF string". It also
>> means (which
>> is true) that the lexer does enough validation to constrain arbitrary
>> bytes into
>> text, and saves caller from either a check (expensive) or a cast
>> (unpleasant).
>>
>> Reality is the JSON lexer takes ubytes and produces tokens.
>
> Using an adapter still makes sense, because:
>
> 1. The adapter should be just as fast as wiring it in internally
>
> 2. The adapter then becomes a general purpose tool that can be used
> elsewhere where the encoding is unknown or suspect
>
> 3. The scope of the adapter is small, so it is easier to get it right,
> and being reusable means every user benefits from it
>
> 4. If we can't make adapters efficient, we've failed at the
> ranges+algorithms model, and I'm very unwilling to fail at that

An adapter would solve the wrong problem here. There's nothing to adapt 
from and to.

An adapter would be good if e.g. the stream uses UTF-16 or some Windows 
encoding. Bytes are the natural input for a json parser.


Andrei




More information about the Digitalmars-d mailing list