I have seen some opinions that Rust and M# may opt for compile-time reflection because run-time reflection is expensive and increases the size of binaries. I could not find any good comparison so far, just some opinions that run-time reflection is "rarely a good idea". It seems that languages exploring the concept of built-in compile-time reflection are all still in development.
Sources I have read so far:
- http://joeduffyblog.com/2013/12/27/csharp-for-systems-programming
- http://blogs.msdn.com/b/ericlippert/archive/2009/05/21/in-foof-we-trust-a-dialogue.aspx
- Is Reflection possible in Rust, and if so how can I invoke an unknown function with some arguments?
- http://www.reddit.com/r/rust/comments/1xck76/a_case_for_reflection_in_rust