Como la metaprogramación en C++ es funcional: ¿hay alguna manera de hacer algo comparable a cualquier lenguaje de programación funcional (por ejemplo, Haskell) let o where construct?C++/Boost MPL: también código de estructura Haskell's let, where,
Estoy usando Boost :: MPL pero me gustaría tener más estructura para metafunciones más largas. La división en varias funciones está bien, pero preferiría dejar/en algunos casos.
Llega un punto en el que tratar de meter con calzador más magia plantilla en C++ deja de dar vueltas útiles, especialmente cuando se trata de la compatibilidad futura y el mantenimiento. ¿Ha considerado escribir más código en un lenguaje funcional rápido que pueda generar librerías accesibles desde C/C++? (OCaml me viene a la mente) – Rook
No, no lo he considerado. Estoy usando programación meta porque necesito hacer algo en tiempo de compilación, no porque quiero escribir código funcional. Mis piezas de código no son tan complejas. Solo pensé que si usaba la misma aplicación de función tres veces en una metafunción de 30 líneas, sería bueno usar alguna estructura. – user1034081
En C++ 11, puede hacer un montón de procesamiento en tiempo de compilación con 'constexpr' en lugar de plantillas. – leftaroundabout