2010-06-27 12 views
7

¿Es posible implementar las clases de tipos Haskell en C++? ¿Si es así, entonces cómo?Tipo de clases de modelos en C++

+3

¿Qué son las clases de tipo Haskell? –

+0

Noah, lo siento pero no sé cómo expresarlo. –

Respuesta

7

Hay unos pocos documentos sobre este tema, que podrían ser útiles como fondo la lectura:

+0

Papeles excelentes. Gracias. –

+8

¿Soy el único que noto que el nombre del OP es similar al nombre del primer autor de "Plantillas/rasgos C++ versus clases de tipo Haskell"? –

+0

+1 para el segundo enlace, una categorización de las características requeridas es muy interesante. –

3

El mecanismo similar en C++ se llama "conceptos". La idea es definir una clase de tipo definiendo los requisitos de cualquier tipo que pertenezca a esa clase. Los iteradores C++ hacen uso extensivo de conceptos, y C++ 0x tenía la intención de soportar la sintaxis directa para ellos (en lugar de los trucos indirectos de plantillas para realizar verificaciones conceptuales que C++ emplea actualmente), pero parece que este soporte se ha eliminado del estándar.