Setting our vision for the 2017 cycle

I like to add that the problem with Serde json/xml, to me at least, it is really a question off better reflection / introspection in the core language or in the macro system.

It would be so nice to be able to extract type info for struct’s and functions, in a static way, and of cause also to be able to call function using dynamically collected arguments (it will of cause be unsafe, and properly possible already, but I never came to that :-)). If that is possible we could map data at runtime using info the compiler gives us, and use Rust as our one and only IDL. It is i bit frustrating that this is possible in go and C++, ugly I admit but doable.

If we had real introspection, we could runtime check and map, remote RPC (json/xml/asn1) and keep nice static testing internally and use the really cool type system in Rust, without paying for it at runtime. This would make Rust the natural server language, together with proper parallelism as std.

I am not sure how it would be done in Rust (I have mostly been flirting with it, and I really like most of it), but I know that the compiler knows all kind of stuff, and C++ variadic could be a way to go, or something like that. The important part is that the compiler could “leave” some hints in the code we the could use to make dynamic argument collecting.

In the meantime, I have to stick to C++ (no go for me sorry, I hate its GC and related blackouts) :frowning: