¿Hay alguna forma de usar el método de FindIndex de DATA.SET con la plataforma actual Haskell?
-
21-12-2019 - |
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.
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