¿Es posible implementar las clases de tipos Haskell en C++? ¿Si es así, entonces cómo?Tipo de clases de modelos en C++
Respuesta
Hay unos pocos documentos sobre este tema, que podrían ser útiles como fondo la lectura:
- C++ templates/traits versus Haskell type classes, Sunil Kothari, Martin Sulzmann
- A Comparative Study of Language Support for Generic Programming, Ronald García, Jaakko Järvi, Andrew Lumsdaine, Jeremy Siek, Jeremías Willcock
Papeles excelentes. Gracias. –
¿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"? –
+1 para el segundo enlace, una categorización de las características requeridas es muy interesante. –
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.
- 1. Haskell: clases tipo de pregunta
- 2. ¿Dónde colocas las clases que no son controladores, modelos, ayudantes o modelos de vista?
- 3. declaraciones de clases abstractas en C++
- 4. C# Métodos de llamada en clases genéricas
- 5. ¿Cómo "SECAR" los atributos de C# en Modelos y Modelos de Vista?
- 6. Mantenimiento de consistencia entre JavaScript y modelos de objetos C#
- 7. Modelos Ocultos de Markov con C++
- 8. Modelos de subclases en Rails
- 9. Clases concretas con miembros de tipo abstracto
- 10. Clases parciales en C#
- 11. Estructuras vs clases en C++
- 12. C#: Clases en carpetas
- 13. Clases inmutables en C++
- 14. clases de decisiones públicas a otras clases en C++
- 15. clases estáticas en C#
- 16. jerarquía de clases C++ Matrix
- 17. parámetros de tipos múltiples en las clases de tipo haskell
- 18. Pregunta acerca de las clases de tipo en Scala
- 19. Modelos de concurrencia en nodejs
- 20. Manejando modelos de espacio de nombres (clases) en el espacio de nombres
- 21. de Authlogic en modelos
- 22. Apache con clases C#
- 23. Rabl Colección de modelos múltiples
- 24. Garantizar que las familias de tipo derivarán ciertas clases
- 25. MVVM: modelos de vista finos y modelos enriquecidos
- 26. C# y C herencia de clases ++ entremezclando
- 27. ¿De cuántas clases puedes heredar en C#?
- 28. heredan de dos clases en C#
- 29. Clases de amigos en Objective-C
- 30. Prevenir la herencia de clases en C++
¿Qué son las clases de tipo Haskell? –
Noah, lo siento pero no sé cómo expresarlo. –