[Haskell-cafe] How is this variable not in scope?
Jeffrey Brown
jeffbrown.the at gmail.com
Fri Jul 21 08:03:44 UTC 2017
Excellent! Thanks, Alejandro!
On Fri, Jul 21, 2017 at 12:52 AM, Alejandro Serrano Mena <trupill at gmail.com>
wrote:
> The problem is that in the "where" clause the only things which are in
> scope are (roughly) the arguments of the function. In particular, neither
> "root" nor "inputFile" nor "input" nor "pairs". The solution is to add an
> extra argument:
>
> main' = do
> ...
> mapM_ (f root) pairs where
> f root (name, content) = writeFile (root ++ name) content
>
> 2017-07-21 9:28 GMT+02:00 Jeffrey Brown <jeffbrown.the at gmail.com>:
>
>> The following compiles and runs perfectly:
>>
>> main = do
>> (inputFile:_) <- getArgs
>> input <- readFile inputFile
>> let pairs = pairFilesToContents $ readSmsnLines input
>> mapM_ f pairs where
>> f :: (FilePath, String) -> IO ()
>> f (name, content) = writeFile name content
>>
>> But the following triggers the error "Not in scope: ‘root’".
>>
>> main' = do
>> (root : inputFile :_) <- getArgs
>> input <- readFile inputFile
>> let pairs = pairFilesToContents $ readSmsnLines input
>> mapM_ f pairs where
>> f :: (FilePath, String) -> IO ()
>> f (name, content) = writeFile (root+name) content
>>
>> --
>> Jeff Brown | Jeffrey Benjamin Brown
>> Website <https://msu.edu/~brown202/> | Facebook
>> <https://www.facebook.com/mejeff.younotjeff> | LinkedIn
>> <https://www.linkedin.com/in/jeffreybenjaminbrown>(spammy, so I often
>> miss messages here) | Github
>> <https://github.com/jeffreybenjaminbrown>
>>
>> _______________________________________________
>> Haskell-Cafe mailing list
>> To (un)subscribe, modify options or view archives go to:
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>> Only members subscribed via the mailman list are allowed to post.
>>
>
>
--
Jeff Brown | Jeffrey Benjamin Brown
Website <https://msu.edu/~brown202/> | Facebook
<https://www.facebook.com/mejeff.younotjeff> | LinkedIn
<https://www.linkedin.com/in/jeffreybenjaminbrown>(spammy, so I often miss
messages here) | Github <https://github.com/jeffreybenjaminbrown>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20170721/1c4d10f8/attachment.html>
More information about the Haskell-Cafe
mailing list