[Moscow.pm] А почему не Perl?

Alexander Q qalexx на gmail.com
Ср Апр 27 01:26:08 PDT 2016


за unsafePerformIO по такому поводу — билет на хедхантер в одну сторону,
мне кажется.

Если md5 чистая функция Bytestring -> Bytestring, и у нас есть IO
Bytestring какой-нибудь (readFile там), то мы делаем очевидный ход
fmap md5 (readFile path)
и вот смотри ка, даже упёртому должно быть понятно, что у нас
а) отделение IO от чистой логики
б) ровно то, что хочется на входе и выходе

Для перемножения матриц я рекомендую использовать unboxed вектора из
библиотеки vector <https://hackage.haskell.org/package/vector>.

А ещё я предлагаю засунуть свой снобизм туда же, где ваши знания про
функциональное программирование, и почитать хоть что нибудь
<https://wiki.haskell.org/IO_inside> уже. Вот даже цитату принёс:
> Haskell is a pure language, which means that the result of any function
call is fully determined by its arguments.

On Wed, Apr 27, 2016 at 9:47 AM ksvs <ksvs1996 на ymail.com> wrote:

>
> unsafePerformIO
>
> md5 - функция принимает на вход ленивую ByteString от файла и выдает
> Integer.
> Чистая функция? Да. А внутри unsafePerformIO. :-)
>
> Перемножить матрицы для скорости паралельно.
> Тип функции :: матрица -> матрица -> матрица
> Чистая функция, а внутри forkIO и unsafePerformIO.
>
> От всем хорош haskell, только притворятся чистым языком.
>
> :-)
>
>
>
> On Tuesday, 26 April 2016, 16:59, Alexander Q <qalexx на gmail.com> wrote:
>
> > На ум приходит посчитать md5, но а если файла, то его целиком читать в
> память  не оптимально, то это уже кондуиды, и на каждую порцию получаем IO
> в алгоритме.
>
> Отличное условие. Посчитать функцию от (IO a) без IO? Будьте добры, спойте
> "ёлочку", не набирая воздух в течение получаса.
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20160427/fc4a1e43/attachment.html>


Подробная информация о списке рассылки Moscow-pm