programa lenguaje ejemplos comandos codigos basicos c++ data-structures functional-programming boost-phoenix

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 ++.