I translated this from reasonably idiomatic Python to certainly unidiomatic and inelegant Haskell. It requires tons of packages and seems not to be obviously broken, and works the same as the Python script except that if neither curl nor wget is available, the routine whereby it downloads the mp3s itself is less informative, not giving any progress updates. I am certain that there is a better way to propagate errors from the xml-parsing arrow, probably using these guys, but I simply cannot get my head around them. In fact, this whole experience has been an exercise in not knowing what I'm doing.
Comments