yigal chripun wrote: > 2) structural typing (similllar to Go?) > tp!(Foo) // OK > tp!(Bar) // also OK > > 3) C++ style templates where the compatibility check is against the > *body* of the template. > > If you think of templates as functions the compiler executes, the > difference between the last two options is that option 2 is staticly > typed vs. option 3 which is dynamicaly typed. We all use D because we > like static typing and there's no reasone to not extend this to > compile-time as well.
I prefer to think of option 2 as explicitly typed while option 3 uses type inference. Type inference is a good thing. -- Rainer Deyke - [email protected]
