¿Hay alguna forma de usar el método de FindIndex de DATA.SET con la plataforma actual Haskell?

StackOverflow https://stackoverflow.com//questions/20031681

Pregunta

Recientemente comencé a trabajar en algún código que requería el uso de conjuntos. Así que fui a Hoogle y buscé una solución existente, que encontré en el módulo data.set . Desafortunadamente, Hoogle surgió la documentación para el conjunto incluido en el paquete de contenedores-0.5.3.1. Esta versión contenía el práctico Método Findindex, que planeé mi programa alrededor.

Pero la plataforma Haskell solo viene con contenedores-0.5.0.0, en la que FindIndex no está disponible. Como solo puedo usar las bibliotecas que vienen con la plataforma Haskell, estoy buscando una forma de incluir esta función o definirlo yo mismo. Directamente copiando los métodos Código fuente de http: / /hackage.haskell.org/package/containers-0.5.3.1/docs/src/data-set.html obviamente no funcionó. Espero que puedas ayudarme a encontrar una solución a mi problema.

gracias mucho.

¿Fue útil?

Solución

Puede hacerlo con splitMember:

lookupIndex :: (Ord a) => a -> Set a -> Maybe Int
lookupIndex x s
   | found      = Just $ size l
   | otherwise  = Nothing
 where (l, found, _) = splitMember x s

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top