<pre class="sourceCode haskell"><code><span class="dt">Here's</span> the three main functions involved<span class="fu">.</span> <span class="dt">Let</span> me know <span class="kw">if</span> <span class="dt">I</span> am missing pertinent information<span class="fu">.</span><br>
<br><span class="dt">I'm</span> having difficulty unraveling this <span class="fu">error</span> message<span class="fu">.</span> <span class="dt">Help</span><span class="fu">?</span><br><br><span class="fu">></span> obtainCookies :: <span class="dt">Curl</span> -> <span class="dt">String</span> -> <span class="dt">IO</span> ()<br>
<span class="fu">></span> obtainCookies curl responseBody <span class="fu">=</span> <span class="kw">do</span><br><span class="fu">></span> <span class="fu">return</span> <span class="fu">$</span> <span class="fu">last</span> <span class="fu">$</span> liftM <span class="fu">$</span><br>
<span class="fu">></span> <span class="fu">mapM</span> (<span class="fu">flip</span> (curlResp2 curl) resourceOpts)<br><span class="fu">></span> screenScraping responseBody<br>
<br><span class="fu">></span> screenScraping :: <span class="dt">String</span> -> [<span class="dt">URLString</span>]<br><span class="fu">></span> screenScraping responseBody <span class="fu">=</span><br><span class="fu">></span> <span class="kw">let</span> collectedStrings <span class="fu">=</span> processHTML responseBody<br>
<span class="fu">></span> collectedIDLists <span class="fu">=</span> createIDList collectedStrings<br><span class="fu">></span> <span class="kw">in</span> constructedResourceURIs urlBase collectedIDLists<br>
<br><span class="fu">></span> constructedResourceURIs :: <span class="dt">String</span> -> [<span class="dt">String</span>] -> [<span class="dt">URLString</span>]<br><span class="fu">></span> constructedResourceURIs url resourceIDs <span class="fu">=</span><br>
<span class="fu">></span> <span class="kw">let</span> frontURI <span class="fu">=</span> url <span class="fu">++</span> <span class="st">"/launchWebForward.do?"</span><br><span class="fu">></span> midURI <span class="fu">=</span> <span class="fu">map</span> (frontURI <span class="fu">++</span>) resourceIDs<br>
<span class="fu">></span> <span class="kw">in</span> <span class="fu">map</span> (<span class="fu">++</span> <span class="st">"&policy=0&returnTo=%2FshowWebForwards.do"</span>) midURI<br>
<br><br><br>HtmlParsing.lhs<span class="fu">:</span><span class="dv">81</span><span class="fu">:</span><span class="dv">22</span><span class="fu">:</span><br> <span class="dt">Couldn't</span> match expected <span class="kw">type</span> <span class="ot">`[URLString]'</span><br>
<span class="ot"> against inferred type `</span><span class="dt">String</span> -> [<span class="dt">URLString</span>]<span class="ch">'</span><br> <span class="dt">In</span> the second argument <span class="kw">of</span> <span class="ot">`mapM', namely `</span>screenScraping'<br>
<span class="dt">In</span> the second argument <span class="kw">of</span> <span class="ot">`($)', namely</span><br><span class="ot"> `</span>mapM<br> (<span class="fu">flip</span> (curlResp2 curl) resourceOpts) screenScraping responseBody'<br>
<span class="dt">In</span> the second argument <span class="kw">of</span> <span class="ot">`($)', namely</span><br><span class="ot"> `</span>liftM<br> <span class="fu">$</span> <span class="fu">mapM</span><br>
(<span class="fu">flip</span> (curlResp2 curl) resourceOpts) screenScraping responseBody'</code></pre>