comandos - lenguaje c++ ejemplos
Estructuras de datos funcionales en C++ (2)
Esto es más una advertencia que una respuesta detallada, pero Bartosz Milewski parece haber trabajado mucho en esto. Ver, por ejemplo:
http://bartoszmilewski.com/2013/11/13/functional-data-structures-in-c-lists/
Parece que ha implementado una gran cantidad de algoritmos del libro de Okasiki Estructuras de datos puramente funcionales aquí:
https://github.com/BartoszMilewski/Okasaki
NB No he probado esto todavía, pero son las primeras estructuras de datos persistentes de C ++ que he visto fuera de FC ++.
Con suerte, voy a intentarlos pronto.
¿Alguien sabe de una biblioteca de estructura de datos en C ++ que proporciona equivalentes funcionales (alias inmutables o "persistentes" en el sentido FP) de las estructuras STL familiares?
Por "funcional" me refiero a que los objetos en sí son inmutables, mientras que las modificaciones a esos objetos devuelven nuevos objetos que comparten los mismos elementos internos que el objeto principal cuando corresponde.
Idealmente, una biblioteca así se asemejaría a STL, y funcionaría bien con Boost.Phoenix (advertencia: en realidad no he usado Phoenix, pero hasta donde puedo decirlo proporciona muchos algoritmos pero no estructuras de datos, a menos que haya un cambio calculado de forma perezosa a una estructura de datos existente cuenta - ¿verdad?)
Miraría y vería si FC++ desarrollado por Yannis Smaragdakis incluye alguna estructura de datos. Ciertamente, este proyecto más que cualquier otro se trata de apoyar un estilo funcional en C ++.