Ticket #1276 (closed bug: duplicate)
a sum-file program not working under Windows
Description
This program just hangs under Windows, ghc-6-6.msi:
module Main where main = print . sum . map read . lines =<< getContents
I compiled with:
ghc -O sumcol.hs -o sumcol_O.exe
and ran as:
sumcol_O.exe "sumcol-input.txt"
where sumcol-input.txt = sumcol-input.txt :: Text_File (KB 6, Lines 1000)
Replacing 'getContents' with 'readFile "sumcol-input.txt" ' works.
Similar observed behavior under ghci:
Prelude> :set args "sumcol-input.txt" Prelude> print . sum . map read . lines =<< getContents _
and
Prelude> print . sum . map read . lines =<< readFile "sumcol-input.txt" 500 Prelude> _
It might also be relevant that when compiling and running this version of the sum-file program:
{-# OPTIONS -fbang-patterns #-}
module Main where
import Data.List
import qualified Data.ByteString.Lazy.Char8 as L
main = print . foldl' (+) 0 . unfoldr parse =<< L.getContents
parse !s | Just (n,t) <- L.readInt s = Just (n, L.tail t)
| otherwise = Nothing
with
ghc -O -fglasgow-exts sumcol.hs -o sumcol_O.exe
and then
sumcol_O.exe "sumcol-input.txt"
I get
sumcol_O.exe: <stdin>: hGetBufNonBlocking: resource exhausted (Not enough space)
System: ghc 6.6 under WinXP Pro SP2 Intel Celeron 2.53GHz, 512 RAM
I'll be happy to provide any other necessary information:
Fernando Gonzalez, nanotitan at google's mail service
Change History
Note: See
TracTickets for help on using
tickets.
