[Haskell-beginners] Throughly confused by this error message

Michael Litchard michael at schmong.org
Thu Jul 7 01:03:08 CEST 2011


You know, it's happened more than once. I'll send my problem to this
list, and a few minutes later I see someone really obviously wrong.
The problem is partially fixed in the sense that the changes I made
are producing errors that make sense to me.

On Wed, Jul 6, 2011 at 3:42 PM, Michael Litchard <michael at schmong.org> wrote:
> I'd like someone to help me learn what questions to ask about this
> error. I'm not sure how to contextualize. I will include code segment> that I think are important, and trust your questions will reveal what
> I am leaving out.
>
>
>
> HtmlParsing.lhs:81:25:
>    The first argument of ($) takes one argument,
>    but its type `URLString' has none
>    In the second argument of `($)', namely `initial $ method_GET'
>    In a stmt of a 'do' expression:
>          curlResp curl $ initial $ method_GET
>    In the expression:
>      do { let initial = urlInitial urlSequence
>               login = urlLogin urlSequence
>               ....;
>             curlResp curl $ initial $ method_GET;
>             curlResp curl $ urlLogin urlSequence $ loginOpts user pass;
>             curlResp curl $ urlFlash1 urlSequence resourceOpts;
>           .... }
>
>
>> generateResourceHtml :: Curl -> String -> String -> FilePath -> IO (Either String String)
>> generateResourceHtml curl user pass ipFile = do
>>   urlSequence <- popURLrec ipFile
>>   let makeIDPage = do
>>       let initial = urlInitial urlSequence
>>           login = urlLogin urlSequence
>>           flash1 = urlFlash1 urlSequence
>>           flash2 = urlFlash2 urlSequence
>>           showWebForwards = urlShowWebForwards urlSequence
>>           quickCreate = urlQuickCreate urlSequence
>>           getResource =  urlGetResource urlSequence
>>       curlResp curl $ initial $ method_GET
>>       curlResp curl $ urlLogin urlSequence $ loginOpts user pass
>>       curlResp curl $ urlFlash1 urlSequence resourceOpts
>>       curlResp curl $ urlFlash2 urlSequence resourceOpts
>>       curlResp curl $ urlShowWebForwards urlSequence resourceOpts
>>       curlResp curl $ urlQuickCreate urlSequence resourceOpts
>>       curlResp curl $ urlGetResource urlSequence resourceOpts
>>   runErrorT makeIDPage
>
>> data URLSequence = URLSequence { urlInitial :: URLString
>>                                , urlLogin :: URLString
>>                                , urlFlash1 :: URLString
>>                                , urlFlash2 :: URLString
>>                                , urlShowWebForwards :: URLString
>>                                , urlQuickCreate :: URLString
>>                                , urlGetResource :: URLString
>>                                } deriving Show
>
>> curlResp :: (Error e, MonadError e m, MonadIO m) =>
>>       Curl -> URLString -> [CurlOption] -> m String --CurlResponse
>> curlResp curl url opts = do
>>   resp <- liftIO $ (do_curl_ curl url opts :: IO CurlResponse)
>>   let code   = respCurlCode resp
>>       status = respStatus resp
>>   if code /= CurlOK || status /= 200
>>      then throwError $ strMsg $ "Error: " ++ show code ++ " -- " ++ show status
>>      else return $ respBody resp
>



More information about the Beginners mailing list