Home

Awesome

imager3000

Un simple scrapper de imágenes concurrente.

Llamando imager3000 "http://haskell.com" nos baja las imágenes de la URL en ./_downloaded/

Diseño

Esta diseñado a partir de modularizar la concurrencia, ofreciendo por el momento dos implementaciones para la misma. Ambas exponen una función:

concurrently :: Config -> [IO ()] -> IO ()

que toma cuantos workers usar (default 5), una lista de "cosas" y una función que toma esas "cosas" y hace IO.

Imager3000.Concurrent.MVar usa un truquito con MVars, que son la unidad de concurrencia básica de Haskell.

Imager3000.Concurrent.Async en cambio usa una librería que hace todo solo.

Imager3000.Fetch es donde deberiamos programar la descarga de imágenes, y es lo que haremos en el workshop.

Cómo instalar GHC

https://github.com/BsAsHaskell/workshop-1/blob/master/README.md