<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:10px">А можно конкретный пример?<br id="yui_3_16_0_ym19_1_1461677535280_3152"><div id="yui_3_16_0_ym19_1_1461677535280_3153" dir="ltr">На ум приходит посчитать md5, но а если файла, то его целиком читать в память  не оптимально, то это уже кондуиды, и на каждую порцию получаем IO в алгоритме.</div><div id="yui_3_16_0_ym19_1_1461677535280_2756" class="qtdSeparateBR"><br></div><div style="display: block;" id="yui_3_16_0_ym19_1_1461677535280_2742" class="yahoo_quoted"> <div id="yui_3_16_0_ym19_1_1461677535280_2741" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif; font-size: 10px;"> <div id="yui_3_16_0_ym19_1_1461677535280_2740" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif; font-size: 16px;"> <div id="yui_3_16_0_ym19_1_1461677535280_2778" dir="ltr"><font id="yui_3_16_0_ym19_1_1461677535280_2777" face="Arial" size="2"> On Tuesday, 26 April 2016, 16:21, Alexander Q <qalexx@gmail.com> wrote:<br></font></div>  <br><br> <div id="yui_3_16_0_ym19_1_1461677535280_2739" class="y_msg_container"><div id="yiv0804298205"><div id="yui_3_16_0_ym19_1_1461677535280_2738"><div id="yui_3_16_0_ym19_1_1461677535280_2737" dir="ltr"><div id="yui_3_16_0_ym19_1_1461677535280_2977">Отделять IO от чистых функций очень, очень полезно. А так же очень полезно по подписи типа функции видеть, к какому состоянию она имеет доступ, и может ли она это состояние изменять.</div><div id="yui_3_16_0_ym19_1_1461677535280_2736"><br clear="none"></div><div id="yui_3_16_0_ym19_1_1461677535280_3072">Кроме того, на самом деле вы можете в Haskell писать всё в IO, это будет очень похоже на императивные языки программирования. Это будет довольно глупо, не пользоваться возможностями языка, но в конце концов, почему бы и нет?</div><div id="yui_3_16_0_ym19_1_1461677535280_3154"><br clear="none"></div><div>Всё IO ровно в том же смысле, что всё — машинный код. Если уж есть желание взять язык уровнем повыше — то почему бы не взять более экспрессивный и лаконичный?</div><br clear="none"><div id="yui_3_16_0_ym19_1_1461677535280_3059" class="yiv0804298205gmail_quote"><div dir="ltr">On Tue, Apr 26, 2016 at 4:14 PM ksvs <<a rel="nofollow" shape="rect" ymailto="mailto:ksvs1996@ymail.com" target="_blank" href="mailto:ksvs1996@ymail.com">ksvs1996@ymail.com</a>> wrote:<br clear="none"></div><blockquote id="yui_3_16_0_ym19_1_1461677535280_3058" class="yiv0804298205gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:10px;"><div><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:10px;">"отделить IO от чистых функций" - а на практике разве это нужно так сильно? Ведь почти все - это IO.<br clear="none"><div dir="ltr">Даже если хочется распараллелить хитрый алгоритм, что все равно в haskell придется IO брать.</div><div><br clear="none"></div></div></div></div></div></div><div id="yui_3_16_0_ym19_1_1461677535280_3066"><div id="yui_3_16_0_ym19_1_1461677535280_3065" style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:10px;"><div id="yui_3_16_0_ym19_1_1461677535280_3064"> <div id="yui_3_16_0_ym19_1_1461677535280_3063" style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:10px;"> <div id="yui_3_16_0_ym19_1_1461677535280_3062" style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:16px;"> <div><br clear="none"><br clear="none"></div><div id="yui_3_16_0_ym19_1_1461677535280_3061"><div id="yui_3_16_0_ym19_1_1461677535280_3128" dir="ltr"><font id="yui_3_16_0_ym19_1_1461677535280_3127" face="Arial" size="2"> On Tuesday, 26 April 2016, 13:14, Alexander Q <<a rel="nofollow" shape="rect" ymailto="mailto:qalexx@gmail.com" target="_blank" href="mailto:qalexx@gmail.com">qalexx@gmail.com</a>> wrote:<br clear="none"></font></div>  <br clear="none"><br clear="none"> <div id="yui_3_16_0_ym19_1_1461677535280_3060"><div id="yui_3_16_0_ym19_1_1461677535280_3071"><div id="yui_3_16_0_ym19_1_1461677535280_3129" dir="ltr">Вред от выразительности языка? Вред от возможности отделить IO от чистых функций или от невозможности таки помножить метры на футы?</div>
<div dir="ltr">go простой и занимает нишу, которую раньше занимал PHP: простой для изучения язык, доступный девятикласснику. При этом он лучше PHP, что довольно несложно сделать. Поэтому он занимает какие-то там ещё ниши, и делает это довольно быстро, как это раньше делал PHP. К сожалению, появляются высказывания, что выразительность языка где-то там вредна (попытка оправдать выбор посредственного во многих отношениях языка). Ок, почему не ассемблер?</div>
<br clear="none"><div id="yui_3_16_0_ym19_1_1461677535280_3070"><div dir="ltr">On Tue, Apr 26, 2016, 13:07 Orlovsky Alexander <<a rel="nofollow" shape="rect" ymailto="mailto:nordicdyno@yandex.ru" target="_blank" href="mailto:nordicdyno@yandex.ru">nordicdyno@yandex.ru</a>> wrote:<br clear="none"></div><blockquote id="yui_3_16_0_ym19_1_1461677535280_3069" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div> </div><div> </div><div>25.04.2016, 21:34, "Andrey Kovbovich" <<a rel="nofollow" shape="rect" ymailto="mailto:akovbovich@gmail.com" target="_blank" href="mailto:akovbovich@gmail.com">akovbovich@gmail.com</a>>:</div><blockquote type="cite"><div>А разве go не для небольших системных утилит где выразительность языка не требуется?</div></blockquote><div> </div><div id="yui_3_16_0_ym19_1_1461677535280_3068">В точности до наоборот. Go – для больших кодовых баз, где от выразительность языка больше вреда чем пользы.</div><div>А нишу утилит Go занял за счет возможности статической компиляции в бинарные файлы работающие на всех популярных платформах,</div>
--<br clear="none">
Moscow.pm mailing list<br clear="none">
<a rel="nofollow" shape="rect" ymailto="mailto:moscow-pm@pm.org" target="_blank" href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a rel="nofollow" shape="rect" target="_blank" href="http://moscow.pm.org/">http://moscow.pm.org</a><div class="yiv0804298205yqt2243378545" id="yiv0804298205yqtfd47614"><br clear="none">
</div></blockquote></div><div class="yiv0804298205yqt2243378545" id="yiv0804298205yqtfd64519">
</div></div><div class="yiv0804298205yqt2243378545" id="yiv0804298205yqtfd52602"><br clear="none">-- <br clear="none">Moscow.pm mailing list<br clear="none"><a rel="nofollow" shape="rect" ymailto="mailto:moscow-pm@pm.org" target="_blank" href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a id="yui_3_16_0_ym19_1_1461677535280_3067" rel="nofollow" shape="rect" target="_blank" href="http://moscow.pm.org/">http://moscow.pm.org</a><br clear="none"><br clear="none"><br clear="none"></div></div></div><div class="yiv0804298205yqt2243378545" id="yiv0804298205yqtfd12203">  </div></div><div class="yiv0804298205yqt2243378545" id="yiv0804298205yqtfd39614"> </div></div><div class="yiv0804298205yqt2243378545" id="yiv0804298205yqtfd18427">  </div></div></div></div><div class="yiv0804298205yqt2243378545" id="yiv0804298205yqtfd52962">--<br clear="none">
Moscow.pm mailing list<br clear="none">
<a rel="nofollow" shape="rect" ymailto="mailto:moscow-pm@pm.org" target="_blank" href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a rel="nofollow" shape="rect" target="_blank" href="http://moscow.pm.org/">http://moscow.pm.org</a><br clear="none">
</div></blockquote></div></div><div class="yiv0804298205yqt2243378545" id="yiv0804298205yqtfd91373">
</div></div></div><br><div class="yqt2243378545" id="yqtfd97475">-- <br clear="none">Moscow.pm mailing list<br clear="none"><a shape="rect" ymailto="mailto:moscow-pm@pm.org" href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a shape="rect" href="http://moscow.pm.org/" target="_blank">http://moscow.pm.org</a><br clear="none"></div><br><br></div>  </div> </div>  </div></div></body></html>