Existe uma maneira de usar o findIndex método de Dados.Conjunto com a atual plataforma haskell?

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

Pergunta

Comecei a trabalhar recentemente em algum código que é necessário o uso de conjuntos.Então eu fui para Hoogle e procurou uma solução existente, o que eu achei no módulo Dados.Conjunto.Infelizmente, Hoogle ligado a documentação para o Conjunto incluído no contentores-0.5.3.1 pacote.Esta versão continha a prática findIndex método, o que eu planejei meu programa.

Mas a plataforma Haskell só vem com contentores-0.5.0.0, em que findIndex não está disponível.Como eu só pode usar as bibliotecas que vem com a plataforma Haskell, estou a procura de uma forma de incluir essa função, ou definir-me.Em linha reta até a copiar os métodos de código-fonte a partir de http://hackage.haskell.org/package/containers-0.5.3.1/docs/src/Data-Set.html obviamente, não funcionou.Eu espero que você possa me ajudar a encontrar uma solução para o meu problema.

Muito obrigado.

Foi útil?

Solução

Você pode fazer isso com 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top