[Haskell-beginners] R/W from/to partitions (on linux)

Silent Leaf silent.leaf0 at gmail.com
Mon Jun 26 08:38:25 UTC 2017


also what happens to the result of Lazy.hGetContents after i close the
handle i used for accessing the file content? can i still browse the part
of th file cached? will there be an exception? it does not seem to be the
case from tests on GHCI but then...

2017-06-26 10:35 GMT+02:00 Silent Leaf <silent.leaf0 at gmail.com>:

> i'm reading on the doc of BS.Lazy.hGetContents:
> "Once EOF is encountered, the Handle is closed."
>
> what does that imply if i'm using it inside of withFile? no risk of
> getting prematurely out of the function right? that doesn seem possible in
> a pure function but i'm asking either way.
> if say i do something that reads the whole file, say calculating its
> length, does it mean since EOF will be reached i'll have to open the file
> again? i think i'm a bit lost...
>
> i'm trying to find how to read big chunks of two files, do stuff with each
> pair of chunk, and so on till the EOF, which may or may not happen at the
> same time for both... i don't really know how lazy bytestrings handle, for
> example, taking too much from a file. one way would be to calculate the
> length, ofc, but for files (partition) of several dozens of gigabytes, it's
> a bit delicate... the ideal would be to get the length from the system
> itself rather than calculate the whole string ...
>
> 2017-06-26 7:57 GMT+02:00 Silent Leaf <silent.leaf0 at gmail.com>:
>
>> Darn quick answer! Thanks Sylvain, that may be all i need to start!
>>
>> 2017-06-26 7:51 GMT+02:00 Sylvain Henry <sylvain at haskus.fr>:
>>
>>> Hi,
>>>
>>> It is not Haskell specific. You just have to read from the partition
>>> device special file (e.g., something like /dev/sdb2) as you would do with a
>>> normal file. You must have the permission to do so (e.g., be root). Be
>>> careful as you can destroy your system if you write something incorrect in
>>> your partitions.
>>>
>>> Repositioning handles: https://www.stackage.org/haddo
>>> ck/lts-8.20/base-4.9.1.0/System-IO.html#g:13
>>>
>>> Read/write: https://www.stackage.org/haddock/lts-8.20/base-4.9.1.0/Syste
>>> m-IO.html#v:hPutBuf
>>>
>>> Sylvain
>>>
>>> On 26/06/2017 07:35, Silent Leaf wrote:
>>>
>>> Hi,
>>>
>>> I'd like to be able to read and write from/to partitions directly. I've
>>> had trouble with the documentation (honestly i can't find anything, and any
>>> mention of partitions leads to mathematical partitioning of lists or
>>> whatever).
>>>
>>> I obviously would need to be able to write or read from a specific
>>> position in the partition. Mind you that would be good too for files (that
>>> is, being able to read/write from a specific position in it) since i plan
>>> on making disk images.
>>>
>>> Thanks in advance!
>>>
>>>
>>> _______________________________________________
>>> Beginners mailing listBeginners at haskell.orghttp://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>>>
>>>
>>>
>>> _______________________________________________
>>> Beginners mailing list
>>> Beginners at haskell.org
>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20170626/dbe45e64/attachment.html>


More information about the Beginners mailing list