Программирование


Ответить в тред Ответить в тред

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
239 17 104

Haskell тред /haskell/ Аноним 03/10/19 Чтв 22:03:55 14882561
PureDevilHaskell.png (69Кб, 413x413)
413x413
Аноним 03/10/19 Чтв 22:06:06 14882592
Аноним 03/10/19 Чтв 23:11:06 14883223
Аноним 03/10/19 Чтв 23:13:09 14883254
>>1488322
Ну так тред для даунов же, вот и пикча всратая.
Аноним 05/10/19 Суб 11:43:04 14892065
>>1488256 (OP)
есть шинибуть актульнее рил ворда?
Аноним 06/10/19 Вск 00:04:06 14897476
>>1489206
ты дебил какие книги просто листай хакаге
Аноним 07/10/19 Пнд 07:57:49 14907867
RZBAohJTdKk.jpg (122Кб, 1280x664)
1280x664
>>1489206
Например вот, написал недавно.
Аноним 08/10/19 Втр 20:51:06 14918778
image.png (23Кб, 1138x223)
1138x223
Возможно ли без зависимых типов сделать функцию, которая гарантировано вернет смежную заданой вершине вершину в графе, а не какой-то левый int?
Аноним 08/10/19 Втр 20:53:09 14918789
Аноним 09/10/19 Срд 01:30:01 149210810
>>1491877
А если граф состоит из одной ноды?
Аноним 09/10/19 Срд 02:53:19 149212311
Аноним 09/10/19 Срд 11:29:44 149222712
>>1491877
Можно на типах одиночках, но это не точно.
Аноним 09/10/19 Срд 13:22:55 149226113
>>1489747
>листай хакаге
а если я не из деревни скрытого листа, что мне делать?
09/10/19 Срд 19:09:49 149249314
Отписался в эпичном треде.
Аноним 13/10/19 Вск 23:05:48 149602915
хаскель еще живой вообще?
Аноним 15/10/19 Втр 20:42:09 149742516
>>1496029
Живее всех живых.
Можешь посмотреть выступления Пейтона-Джонса на эту тему одного из архитекторов хаскеля.
Но если смотреть не хочешь, то суть в том, что из совершенно ненужной академической хуеты без реализации I/O на первых стадиях язык стал использоваться в продакшене двумя с половиной Васянами, что определенно лучше нуля.
Аноним 15/10/19 Втр 20:56:39 149743617
>>1496029
Скорее да чем нет

В скриптинге попизже петухона
Конкуретноспособен для написания серверлесс/микро сервисов
Общая архитектура все еще охуенна для написания любой ДСЛ шизофрении

Основные проблемы все еще провисающий низкий уровень и отсутсвие супер-топ-мейнстрим фреймворков

Из примеров

Пара случаев неведомой низкоуровневой хуйни https://github.com/haskell-servant/servant/issues/1167 https://github.com/haskell-servant/servant/issues/1165

Каким-то хуем сломанный haddock после 8.6+

Вебсокет протокол, например, вообще никак не описывает способы справления с крашем клиентов
Основная хачкельная network либа с сишным ffi просто ссылается на эту хуйню не предлагая никаких решений и хз как это решать

Еще рвут жопу бинарные либы отказывающие компелироваться из-за ссылок друг на друга

Имхо вызвано основным спонсированием микрософта который толкает свое фшарпное говно
Комунити нереально упоротое и если сможет превозмочь то возможно язык наконец-то выстрелит
Ну или окончательно утонет в ближайшие 5 лет
Аноним 16/10/19 Срд 08:50:59 149775018
>>1497436
Чем тебе F# не угодил? По-моему это лучший ЯП в экосистеме "точка нет"
Аноним 16/10/19 Срд 10:28:16 149777819
>>1497750
точка нет гавно
я скозал
Аноним 16/10/19 Срд 10:36:17 149778320
>>1497436
>В скриптинге попизже петухона
Ты знаешь, что ты поехавший?
Аноним 16/10/19 Срд 11:04:44 149779921
Аноним 16/10/19 Срд 22:52:19 149825322
Подкиньте пожалуйста сайт хохла по хаскелю, не могу найти.
Аноним 17/10/19 Чтв 14:37:56 149860923
Аноним 18/10/19 Птн 15:34:46 149935324
>>1498609
еще бы москвина притащил сюда васян васяныч
Аноним 18/10/19 Птн 19:15:38 149949725
Аноним 18/10/19 Птн 19:17:02 149949826
>>1499497
>ГОВНО
>ДРИСНЯ
>НЕАДЕКВАТ

Добавьте в шапку, девиз хачкелистов жи!
Аноним 21/10/19 Пнд 03:51:12 150119927
Аноним 21/10/19 Пнд 07:58:58 150124928
Аноним 21/10/19 Пнд 20:32:29 150178829
Аноним 21/10/19 Пнд 20:56:55 150179930
>>1501788
> tsar1997
Боже, ты и сюда пришёл. Мало тебе лора и говнокода?
Аноним 21/10/19 Пнд 20:58:21 150180231
>>1501799
Обоснуй свои потуги.
Аноним 21/10/19 Пнд 22:15:04 150186032
>>1501788
Двачую Царя. Этот Царь настоящий царь.
Аноним 21/10/19 Пнд 22:25:13 150186933
>>1501799
Царь охуенен. Я теперь буду читать Царя вместо двача, потому что на дваче - вкатывальщики и эстетствующий ФП-долбоебы, а Царь изрекает истину.
Аноним 22/10/19 Втр 00:03:09 150193434
>>1501788
Ебать там байтоговнарик сам себя обоссал, плюс ему ещё в комментариях за щеку напихали. Тяжела судьба няшабляди.
Аноним 22/10/19 Втр 00:18:45 150193835
>>1501788
Лол, откуда у него столько хейта к хаскелю и фп-шникам?
Аноним 22/10/19 Втр 00:33:07 150194536
>>1501938
Когда-то давно ФП-элита из кодача жестко нагибала всяких макакенов: джяваиндусов, пыхоплеядеров, жс-школьников и прочий скам, но сильнее всех досталось крестоопущенцам, сидаунам и прочим байтоговнарикам: их загнали под шконарь на многие годы. Несмотря на то что эпицентром этого эпик тралинга был докач и частично pr/, на остальные помойки типа жеже, лора, жуика мода перенеслась так же. ФП-элита давно уже заскучала и разбрелась, но у всяких байтоговноедов заставших эти времена при слове ФП или хаски начинают болеть старые анальные раны.
Аноним 22/10/19 Втр 01:08:00 150195037
Нормальный язык, его мой дед еще писал
Аноним 22/10/19 Втр 19:22:05 150240438
why so stupid.jpg (11Кб, 285x200)
285x200
>>1501788
>Приятны сердцу такие статьи, ибо помогают развенчивать культ скорости сишки, что паразитируют на умах людей уже многие десятилетия.
>развенчивать культ скорости сишки
>культ скорости сишки
>КУЛЬТ СКОРОСТИ СИШКИ
>РАЗВЕНЧИВАТЬ

А культ скорости света они не собирались развенчивать?
ФПетушки попытались наехать на С в области, в которой С безраздельно властвует, это ничего плохого не говорит об ФП или Хачкеле, только об ебанутости ФПетушков.

Аноним 22/10/19 Втр 19:22:50 150240639
>>1501945
>ФП-элита давно уже заскучала и разбрелась по макдональдсам
Аноним 25/10/19 Птн 16:08:55 150455540
Аноним 26/10/19 Суб 20:33:00 150548041
>>1488256 (OP)
Еще добавь https://crypto.stanford.edu/~blynn/lambda/ для желающих понять как это работает под капотом хаскель сначала транспилится Core, который суть вариант System FC, затем в Spineless Tagless G-machine, затем в C--, а дальше от выбранного бэкенда зависит (https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/generated-code для любопытных) .
Да и вики у GHC весьма полезна https://gitlab.haskell.org/ghc/ghc/wikis/index .
Аноним 26/10/19 Суб 20:50:22 150549942
>>1505480
Бля, чувак, неебаться ты шаришь, конечно. Мое увожение
Аноним 26/10/19 Суб 20:57:29 150551143
>>1505480
Забыл докинуть: http://babel.ls.fi.upm.es/~pablo/Papers/Notes/f-fw.pdf
для желающих понять, что же такое simply typed lambda calculus, система типов Хиндли-Милнера (на которой был основан хаскель-98) и чем это отличается от System F.
Аноним 26/10/19 Суб 20:58:59 150551644
Аноним 26/10/19 Суб 20:59:29 150551745
>>1505511
Спасибо, читану, а есть че по гомотопической теории типов?
Аноним 26/10/19 Суб 21:00:28 150551946
Аноним 27/10/19 Вск 22:00:42 150705847
Начал just for lulz вкатываться в хаскель, преимущественно из-за того, что понравился ФП подход + развитая система типов.
Вопросы такие:
1. Какие ограничения в хаскеле есть в системе типов? Есть ли то, что есть в других более развитых языках, но нет в хаскеле? Я знаю про coq, idris, agda, но не знаю, чем принципиально их система типов отличается от хаскельной, мне кажется, что в хаскеле есть всё. Что-то слышал краем уха про HoTT/Martin-Löf TT, они сейчас востребованы?
2. Обязательно ли учить теоркат? Я сейчас читаю Милевски + какие-то конспекты лекций, откопанные в НМУ. Насколько хорошо её нужно знать?

Аноним 28/10/19 Пнд 12:44:58 150727848
Аноним 28/10/19 Пнд 15:38:58 150746049
>>1507278
>https://www.youtube.com/watch?v=xcZ5yq_gG-4
Что за фигня? Смотреть не стал, по превью сделал вывод, что не отвечает на мои вопросы
>Очень сомнительная мурзилка
Очень уважаемый человек у фпшников, кмк. Не Олег Киселев, конечно, но он и не занимается особо научной деятельностью. Книжка у него тоже топ, особенно благодаря стилю повествованию и упражнениям.
Аноним 28/10/19 Пнд 17:41:53 150764150
15715330131332.jpg (28Кб, 600x600)
600x600
>>1507460
>читаю Милевски
>он и не занимается особо научной деятельностью
>Книжка у него топ
>Очень уважаемый человек
Очередной свидетель Теории Типов
Аноним 29/10/19 Втр 06:30:52 150809751
Аноним 30/10/19 Срд 14:20:28 150908452
>>1508097
Системы типов в языках программирования и теории типов это две большие разницы
На практике в 99.99999% случаев второе натягивается на первое для красивой записи в бесполезной формуле
Милевски уже лет 6 ездит со своими очень интересными лекциями имея на гитхабе пару хеллоуворлдов
Аноним 31/10/19 Чтв 19:37:19 151006553
Вы реально умные тут?
Аноним 04/11/19 Пнд 09:39:15 151269254
>>1501788
Это какой-то хачкелетолстяк, не будет же человек на полном серьезе писать
>Так же, меня не интересует какая-либо портабельность, как и сишку в целом. Существует только одна ОС и одно окружение. Всё остальное - для идиотов, либо домохозяек.
Аноним 04/11/19 Пнд 09:58:16 151270255
>>1512692
> Существует только одна ОС и одно окружение. Всё остальное - для идиотов, либо домохозяек.
Но ведь это так и есть.
Аноним 04/11/19 Пнд 10:28:23 151272056
>>1512702
Двачую. Есть только Макось, все остальное для нищенок и пердолей.
Аноним 04/11/19 Пнд 11:29:00 151274757
Аноним 18/11/19 Пнд 11:20:16 152388358
1
Аноним 18/11/19 Пнд 16:03:28 152405659
>>1501788
Как эта болезнь называется?
Аноним 28/11/19 Чтв 18:12:23 153173360
>>1512720
джобс помер и мак тож недолго осталось
Аноним 01/12/19 Вск 16:58:25 153487161
Короче в пизду язык и в правду мертвая хуита для мелкоскриптов как альтеранитва питухону
Аноним 05/01/20 Вск 15:15:30 156553262
Аноним 06/01/20 Пнд 00:18:00 156592363
чото непонял

только начал изучать хаселл, такой вопрос, имена должны быть такими уёбищно мелкими и непонятными? я пришёл из нормальных языков, где наоборот принято называть переменные как можно более понятно и длинно (но не слишком, тоже перебор, ну крч баланс соблюдать), а короткие имена типа a, b, c — это ошибка новичка тип, надо нормально писать мол userId, lastNumber и т.п. а не по одной-три буквы, или аббревиатура не дай боже (ну если только всеми принятые типа GUI, TCP). ну и вот.

пример паттерна из учебника: xs@(x:y:ys)
чо это? чо за иксэс? куда, почему, игрек, игрекэс, чо это значит?

я вот например так если напишу, на проекте допустим:

firstLetter :: String -> String
firstLetter all@(first:rest) = "First letter of string " ++ all ++ " is " ++ [first] ++ " the rest is " ++ rest

меня отпиздит тимлид? если я хочу нормальные названия переменных, не принято так?

смотрю вот исходники типа энтырпрайз проектов на хаскелле и там всё такое: r вместо responce, m вместо monad, a вместо param, bs вместо byteString, а были ещё x, t и b, которые я так и не понял чо значат из кода. У вас в хаселле буквы денег стоят, почему нельзя нормально писать?

я чото непонял?

спасибо заранее, аноны
Аноним 06/01/20 Пнд 17:43:16 156633664
screenshot-www.[...].png (103Кб, 940x803)
940x803
вакансия в Кадене
Аноним 06/01/20 Пнд 18:13:50 156635165
ВСЕ В КАНАДУ ПОСОНЫ!
ТАМ ВАКАНСИЯ!
Аноним 06/01/20 Пнд 22:07:51 156645566
>>1565923
> нормальных языков
Ну ты понял.

В математике вопреки здравому смыслу принято называть переменные одной буквой. Это сделано, чтобы как можно больше времени уходило на запоминание обозначений на самом деле - чтобы быстрее переписывать формулы при преобразовании. А сабж пытается всячески под неё косить.

> тимлид
Толсто.

> энтырпрайз проектов на хаскелле
Очень толсто.
Аноним 06/01/20 Пнд 23:09:42 156649667
>>1565923
Имена длинными имеет смысл делать только в том случае, если скоуп слишком большой и все эти i, x, xs перемешаются в одну кучу говна, в которой будет невозможно разобраться. В ФП принято делить все на как можно более простые функции (сама лямбда, в которой даже функций от многих переменных нет, к этому располагает), из-за чего скоуп получается маленьким и необходимости в длинных названиях нет.
m вместо Monad используют, потому что монады в хачкеле очень часто используются. Вон в Си тоже любят писать вместо pointerPizda pPizda, потому что все и так знают, что p -- это указатель, которые в Си повсюду.
Аноним 07/01/20 Втр 12:25:12 156668068
>>1565923
Длинные имена для переменных которые что-то обозначают - userName, address итд
Для абстрактных переменных берут короткие общепринятые имена.
Ты же не жалуешься что в "нормальных языках" индекс в цикле обозначают буквой i, например?

Конкретно твой пример:
>xs@(x:y:ys)
xs - весь лист
x - первое вхождение
y - второе вхождение
ys - остатки
Просто общепринятые названия
Аноним 09/01/20 Чтв 09:04:12 156797469
Аноним 09/01/20 Чтв 09:09:09 156797570
>>1567974
Просто смотрел исходники сервера на хаскелле, но там и для не абстрактных переменных были короткие названия, типа r вместо response и чо-то ещё было. Некоторые я даже так и не понял что значат по исходнику — вроде для этого длинные названия и нужны, чтобы другой прогер (или ты через некоторое время), когда прочел этот код, понял что это значит. Ну, может, в процессе обучения поймаю "просветление" и начну понимать, не знаю, пока просто так.

Спасибо, ещё раз.
Аноним 09/01/20 Чтв 12:39:00 156803871
>>1567975
Ну тут еще может быть такой момент, что автор кода, который ты смотрел, просто сделал на отъебись.
Аноним 15/01/20 Срд 23:36:13 157383872
Аноним 19/01/20 Вск 17:58:18 157774473
>>1488256 (OP)
Может кто-нибудь ткнуть носом чего читать, чтобы заинстансить функтор к типу с рекорд-синтаксисом где в одном из полей функция лежит? Если убрать всё лишнее, то вот этот случай разобрать надо:

newtype Dvach b = Dvach { abu :: ( b -> String ) }

При этом
newtype Dvach b = Dvach { abu :: ( String -> b ) }
спокойно работает через
fmap f (Dvach pr) = Dvach ( \a -> f (pr a) )


Я уже часов 20 гугл рою, а ебучии статьи либо математику чистую сыпят, либо остоебавший уже пример "ну сейчас разберём функторы для Maybe', охуеть как вы теперь хачкель знаете".
Аноним 19/01/20 Вск 17:59:09 157774674
Аноним 20/01/20 Пнд 10:13:11 157837575
>>1577744
>"ну сейчас разберём функторы для Maybe', охуеть как вы теперь хачкель знаете"

Пиздец жиза

Мимо-учу-хачкилл-уже-год
Аноним 20/01/20 Пнд 10:31:43 157837976
Аноним 21/01/20 Втр 03:24:41 157918177
>>1578379
Спасибо, то что надо прям. Вот почему среднему статьеписателю лень сделать приписку про то что функторы есть разные и применяются по ситуации, пиздец.
Аноним 09/02/20 Вск 21:30:37 159666778
Elixir холоп итт. У нас там есть тулза mix, принято новые приложения создавать по команде mix new app_name. Эта команда запилит всю начальную хуйню: конфиги, базовый модуль, файл с зависимостями, небо, Аллаха.

Как вы в хаскелях делаете это?
Аноним 09/02/20 Вск 22:08:29 159672579
>>1596667
А в жабе есть архетипы. А в JS есть npx.

А в хаски нет нихуя, хаски слажна слажна, только факториалы можем писать в одну строчку.
Аноним 10/02/20 Пнд 10:16:03 159705080
Аноним 11/02/20 Втр 22:32:48 159869681
Тред не находи, в самом ФПшном вопрошай: А есть ли здесь юзатели Elm'а?
Аноним 12/02/20 Срд 00:13:02 159885982
>>1598696
Я прочитал намного, в нем даже тацпклассов нет. Но вообще, планирую попробовать https://reasonml.github.io/ - ocaml с реактом и поддержкоц от facebook.
Аноним 12/02/20 Срд 14:14:53 159915783
>>1598859
Там тоже тайпклассов нет.
Аноним 03/03/20 Втр 22:40:22 162238184
Screenshot20200[...].jpg (1112Кб, 1440x2863)
1440x2863
Про функцию (:)
Почему она не фейлится на:
3:2:1:[] а даёт нам [3,2,1]
я так понимаю для двух скалярных сущностей она не определена:
3:2 должно фейлится
Какого хрена она тогда вместо этого начинает выполняться справа на лево?
Аноним 03/03/20 Втр 22:43:30 162238385
>>1622381
Ещё забыл спросить какой сакральный смысл в быстром препенде и медленном аппенде? В обычной жизни, я обычно что то добавляю в список в конец, а не в начало.
Аноним 03/03/20 Втр 23:23:22 162244686
>>1622381
>>1622383
Что ты за хуйню несешь?
Кто тебе еще там что-то должен?
Это обычный линкед лист
Аноним 04/03/20 Срд 00:03:26 162248387
>>1622383
Потому что никак не сделаешь аппенд за O(1)
Аноним 04/03/20 Срд 00:36:03 162251788
>>1622483
Тебе показать как сделать?
Аноним 04/03/20 Срд 00:41:05 162252389
>>1622446
Мне никто ничего не должен, я ожидаю, интуитивно, что будет такое поведение, что исполнение идёт сверху вниз, слево направо.

> Это обычный линкед лист
Ой я то думал, что вставка в такой лист в начало и конец практически бесплатна. Оказывается то вон оно как.
Аноним 04/03/20 Срд 01:13:09 162255890
image.jpg (99Кб, 1280x720)
1280x720
>>1622523
Оно и идёт слева направо
Ты даже не понимаешь что ты не понимаешь
Аноним 04/03/20 Срд 03:17:17 162259091
>>1622517
Покажи. Только чтобы эта структура была перзистентной.
Аноним 04/03/20 Срд 13:00:59 162280592
>>1622523
>я ожидаю, интуитивно

хлебушек, никогда ничего не ожидай интуитивно, не изучив матчасть
Аноним 04/03/20 Срд 23:37:43 162341893
Аноним 04/03/20 Срд 23:51:26 162342694
>>1623418
Ебобо что тебе вообще не понятно?

data LinkedList a = Cons a (LinkedList a) | Nil

Cons 1 (Cons 2 (Cons 3 Nil)) == 1:2:3:[]

Тупо 3:2 эквивалентно Cons a a вместо Cons a (LinkedList a) поэтому ты мудак или хуй пойми что ты вообще спрашиваешь
Аноним 05/03/20 Чтв 01:03:11 162345595
>>1623418
>>1623418
>Есть что по существу?

книжки читай, или любые тексты с первой страницы выдачи гугла по релевантным запросам.
Аноним 05/03/20 Чтв 10:35:29 162359596
>>1623426
Ты не видишь на входе скаляр и список на выходе список?
Prelude> :t (:)
(:) :: a -> [a] -> [a]

1:2:3:[]

А если выполнять этот код не задом на перед то получится:
1:2 - скаляр и скаляр

Так вопрос почему он вдруг выполняется задом на перед?
Аноним 05/03/20 Чтв 10:46:06 162361097
Есть функция writeFile path content.
В качестве аргументов принимает String String.
Есть функция которая возвращает Doc.
Какой наиболее простой способ конвертировать Doc->String или напрямую записать Doc в файл?
Аноним 05/03/20 Чтв 10:50:57 162361898
>>1623610
Насколько понимаю по Doc имеется ввиду Text.PrettyPrint.HughesPJ
Аноним 05/03/20 Чтв 10:55:30 162362199
>>1623618
Вопрос закрыт, разобрался.
Аноним 05/03/20 Чтв 19:39:50 1624205100
Аноним 06/03/20 Птн 16:24:38 1625126101
Аноним 07/03/20 Суб 06:10:30 1625901102
>>1625126
Ты даун не умеющий ни в инфиксность ни в логику чтобы самому додуматься до нее
Впесто питушения на 10 постов со стрелянием себе в ноги хеллоуворлдом мог бы прочитать первые пару глав
Аноним 07/03/20 Суб 12:06:35 1626081103
>>1625901
Ты даун, не можешь ответить на вопрос, четкий и понятный.
Аноним 07/03/20 Суб 12:11:58 1626084104
>>1626081
Если это не жир и ты и в правду дегенерат не осиливающий линкед листы за неделю лучше выкатись
Аноним 07/03/20 Суб 18:51:54 1626484105
>>1626081
>Ты даун, не можешь ответить на вопрос, четкий и понятный.

Ну так ты спрашиваешь: "У меня после сранья зад грязен, что делать?" Ну да, чёткий и понятный вопрос. Но я не уверен, что на него обязательно отвечать.
Аноним 09/03/20 Пнд 00:32:53 1628155106
>>1507058
1. Нет зависимых типов (функции из значения в тип и зависимые пары) - погугли лямбда-куб, нет линейных/аффинных/uniqueness типов, нет сабтайпинга (ну это так-то только плюс, конечно), нет разделения между данными и коданными, нет системы эффектов, нет тотальности (всё залифчено - жди undefined)
2. Для хаскеля - нет. Если только как приятное дополнение
Аноним 09/03/20 Пнд 00:42:58 1628160107
>>1623595
блэ

1:2:3:[]
это
1:(2:(3:[]))
это
1:(2:[3])
это
1:[2,3]
это
[1,2,3]

оно же

1:(2:(3:[]))
это
(:) 1 ((:) 2 ((:) 3 []))
эквивалентно
Cons 1 (Cons 2 (Cons 3 Nil))

теперь попробуй сюда засунуть другой список в конец за константное время
Аноним 09/03/20 Пнд 02:00:55 1628195108
Аноним 09/03/20 Пнд 21:48:39 1629001109
>>1628160
Я это понимаю, мой вопрос почему он начал выполнять с конца а не с переда завалившись на 1:2
Аноним 10/03/20 Втр 01:05:53 1629133110
>>1629001
Тебе десять раз ответили
Гугли infix definition
Аноним 10/03/20 Втр 08:56:00 1629233111
С хаскелом практически не знаком, необходимости изучать нет, нужно только срочно подправить один скрипт.
Есть конструкция вида:
do
операция1
операция2
...
операцияN

Каждая из операция с большой долей вероятности генерирует исключение. Как обернуть их в нечто вроде try ... catch, каждую по отдельности?
Аноним 10/03/20 Втр 09:51:02 1629240112
>>1629233
Control.Exception.Safe
tryAny операция1
Аноним 10/03/20 Втр 13:22:56 1629371113
Аноним 11/03/20 Срд 01:10:55 1629797114
Никак не могу закончить курс на Степике. Значит ли это что я даун? Императивные языки идут стабильно средне, во всяком случае все что из императивных попадалось под руку - осваивал, но ебаный хаскел абсолютно деревянный. Где блять взять интересные задачи, которые можно было бы решать на нем? Для соревновательной проги не годен, для алгоритмов чуть сложнее сортировки ебаной он уже не гибкий бля, единственный видимый плюс среднего вкатывальщика - хуй. Их нет. Хотел назвать бесконечные структуры, которые в целом нахуй не нужны.
Был уверен что плюс функционального в том, что он проще для человека, что на нем проще изъясняться. По факту же что на нем реально можно делать? Работы нет, реальные задачи решаются проще большим другим количество инструментов.
Информатичка в школе говорила что такая хуйня нужна чтобы "мозг на место поставить". По факту (вернее с моей (низкой) колокольни) не видно задач и смысла в изучении такой хуйни. Продакшен ебал чисто функц. языки
Аноним 11/03/20 Срд 05:24:32 1629853115
>>1629797
>Никак не могу закончить курс на Степике. Значит ли это что я даун?
Курс от профессора отсебяткина из (постсовковой шараги ака мгу) ака Москвин что ли?
Не знаю, есть ли на степике какие-то доп материалы или задачи, но я смотрел первые 5 видео на ютубе и это было одно из самых бесполезных времяпрепровождений за чем-то околопрогромирования в моей жизни
>но ебаный хаскел абсолютно деревянный
Хаскель деревянный или ты? лол
Весь язык это интерфейс из монадотипов с тайпкласами и тулзов для работы с ними и io. "Учить" в общем-то и нечего
Всё остальное реализуется в абстракциях, запихнутых в эти узки рамки, и С/C++ биндах
Все либы легко читаются из сорсов
>Где блять взять интересные задачи, которые можно было бы решать на нем?
Там же, где и задачи для императивных языков
Продакшон веб мертв, но написать полноценный микросервис в <= 200 строк, который будет в разы быстрее и менее прожорливым относительно питухонов с нодами, вполне реально
Вообще ниша хаскеля сейчас в писании скриптохуйни и создание ебнутых мастермайнд динолоад систем по типу фейсбучной. Посередине огромная пропасть
>Для соревновательной проги не годен
Годен
>для алгоритмов чуть сложнее сортировки ебаной он уже не гибкий бля
Это скорее специфика всего фп
>единственный видимый плюс среднего вкатывальщика - хуй
Ну школьники-лицеисты 8+ классов осиливали, например
Хотя язык и вправду скорее для программистов, нежели вкатывальщиков
>Хотел назвать бесконечные структуры, которые в целом нахуй не нужны.
Это какая-то совсем частная хуйня. И в неё могут 99.9% фп языков, если что
>По факту же что на нем реально можно делать?
По факту что угодно
>Информатичка в школе говорила
>По факту (вернее с моей (низкой) колокольни)
>Продакшен ебал чисто функц. языки
)
Аноним 11/03/20 Срд 12:54:51 1630037116
>>1629853
> Курс от профессора отсебяткина из (постсовковой шараги ака мгу) ака Москвин что ли?
там и есть Москвин. Он же топ (или просто единственный) среди русского обуч. контента по haskel
> Хаскель деревянный или ты? лол
я конечно, лол
>>Для соревновательной проги не годен
>Годен
https://habr.com/ru/post/193722/
чувачок пишет, что разработка в принципе больше времени занимает, между такими же додиками будешь конкурировать?

Аноним 11/03/20 Срд 13:03:12 1630046117
>>1630037
Тебе хотя бы 16 есть?
Аноним 11/03/20 Срд 16:05:28 1630231118
>>1630046
будет 15 в июне бро кек ну ты рофл
Аноним 24/03/20 Втр 16:04:56 1641625119
Бампану мертвый тред. Аноны насколько реально вкатится в хуяскель, со школьной математикой ? По факту первый яп, очень сильно пугает, что типа "математический язык". Готов гуглить базовые вещи, но пройти весь вузовский курс математики, не осилю.
Аноним 24/03/20 Втр 16:42:39 1641658120
>>1641625
Вузовский курс "математики" вообще не о том (если специальность не математика) так что похуй. Вкатывайся а потом посмотришь. Если в школе математика нормально заходила то все ок должно быть.
Аноним 24/03/20 Втр 17:07:18 1641676121
>>1641625
>насколько реально вкатится в хуяскель, со школьной математикой
Можно вообще без математики, если не собираешься решать математические задачи
>типа "математический язык"
Это мем

>По факту первый яп
Язык мёртвый и оживать не собирается, если что
Аноним 07/04/20 Втр 21:40:59 1652957122
>>1629853
Ты еще забыл, что он для компиляторов годится (ну я свой на нем пишу)
Аноним 13/04/20 Пнд 16:15:25 1657090123
gogenerics.jpg (73Кб, 640x913)
640x913
Котоны, теория категоний в какой-то момент щелкает в голове, как что-то осмысленное, или так и остается абстрактной хуйней в вакууме с греческими терминами, интересной только исследователям греческих терминов?
Аноним 13/04/20 Пнд 16:42:30 1657111124
>>1657090
Так и остаётся, просто становится понятнее, как это использовать, впрочем как и со всеми концепциями. "Глубинный смысл" по-прежнему будет туманным, если специально не сидеть и не читать умные и бесполезные книжки.
Аноним 13/04/20 Пнд 16:43:33 1657112125
>>1657111
>как это использовать
"это" это что?
Аноним 13/04/20 Пнд 16:45:22 1657113126
>>1657112
Конкретно в этом случае - практическую (насколько возможно) сторону теории категорий. Да и в целом ФП.
Аноним 21/04/20 Втр 22:11:12 1664047127
Не знаю куда только что делся тред Стасика про почему х-ль такой непопулярный, ведь, возможно, это мог бы быть лучший тред за последние 5 лет на этой скатившейся подмывальне.

Короче я успел написать и скопировать свой, разумеется, нахуй никому не нужный и абсолютно уёбищно банальный ответ на его ОП-пост и оставлю его здесь. Ведь извергаемое из недр добро надо где-то складывать, а не носить в себе.


>>1664023
Дизай языка конечно топовый и GHC выдаёт довольно шустрый бинарник, наверное, максимально оптимизированный из всех ФЯ, если не считать Окамл, и то идиоматичный код на окамле зачастую оказывается медленнее.
Проблема скорее не в языке и не в рантайме с компилятором, а в совершенно недоразвитой инфраструктуре, тулинге и прочих удобствах разработки, вернее их отсутствии. Второе, это отсутствие нормального онбординга для миграции разработчиков с других стеков, что в комбинации с необычным для большинства синтаксисом, и общей репутацией языка как академического, оставляет язык там, где он есть: застрявшим на уровне форсов конца нулевых.
С точки зрения менеджмента переход на хаскель весьма сомнительная затея: ООП-макакам нужно полностью переучиваться и отказываться от всего готового, то есть проебать уйму времени ради туманного повышения качества кода, которое даст какие-то выражаемые в деньгах преимущества может быть когда нибудь.
Ну и дополнительный недостаток: отлаживать и оптимизировать боттлнеки в хаскеле довольно муторно. То ли это от ленивости по умолчанию, то ли ещё из-за чего, но на том же окамле такие задачи решаются проще.
Аноним 21/04/20 Втр 22:37:18 1664068128
>>1664047
Нет, дело вовсе не в инфраструктуре. У перла вот инфраструктура была достаточно развитой, и где он? Да что там перл, руби с шарпом вон загибаются.
На популярность языка сильно влияет пиар. Пиарить заведомо переусложнённый язык ни одна корпорация не станет, это тупо невыгодно. Есть десятки новых языков, дизайн которых вполне конкурентоспособен, и если бы их пиарили, они бы давно взлетели.
А рядовые кодеры-профессионалы не станут тратить всё своё время на изучение языка, на котором они не смогут потом найти работу. Разве что for fun.
Аноним 21/04/20 Втр 23:19:41 1664111129
>>1664068
Я думаю «загибание» руби и тем более шарпа, - это фантазии.
Как человек работавший на перле, скажу что с инфраструктурой у него как раз всё было хуёво, но главная проблема была в том, что это write-only язык, годящийся скорее для всяких трюков и написания админских скриптов, чем для поддерживаемого кода.
Второе, это то что хаскель вовсе не сложен. В нём как раз всё просто и понятно, особенно если мозги ещё не забиты всякой gof-хуйнёй. Ну то есть есть конечно всякие экзотические специализированные вещи, но их знать вовсе не обязательно, хоть и может быть полезно для редких случаев.

Олсо, расскажи что это за новые конкурентоспособные языки про которые ты говоришь? Мне что-то только раст в с елмом в голову приходят.
Аноним 21/04/20 Втр 23:48:34 1664138130
>>1664047
Двачую, примерно такую же простыню написал в том треде.
Только вот это
>Второе, это отсутствие нормального онбординга для миграции разработчиков с других стеков
Это,на самом деле, первое. Хаскель предлагает разрабам освоить эзотерическую модель вычислений, которая, во-первых, вообще не похожа на привычное всем императивное программирование, которому везде учат, а во-вторых (на самом деле, как следствие) весьма нетривиально мапится на модель вычислений процессоров, то есть, на то, что "реально делает компьютер". В итоге, если ты не посвятил изучению этой эзотерики время, которого у тебя нет, то ты вообще не понимаешь, во что компилируются твои программы, даже на концептуальном уровне. В итоге имеем невозможность написания эффективного кода и оптимизации узких мест.
Аноним 22/04/20 Срд 03:52:55 1664208131
>>1664138
Плюс, как вкатывающийся добавлю: как-то совершенно экспоненциально растущая сложность происходящего, при перекате от совсем учебных вычислений факториалов и перекладывания списков из файла в файл к тем же по сути учебным примерам, но уже с логами, производительностью и сложными структурами данных.
Тут же начинают вылезать монадтрансформеры и сигнатуры с трудом влезающие в 80 символов, стопятсот расширений языка, которые сцуко расширяют (а по сути ломают, делая непонятным) синтаксис, который только выучил, произвольным образом, трюки с рекордами, линзы и прочие нихуя не элегантные способы записи того, что в сранном паскале бы записывалось в одну строчку и прочие IORef.
На этом месте, выигрыш от "чистоты и функциональности" начинает казаться не столь очевидным, а синтаксис ну вот нихуя не таким элегантным, как в учебных примерах.
Аноним 22/04/20 Срд 07:43:09 1664233132
>>1664208
>Тут же начинают вылезать монадтрансформеры и сигнатуры с трудом влезающие в 80 символов, стопятсот расширений языка
Значит ты делаешь что-то не так.
Аноним 22/04/20 Срд 08:12:33 1664237133
ого, норм
Аноним 22/04/20 Срд 17:43:14 1664733134
>>1664208
Монадтрансформеры и линзы были попыткой сделать женерик паттерн для долгосрочной поддержки %что-то нейм% а-ля абстрактный солид в мире фп
Аддоны без проблем используются в проектах на десятки тысяч строк, ничего не ломают
Мутабельные стейты и прочие IORef мне приходилось затрагивать только в тцп серверах и гуях, больше они на хуй нигде не нужны
Писать без всего вышеперечисленного можно и никто не принуждает

Что ты подразумеваешь под эзотерикой - не понимаю
Хаскель настолько хорошо оптимизируется благодаря сильным фп концептам, которые в относительно современных языках сначала были нинужны, но сейчас со скрипом неосиляторства пердолятся еле осиливая схлопывания хвостовой рекурсии в луп

мимокрокодил
Аноним 22/04/20 Срд 19:46:34 1664883135
>>1664733
>Писать без всего вышеперечисленного можно и никто не принуждает
Ты ещё скажи, что читать это никто не принуждает. Хотя логично, пока ты используешь язык для карманных петпроджектов
Аноним 22/04/20 Срд 19:55:46 1664893136
>>1664233
runWebSockets :: ConnectionOptions -> RequestHead -> (PendingConnection -> IO a) -> IO ByteString -> (ByteString -> IO ()) -> IO a
Аноним 22/04/20 Срд 19:58:51 1664896137
>>16648933
Тут всё отлично читается из типов, лол
Аноним 23/04/20 Чтв 00:48:14 1665068138
>>1664896
mapMultiRWST :: (ss ~ (HList r, HList w, HList s)) => (m (a, ss) -> m' (a', ss)) -> MultiRWST r w s m a -> MultiRWST r w s m' a'

Конечно же это всё парсится и работает. Но назовёшь ли ты такое элегантным?
Аноним 25/04/20 Суб 14:26:01 1667178139
Untitled.png (28Кб, 2202x574)
2202x574
Посмотрел сравнения синтаксиса разных языков на примере одного несложного алгоритма. Взглянул на код хаскела и сразу возбудился. В одной строчке описано то, что в других языках занимает целый абзац. Это же гениально! Почему он не становится самым популярным языком?
Аноним 25/04/20 Суб 14:51:09 1667200140
>>1667178
Во первых, это хаскелевское решето эратосфена не решето эратосфена. Суть оригинального алгоритма в том, что ты проходишь сначала по каждому второму элементу, потом по каждому третьему и так далее до sqrt(n). В хаскелевском варианте же ты каждую итерацию проходишь по всем числам и убираешь те, что делятся на 2,3...sqrt(n). В результате, в хаскеле сложность O(sqrt(n)*n), а в оригинальном алгоритме O(n/2+n/3+...n/sqrt(n)).

Во вторых, самая заметная фича хаскеля - функции первого порядка для работы с коллекциями, давно есть в многих других языках, даже в джаве.
Аноним 25/04/20 Суб 14:54:18 1667203141
>>1667178
>сравнения синтаксиса
Справа два супер сахарных лист конструктора
Еще и заточенные под спорную ленивость
Аноним 25/04/20 Суб 20:49:21 1667512142
>>1667178
А потом ты пробуешь добавить в этот алгоритм логирование происходящего и рыдаешь
Аноним 25/04/20 Суб 22:05:23 1667605143
>>1667200
> В хаскелевском варианте же ты каждую итерацию проходишь по всем числам
А вот нихуя, значения мемоизируются, ленивость рулит.

>>1667203
> два супер сахарных лист конструктора
Перепишу на do-нотацию, будет на пару строчек длиннее, всё ещё лучше чем код слева.

>>1667512
> А потом ты пробуешь добавить в этот алгоритм логирование происходящего и рыдаешь
Добавляю Writer монад и хули ты мне сделаешь?
Аноним 25/04/20 Суб 22:35:52 1667626144
>>1667605
>супер сахарных
>перепишу в очень сахарную
лол
Аноним 25/04/20 Суб 23:16:40 1667665145
>>1667626
Может тебе в go тред? У них там максимально без сахара всё.
Аноним 27/04/20 Пнд 00:58:04 1668580146
>>1667605
> А вот нихуя, значения мемоизируются
Ты обосрался, школяр. В данном случае никакой волшебной мемоизации не случится
Аноним 27/04/20 Пнд 10:28:03 1668774147
>>1667178
лол нуфани открывают для себя трал-потенциал гаскиля в 2020 нахуй
Аноним 28/04/20 Втр 21:32:08 1670859148
Хуервбадасскель
Аноним 01/05/20 Птн 03:26:58 1673288149
Мертвый тред мертвого языка.
Аноним 08/05/20 Птн 15:49:17 1680880150
let ведь не имеет смысла без in? Почему в книгах в примерах я вижу такое использование?
Аноним 08/05/20 Птн 15:54:27 1680883151
>>1680880
В выражении - не имеет. В объявлении - определяет новое имя с указанным значением, и к нему можно будет обращаться из других определений.
Аноним 08/05/20 Птн 21:40:56 1681541152
>>1680880
В do нотации in не нужен
Аноним 10/05/20 Вск 02:23:12 1682750153
>>1488256 (OP)
Стоит признать, что хоть что-то полезное написано на Haskell

>A smarter Dockerfile linter that helps you build best practice Docker images.
https://github.com/hadolint/hadolint

мимо-рубист
Аноним 10/05/20 Вск 10:17:22 1682874154
йоба.jpg (61Кб, 512x512)
512x512
>>1488256 (OP)
Обмажутся своими монадами и дрочат.
Аноним 12/05/20 Втр 06:29:52 1684666155
>>1682874
Уж лучше монадами, чем темплейтами напополам с байтоёбством.
Аноним 12/05/20 Втр 11:50:35 1684837156
>>1684666
Соглы, именно поэтому я за пхп и жс, где ничего из этого нет.
Аноним 13/05/20 Срд 20:58:49 1687146157
>>1684666
>Дампишь всё от stg до asm, пытаешься разобраться, почему вся куча засрана санками, начинаешь написание своей либы с GHC.Prim но это не байтоёбство, это другое.
>Обмазываешься тайпклассами в перемешку с singletons и th, {-# LANGUAGE CPP #-} в каждом втором модуле, но не, это не темплейты вообще ни разу.
Аноним 13/05/20 Срд 21:16:55 1687156158
>>1687146
Тем, кто пишет хеллоуворлды и с этим не сталкивается, не понять. Они максимум пару функций и data T = T Int могут.
Аноним 13/05/20 Срд 21:48:12 1687187159
Чем хаскель лучше эрланга\схемки?
Аноним 14/05/20 Чтв 09:34:43 1687392160
>>1687187
Haskell: типобезопасность, чистота, программирование на тайплевеле, ленивость, каррирование по умолчанию, выразительная система типов и конструкции языка, высокая производительность по сравнению с остальными ФЯ.

Эрланг: фунциональный бейсик с процессами.
Схема: игрушечное скобочное петушение для обучения студентов.
Аноним 14/05/20 Чтв 09:38:35 1687394161
>>1684666
Хаскельские темплейты заебись кстати, но почти нигде не нужны. В популярных либах почти не используются.

>>1687146
Ты занимаешься какой-то хуйнёй. Просто используй Haskell.

>>1687156
Это всё ещё лучше, чем долбоёбы, взявшие хаскель, но так и оставшиеся императивными дегенератами. Только от таких слышу про стеки монад-трансформеров и так далее.
Аноним 14/05/20 Чтв 09:56:46 1687396162
>>1687394
> Хаскельские темплейты заебись кстати, но почти нигде не нужны. В популярных либах почти не используются.
А как же линзы?
алсо, юзал либу для строчковой интерполяции
Аноним 14/05/20 Чтв 19:57:09 1688283163
>>1687187
Чистотой и строгой типизацией. И нет, он этим не лучше, у него это просто есть и сделано охуенно. Но если тебе это не нужно, понятное дело, он ничем не лучше.

>>1687394
>Хаскельские темплейты заебись кстати
Мальчик, ты пизданулся, TH меняется почти в каждой версии компилятора, заебёшься поддерживать. Уж лучше генерики (хотя они тоже крайне перегружены и мозголомны, хорошо, что добрые люди запилили generics-sop, этим уже можно пользоваться)

>Ты занимаешься какой-то хуйнёй.
Этой хуйнёй занимаются почти все авторы либ на Хаскелле, которые претендуют на продакшн. И поверь мне, даже если ты не видишь там откровенного байтоёбства, там будет: "Ехал инлайн через специалайз, видит инлайн в специалайзе реврайт-рул, сунул инлайн в реврайт-рул контроль фазы, STG-to-STG, STG-to-STG и снова контроль фазы." И всё это, кста, подбирается ручками путём долгих игр с бенчами и профайлерами хотя они там, самые лучшие по моим субъективным ощущениям, мне часто пиздят про тулинг, но всякие там бенчи и профайлеры в Хаскеле - заебись. Тесты тоже очень даже. И довольно ломучее - очень похожий код может либо в простейший цикл на асме развернуться, либо в ёбаное говно, которое будет насиловать мусоросборник.

В защиту Хацкеля могу сказать только то, что из него действительно можно выжать впечатляющую производительность, при этом показывая на уровне интерфейса либы только очень высокие абстракции. Такое в принципе невозможно на уровне недофункциональных суржиков вроде Скалы. Но чтобы это сделать, надо изрядно поебаться. Если хочешь написать очень красивую либу, бери Хаскель. Если надо тупо что-то закодить под конкретную задачу, попрыгай жопой на клавиатуре на С, или поебись с мудаёбской но огромной дажва-кодобазой, будет не так красиво, но быстрее.
Аноним 14/05/20 Чтв 20:02:25 1688298164
Короч, Хацкель - он ради искусства. Подрочить на него, заценить как всё круто сделано, поплеваться, почему в моём языке авторы-долбоёбы изначально не сделали как в Хацкеле. Но вот практические задачи как правило решаются быстрее на других языках.
Аноним 14/05/20 Чтв 20:10:32 1688310165
>>1688283
>В защиту Хацкеля могу сказать только то, что из него действительно можно выжать впечатляющую производительность, при этом показывая на уровне интерфейса либы только очень высокие абстракции.
Ну какой нибудь tensorflow тоже, не то чтобы сильно замедляется питоновым интерфейсом с максимально хайлевелными конструкциями. Просто потому что снизу крутятся плюсы. Это, прямо скажем, хуёвый аргумент.
Аноним 15/05/20 Птн 00:02:56 1688561166
>>1688310
Ну это не то. TF - удобная прослойка между скриптом и С++. А хацель как бы изначально позволяет констуировать интерфейсы. Я как бы щась сольюсь, но в хацкеле есть возможность построить крутую либу, a в говноскриптах такой возможности практически нет.
Аноним 20/05/20 Срд 11:59:30 1694864167
image.jpg (22Кб, 600x600)
600x600
Я всё думал почему все пишут именно про монады похоже большинство не понимает что такое тайпклассы и зачем они нужны
Аноним 20/05/20 Срд 16:04:54 1695205168
>>1694864
Больше удивляют люди, которые хотят формошлепства на монадах.
Аноним 20/05/20 Срд 16:14:35 1695215169
>>1695205
Ты же не понимаешь, что такое монады?
Аноним 20/05/20 Срд 16:57:07 1695262170
>>1695215
Здесь запятая перед что не нужна.
>Что такое монады
Не особо.
Аноним 20/05/20 Срд 17:32:20 1695293171
>>1488256 (OP)
Знаю компанию которая использует в вебе хаскел на бекенде.

В чем его преимущество перед джавой или пхп для бекенда?
Аноним 20/05/20 Срд 17:47:50 1695320172
>>1695293
не приходится работать с джаво- и пыходебилами.
Аноним 20/05/20 Срд 18:53:05 1695418173
>>1695293
Гринтреды и супервысокоуровневые либы, сервис на которых можно написать в <200 строк. Правда, это есть практически во всех мейнстрим ФП языках

Хаскель мог бы быть бай дизайн быстрее практически всех мейнстрим ФП языков, но всё давно скатилось в тонны неведомого непрофилируемого спагетти
Хаскельная типизация проёбывает "иммуность к легасиванью" кода и начинает стрелять в ноги при малейшем изменении основ библиотеки
Хаскельная ленивость на хуй не нужна и в реальном мире выстрел в ногу по умолчанию

Хаскель - обычная абстрактная цпп биндилка с гц, только перечень фишек достаточно своебразный и, как показала практика, всратый
Хаскель мёртв для серьезного веба, автор самого популярного шеб фреймворка давно перекатывается на раст

Аноним 20/05/20 Срд 20:13:04 1695481174
>>1695418
>Гринтреды и супервысокоуровневые либы, сервис на которых можно написать в <200 строк
Гофер, ты?
Аноним 20/05/20 Срд 20:26:33 1695499175
Аноним 20/05/20 Срд 20:33:52 1695502176
Аноним 20/05/20 Срд 20:42:31 1695506177
Аноним 21/05/20 Чтв 14:39:50 1696262178
>>1695320
Верно. Ведь на хаскелл нет работы, а это значит, что ты не будешь пересекаться с людьми, которые зарабатывают деньги программированием.
Аноним 21/05/20 Чтв 17:46:08 1696518179
>>1696262
>успешный сидит на дваче днём
Аноним 22/05/20 Птн 10:15:21 1697321180
Хаскелл норм как первый язык программирования? Хочу настраивать Xmonad
Аноним 22/05/20 Птн 12:06:53 1697481181
>>1697321
>Хаскелл норм как первый язык программирования?
Как первый функциональный язык программирования норм, наилучший выбор. Но никогда не встречал того, для кого ФЯП был первым. хотя только что нагуглил и нашел это https://mmhaskell.com/blog/2018/6/4/bxit5i954uafn0n4gah3yrzcxnc3q6 Можешь стать первопроходцем, напиши потом через пол года результаты.

Теоретически, хаскель научит избегать тебя многих джуновских ошибок, но с другой стороны, вдруг тебе будет сложно перестроиться с фп на императивщину?

> Хочу настраивать Xmonad
DT насмотрелся? Для базовой настройки хаскель знать не нужно, достаточно читать документацию и копипастить код с инета.
Аноним 22/05/20 Птн 12:56:04 1697556182
>>1697481
>никогда не встречал того, для кого ФЯП был первым
SICP-вкатывальщики же, нет?
>Можешь стать первопроходцем
Заманчивая идея, тогда стану.
>DT насмотрелся?
Нет, у него скучные ролики по 10 минут, мне такое не нравится, да и если бы мне было настолько важно мнение кого-то в интернете я бы пересел на dwm, насмотревшись Люка Смита.
Аноним 23/05/20 Суб 03:18:21 1698601183
image.png (206Кб, 604x401)
604x401
>>1488256 (OP)
почему мне логотип эту хуйню напоминает?
Аноним 23/05/20 Суб 12:05:01 1698738184
Аноним 26/05/20 Втр 13:58:16 1702978185
1590483400273.jpg (21Кб, 474x266)
474x266
Стоит вкатываться? Или это проект просто чтобы разработчики других языков переняли из него хорошие вещи?
Аноним 26/05/20 Втр 14:05:04 1702998186
>>1702978
Какое нах вкатывание, вакансий же нет.
Аноним 26/05/20 Втр 14:17:44 1703033187
>>1702978
Уже всё и переняли.
Аноним 26/05/20 Втр 16:09:44 1703220188
Сап двач, нихуя не понимаю.
Вот есть в прелюде функция words, которая получает строку и возвращает список из слов, разделенных пробелами.
https://pastebin.com/FYnEnx1r
И я совсем не понимаю, почему эта ебанина работает.
Откуда тут s' и нахуя? Нигде не объявляется, но почему-то работает.
Если удалить ' и оставить просто s, то функция будет работать так же.
Вот допустим передается строка, начинающаяся с пробела " a", s = " a".
dropWhile Char.isSpace s в кейсе отбрасывает пробел и получается
case "a" of
"a" сравнивается с пустой строкой, ничего не происходит. "a" сравнивается с s' которая, вроде бы, не отличается от s и почему-то условие выполняется. Если считать, что s и s' одно и то же, то получается s = " a" = "a" и бред какой-то ебаный s не s помогите нихуя не понимаю.
Далее через break вычисляются w и s'', которые должны быть равны "" и " a" соответственно, внутри вызывается words s'' и получается бесконечная рекурсия.

Так как функция все-таки работает, получается, что хуй знает откуда взявшаяся s' которую можно безболезненно поменять в коде на s каким-то образом принимает значение строки с уже отброшенным пробелом. words1, где я дописал строчку с объявлением s' работает так же. То есть, как я понял, это где-то как-то неявно почему-то происходит.
И это все равно не объясняет, почему функция работает, если s' в коде заменить на s. Ведь функции не меняют значения, и s как было " a", так и осталось.
Надеюсь, что кто-нибудь сможет разобрать мою шизофрению.

Аноним 30/05/20 Суб 22:07:04 1708629189
Разве каррирование и перегрузка функций не одно и то же? Позволяет достичь тех же результатов, только в случае перегрузки вызов не будет выглядеть так по уродски
Аноним 30/05/20 Суб 22:36:51 1708660190
>>1708629
Нет, вообще разные вещи.
Аноним 30/05/20 Суб 22:41:17 1708665191
>>1708660
Ну вот зачем мне писать
f(a)(b), если я могу сделать перегрузку

f(a)
f(a,b)?

Возможно теоретически всё не так, но задача то одинаковая
Аноним 30/05/20 Суб 22:42:57 1708667192
>>1708660
Ну вот зачем мне писать
f(a)(b)
f(a)
, если я могу сделать перегрузку

f(a)
f(a,b)?

Возможно теоретически всё не так, но задача то одинаковая
Аноним 03/06/20 Срд 02:09:39 1711540193
>>1708629
Каррирование это преобразование из `(a, b) -> c` в `a -> b -> c`.
Перегрузка это одновременное назначение оного имени двум и более разным значениям, диспетчеризуемым статически либо динамически.
Что тут общего?
Аноним 07/06/20 Вск 08:53:03 1715430194
Как в тайпклассах решена проблема ромба?
Почему сделали классы, а не множества, например?
Аноним 07/06/20 Вск 10:54:02 1715461195
>>1715430
Ни один из твоих вопросов не имеет никакого смысла. Просто, блять, набор слов.
Что спросить-то хотел?
Аноним 09/06/20 Втр 08:22:19 1717306196
1. Я знаю игры есть на хаскеле, но как они реализованы? У нас же не может быть мутабельных объектов, как тогда изменение состояния во времени происходит?
2. Можно ли написать на хаскеле менеджер памяти, для какого нибудь интерпретатора?
Аноним 09/06/20 Втр 11:49:57 1717418197
Аноним 09/06/20 Втр 22:52:58 1718124198
>>1715430
Нет такой проблемы, т.к. наследование отсутствует.
Множества чего? Типов? Классы типов это и предикаты на типах, и функции из типов в кортежи значений.
Аноним 09/06/20 Втр 23:01:15 1718126199
>>1717306
1. Пишешь функцию State -> State, рекурсивно ее вызываешь, вот тебе и геймлуп. Или в чем вопрос был?
Аноним 10/06/20 Срд 19:01:41 1718838200
image.png (2Кб, 499x111)
499x111
>>1622381
Потому что она наверное право-ассоциативна?
Ну-ка дай проверю.

И правда.
А у тебя импертивное мышление не изжито, что-то там "выполняется". Пока не заборешь эту херню - так и будешь не понимать.
Аноним 10/06/20 Срд 23:40:28 1719024201
>>1711540
У тебя цель, вызвать Х с одним или двумя аргументами

ТЫ это делаешь либо через перегрузку либо через каррирование, где

X(a,b) эквивалентно X(a)(b)
И X(a) экв. X(a)

Ну вот одно и то же блядь, не важно как оно устроенно внутри
Аноним 11/06/20 Чтв 01:46:02 1719081202
>>1718838
Офигеть на мой простой вопрос дали ответ, спасибо. Вместо всякого говна, четкий и понятный ответ. И то забрел сюда снова случайно.
>>1717306-кун
Аноним 11/06/20 Чтв 09:56:36 1719153203
>>1719081
Обращайся.
Точнее даже не обращайся, а можно вместе что-то обсудить, я тоже только еще учу hs, причем не торопясь, пока полностью тему не пойму - дальше не двигаюсь, потому смог дать разумное суждение по твоему вопросу.
Аноним 12/06/20 Птн 17:02:28 1720528204
>>1719024
> цель
>>1708665
> задача

Это не задача и не цель, а хуйня из под коня. Что в итоге должно быть вычислено?

X(a,b) ≅ X'(a)(b)
но X'(a) ≅ \b' -> X(a,b')
X(a) это вообще другое
Аноним 13/06/20 Суб 19:53:59 1721770205
>>1718838
Сектанты "изживают" императивное мышление, спешите видеть.
Аноним 14/06/20 Вск 23:16:23 1723107206
>>1719024
Это совершенно разные вещи. Это не вопрос того, как оно устроенно, а что это вообще значит. Почитай сначала подробнее, что такое перегрузка методов и каррирование, а потом уже задавай адекватные вопросы.
Аноним 15/06/20 Пнд 17:11:41 1723859207
>>1721770
Если хочешь программировать на слегка посахаренном лямбда-исчислении - будь добр изжить императивное мышление.

Если не хочешь, то хуле сюда залез?
Аноним 16/06/20 Втр 02:44:03 1724329208
>>1723859
> Если хочешь программировать на слегка посахаренном лямбда-исчислении - будь добр изжить императивное мышление.
> Если хочешь говорить по-китайски, будь добр изжить мышление на русском.
> Если хочешь ездить на скейте, будь добр изжить бипедальное перемещение.

Ты совсем сектант-долбоёб, или просто туповат и не можешь в разные навыки?
Аноним 22/06/20 Пнд 11:50:43 1730410209
>>1488256 (OP)
Подскажите как написать вычисление фибоначи в лямбде в 1 строку. Что-то вроде такого \ = let fib :: Num -> Num in ...
Аноним 22/06/20 Пнд 11:53:07 1730413210
image.png (33Кб, 617x484)
617x484
>>1730410
Я просто в этой штуке сейчас играюсь
Аноним 23/06/20 Втр 01:27:53 1731062211
>>1730410
ну это просто, держи:
fix$join(.)(1:).uncurry(zipWith (+)).(id&&&tail)
Аноним 23/06/20 Втр 12:55:06 1731357212
Аноним 23/06/20 Втр 19:27:38 1731968213
Аноним 23/06/20 Втр 19:28:02 1731969214
>>1731968
а, я тупой, лол, только заметил, что фиббоначи
Аноним 23/06/20 Втр 23:35:01 1732225215
Язык для написания факториалов и фибоначчи в одну строчку.
Аноним 24/06/20 Срд 12:21:43 1732432216
>>1732225
В одну строчку только нюбы пишут.
Красивый факториал строчек 50, а байтоёбский строчек 8, не считая импортов.
Аноним 24/06/20 Срд 12:21:48 1732433217
>>1732225
int f0=0, f1=1, c=n/2; while (c--) f0+=f1, f1+=f0; return n%2 ? f1 : f0;
Где-то на позицию мог ошибиться, но похуй.
Аноним 24/06/20 Срд 13:14:56 1732475218
>>1732433
Сразу видно, что только хаскелль идеально подходит для это задачи, а на остальных выглядит так себе.
Аноним 26/07/20 Вск 19:15:43 1760943219
Начал тут почитывать learnyouahaskell на досуге, ибо шишка дымится на синтаксис этого вашего хаскелля. Но вот неприятный нюанс, зашел на hh.ru глянуть вакансии, а их там всего 10 штук, да и 9 из них не по хаскелю вовсе. Немного удручает тот факт, что в рашке хаскель нахуй никому не нужен, кроме джетбрейнса и перспективы найти на нём работу околонулевые.
Аноним 26/07/20 Вск 19:17:08 1760944220
>>1760943
Алсо, далеко за примерами ходить не надо, даже в закрепе ссылка на архивный тред вместо актуального.
Аноним 27/07/20 Пнд 16:17:54 1761582221
>>1760943
>хаскель
>работа
Это язык для аристократов, а не для РАБотяг.
Аноним 30/07/20 Чтв 22:18:48 1764608222
>>1702978
Не стоит, потому что потом будет тошнить от кривости других языков, а на Хаскеле ты себе работу не найдёшь.
Аноним 31/07/20 Птн 06:21:05 1764718223
>>1760943
Хаскель проще пыхи
Аноним 01/08/20 Суб 20:52:56 1765853224
>>1764608
А потом ты смотришь, как и хаскелле выглядит то, что в норме записываться как record.subrecord.fieldname = Newvalue и плачешь
Аноним 01/08/20 Суб 22:19:30 1765902225
>>1765853
А выглядит оно как
>record.subRecord.fieldname .~ Newvalue
Чего плакать?
Аноним 01/08/20 Суб 22:23:39 1765906226
>>1765853
>не может в линзы
>кукарекает

Мань, почти в любом ФЯ есть синтаксис для апдейта нестед структур, кого ты затролить решил?
Аноним 01/08/20 Суб 22:42:47 1765918227
>>1765906
> иметь специальные либы чтобы работать со вложенными структурами
> кукарекать про лаконичный и изящный язык
Маня, ты вообще понимаешь, что ты несёшь?
Аноним 01/08/20 Суб 22:44:54 1765921228
>>1765918
Нахуя добавлять сахарок к тому, что может сделать либапри чем в многих случаях лучше? Ты б еще б поныл, что в хаскеле async/await нет.
Аноним 01/08/20 Суб 22:50:00 1765922229
>>1765921
Да в нём так-то дохуя чего нет. Но зато факториал и фибоначчи изящные, тут не поспоришь
Аноним 01/08/20 Суб 23:00:46 1765926230
Аноним 01/08/20 Суб 23:09:35 1765930231
>>1765926
> среньк
А вот мы и скатились до уровня ФП.
Аноним 01/08/20 Суб 23:14:39 1765934232
>>1765918
Все по банальному сценарию: залетную императивную маню обоссали, и она, утирая слезки, дрожащим голосом вскукарекивает "А вот мы и скатились до уровня ФП.". Маня, мы проходили это сотни раз: ты еще некоторое будешь кукарекать и зашивать свой пукан, омываемый тугими струями элитной мочи и захлебываясь ею. При этом конечно же будешь думать, что всех искрометно затролел, отвечая бранью, и даже когда тебе укажут на этот факт, то вспомнишь свой статус вконтакте "никогда не здавайся)))" и продолжишь по инерции сглатывать уринку. Так что окропляю твой ротешник и рекомендую свалить отсюда.
Аноним 01/08/20 Суб 23:31:23 1765939233
>>1765934
Но ведь на брань скатился фп-школьник
Аноним 01/08/20 Суб 23:32:40 1765941234
>>1765939
>>1765930
Всё ведь просто, тебя никто не трогал, ты сам пришёл и начал вонять "а вот в хаскили нельзя как в моей мутабельной дрисне". После того как тебе ответили как это делается и без деструктивных апдейтов, ты начал недовольно кукарекать.
Ты же нихуя не понимаешь что за линзы, призмы, какие Lens вообще решает задачи, до решения которых твоей мейнстримовой параше ещё лет 20 в говне плыть и плыть, но при этом кукарекаешь что в хаскеле чего-то там нет, не указывая при этом чего.
Аноним 01/08/20 Суб 23:37:30 1765943235
>>1765941
Знаете, что самое забавное? Что серьёзные люди, пишущие ФП в прод, прекрасно осведомлены о трейдоффах и проблемах того же Хаскелля. И только ФП-школотроны агрятся на "мутабельную дрисню" и "мейнстрим парашу", как лакмусовая бумажка, ей богу
Аноним 02/08/20 Вск 16:03:20 1766304236
>>1765943
Серьёзные люди знают что мутабельная дрисня - это один сплошной дравбек и чем её меньше - тем лучше. И только долбоёбы ходят по всему разделу кукарекая что мир императивен.
Аноним 02/08/20 Вск 20:37:43 1766611237
>>1766304
Вот ещё один пример школьника с чёрно-белой картиной мира и фанатизмом неофита в межушном ганглии
Аноним 04/08/20 Втр 00:28:27 1767819238
Аноним 04/08/20 Втр 01:24:13 1767845239
IMG202008040123[...].jpg (119Кб, 1080x1097)
1080x1097
Аноним 05/08/20 Срд 20:54:48 1769376240
>>1767819
>такое
Оопшные самоотсосы?
>решается
В чём вообще задача?
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов