2011-08-19 8 views
7

Para operaciones económicas como append en listas (no cadenas de caracteres), utilizaría Data.DList. Lo que me detiene es que el paquete en Hackage está marcado como "experimental" y la última actualización fue en 2009.¿Estado del arte de las operaciones de listas baratas en Haskell?

¿DList sigue siendo el camino correcto en Haskell?

+4

¿Cuáles son las operaciones de las que espera una complejidad O (1)? – augustss

+0

Si todo lo que le interesa es añadir, le recomiendo esta función: 'append x y = undefined', es muy rápido. :) Así que supongo que quieres hacer algo después de haber construido la lista. Una vez que nos diga qué es eso, podemos darle consejos. – augustss

+0

@augustss: :) Se trata de crear y convertir listas de texto estructurado. No es simple Data.Text, pero las listas de decir 'Bold' hola allí '', 'Párrafo' Texto largo aburrido '' o 'Sección' Título '' Contenido ... ''. – LennyStackOverflow

Respuesta

13

Use Seq desde Data.Sequence. También tiene O (1) contras y snoc, pero está en la base, y se usa y prueba mucho más.

6

Data.DList parece que se actualizó por última vez el sáb 20 jun 23:01:49 UTC 2009. Muchas cosas útiles en hackage son marcadas como experimentales, pero no me preocuparía por eso. DList parece bastante sólido. No usa ninguna de las extensiones de lenguaje volátil y el código es realmente bastante simple.

Así que, supongo, la respuesta sería: sí, DList sigue siendo bueno.

+0

2009: Mi error, de alguna manera, Google me envió a una versión anterior. Me pregunto si se ha desmoronado, durante las actualizaciones de GHC -> 7. *. – LennyStackOverflow

+0

@ Lenny222: dudo que haya sido mordido. Una lista de diferencias es bastante simple y el paquete no parece usar extensiones de GHC, excepto CPP. No es probable que haya mucho que pueda salir mal. –

Cuestiones relacionadas