On Monday, 10 August 2015 at 18:23:25 UTC, Sönke Ludwig wrote:
The main technical reason was CT reflections issues (the particular case was that they had always been erroneously recognized as input ranges) and the fact that any API change involving the Json struct would potentially be a silently breaking change. Another thing that I personally always felt was that the syntax had the effect of unconsciously hiding bugs, because it *looks* like static field access, so your brain thinks that the compiler checks for things like spelling mistakes.

Aye, good points.

Ideally, I'd love to see statically defined structs for everything with easy to/from serialization. The serialization part is easy - the trickier part is getting the right struct definition.

I started working on an analyzer thing that takes a real world data sample and creates a struct from it. Actually, my main reason for doing that was reverse engineering a third party API - reading a struct definition is easier than reading json IMO - but it'd have nice benefits for these too.

Most "dynamic" types really are static, you just don't always know the layout at compile time. But with a bit of ahead-of-time analyzers of the data, we can basically bridge that without needing a whole lot of extra work.

Reply via email to