Elixir - circulando e adicionando ao mapa

Estou reconstruindo algo no Elixir a partir de algum código que construí em C #.

Foi bastante hackeado, mas funciona perfeitamente (embora não no Linux, portanto, reconstruído).

Essencialmente, o que ele fez foi verificar alguns feeds RSS e ver se havia algum conteúdo novo. Este é o código:

Map historic (URL as key, post title as value).
List<string> blogfeeds
while true
for each blog in blogfeeds
   List<RssPost> posts = getposts(blog)
   for each post in posts
        if post.url is not in historic
           dothing(post)
           historic.add(post)

Eu estou querendo saber como eu posso fazer a enumeração efetivamente no Elixir. Além disso, parece que meu próprio processo de adicionar coisas ao "histórico" é a programação anti-funcional.

Obviamente, o primeiro passo foi declarar minha lista de URLs, mas além disso a ideia de enumeração está mexendo com minha cabeça. Alguém poderia me ajudar? Obrigado.