[Haskell-cafe] A ghc-6.10.1 bug or a feature?

David Leimbach leimy2k at gmail.com
Wed Jan 28 11:05:26 EST 2009


On Wed, Jan 28, 2009 at 7:56 AM, Juraj Hercek <juhe_haskell at hck.sk> wrote:

> Hello people,
>
> I've recently tried this:
>
> $ uname -smpr
> Linux 2.6.28-ARCH x86_64 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz
> $ ghci
> GHCi, version 6.10.1: http://www.haskell.org/ghc/  :? for help
> Loading package ghc-prim ... linking ... done.
> Loading package integer ... linking ... done.
> Loading package base ... linking ... done.
> Prelude> a <- readFile "/sys/devices/system/cpu/online"
> Prelude> length a `seq` a
> "^CInterrupted.
> Prelude> writeFile "/tmp/test.txt" "12345\n"
> Prelude> b <- readFile "/tmp/test.txt"
> Prelude> length b `seq` b
> "12345\n"
> Prelude>
>
> The main problem is the "C^Interrupted." above. The input doesn't get read
> out till the end of the file for some reason when dealing with files in /sys
> directory (tried also others: /sys/devices/plaform/coretemp.0/temp1_input or
> /sys/devices/system/cpu/cpu0/cpufreq/cpufreq_cur_freq). Sometimes, the
> string from file in /sys gets read (with a slow delay), but most of the
> times it didn't. Everything works fine for a file in /tmp. Cat-ing files
> from shell works perfectly in /sys and /tmp.
>
> I tried also other machine:
> % uname -smpr
> Linux 2.6.28-ARCH i686 Intel(R) Pentium(R) 4 CPU 2.00GHz
>
> with the same effect. I didn't have this problem with ghc-6.8.2.
>
> Any idea?


Well readFile is a lazy getContents:

The getContents<http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#v%3AgetContents>
operation
returns all user input as a single string,

so per the documentation reading the whole file is the documented behavior.


>
>
> -- Juraj
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20090128/ec7c38f5/attachment.htm


More information about the Haskell-Cafe mailing list