title: Haskell: Variable not in scope
body: <p>I have a code as:</p>
  
  <pre><code>main = interact $ show . maxsubseq . map read . words
  
  maxsubseq :: (Ord a,Num a) =&gt; [a] -&gt; (a,[a])
  maxsubseq = snd . foldl f ((0,[]),(0,[])) where 
  f ((h1,h2),sofar) x = (a,b) where
  a = max (0,[]) (h1 + x ,h2 ++ [x]) 
  b = max sofar a
  </code></pre>
  
  <p>But I am getting error:</p>
  
  <pre><code>maxSub.hs:6:17: error: Variable not in scope: h1
  
  maxSub.hs:6:22: error: Variable not in scope: x
  
  maxSub.hs:6:25: error: Variable not in scope: h2 :: [t1]
  
  maxSub.hs:6:32: error: Variable not in scope: x
  
  maxSub.hs:7:9: error: Variable not in scope: sofar :: (t, [t1])
  </code></pre>
  
  <p>Not able to figure out why??</p>
  
  <p>Any ideas??</p>
  
  <p>Thanks.</p>