On 7/25/14 3:20 PM, Josh Haberman wrote:
Got it. So the "ad hoc" part refers to having a template parameter, but
not being able to check its capabilities/interface at template
parsing/typechecking time, it sounds like?

Right. (The term comes from "Making Ad-Hoc Polymorphism Less Ad-Hoc", which is the seminal paper on typeclasses.)

How does the trait/concept approach preclude template specialization?
Each template specialization could be independently type-checked, but
the most specialized one could be selected at instantiation time. Or is
this considered "overloading" and discarded because of the extra
complexity? I guess it could be complicated to define which was "most
specialized."

Yeah, that's the complexity. Some GHC language extensions do allow something like template specialization, but it's considered very experimental. I'd like to see if things like associated types get us most of the way there without the difficulties of specialization.

Patrick

_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to