RFC: std.json sucessor
via Digitalmars-d
digitalmars-d at puremagic.com
Fri Aug 22 11:01:12 PDT 2014
On Friday, 22 August 2014 at 17:45:03 UTC, Sönke Ludwig wrote:
> Am 22.08.2014 19:27, schrieb "Marc Schütz" <schuetzm at gmx.net>":
>> On Friday, 22 August 2014 at 16:56:26 UTC, Sönke Ludwig wrote:
>>> Am 22.08.2014 18:31, schrieb Christian Manning:
>>>> It would be nice to have integers treated separately to
>>>> doubles. I know
>>>> it makes the number parsing simpler to just treat everything
>>>> as double,
>>>> but still, it could be annoying when you expect an integer
>>>> type.
>>>
>>> That's how I've done it for vibe.data.json, too. For the new
>>> implementation, I've just used the number parsing routine from
>>> Andrei's std.jgrandson module. Does anybody have reservations
>>> about
>>> representing integers as "long" instead?
>>
>> It should automatically fall back to double on overflow. Maybe
>> even use
>> BigInt if applicable?
>
> I guess BigInt + exponent would be the only lossless way to
> represent any JSON number. That could then be converted to any
> desired smaller type as required.
>
> But checking for overflow during number parsing would
> definitely have an impact on parsing speed, as well as using a
> BigInt of course, so the question is how we want set up the
> trade off here (or if there is another way that is
> overhead-free).
As the functions will be templatized anyway, it should include a
flags parameter. These and possible future extensions can then be
selected by the user.
More information about the Digitalmars-d
mailing list