[Haskell-beginners] R/W from/to partitions (on linux)
Silent Leaf
silent.leaf0 at gmail.com
Mon Jun 26 10:53:57 UTC 2017
yes, conduits really seem optimal! i'll probably use that in my final
version, thanks!
however i'll first try without using pre-made tools, to get the handle (ha)
of manually using (binary) files with haskell, as after all my program isn
that complicated.
2017-06-26 10:42 GMT+02:00 Stefan Risberg <steffenomak at gmail.com>:
> I would use some streaming library instead of lazy bytestring to keep
> memory at reasonably low levels. It will also help with reading chunks, and
> then composing actions on it.
>
> For library need you got: conduits, iostreams and pipes
>
>
>
>
> On 26 Jun. 2017 10:37, "Silent Leaf" <silent.leaf0 at gmail.com> wrote:
>
> 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
>>>
>>>
>>
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://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/e50db4bc/attachment.html>
More information about the Beginners
mailing list