Generic programming is supported in different programming languages by various techniques such as C++ templates, C# and Java generics, Haskell type classes, etc. Some of these techniques were found more expressive and suitable for generic programming, other ones more verbose and worse maintainable [1]. Thus, for example, the mechanism of expressive and flexible C++ unconstrained templates suffers from unclear error messages and a late stage of error detection [2], [3]. A new language construct called concepts1 was proposed for C++ language as a possible substitution of unconstrained templates. A design of C++ concepts2 conforms to main principles of effective generic tools design [1].
Compilers Principles Techniques And Tools Solutions Manual 2nd Editionl
2ff7e9595c
Comments