[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