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

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!



Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 27 | 1 | 12
Назад Вниз Каталог Обновить

Haskell thread HELP Аноним 10/12/16 Суб 14:00:30  891632  
Haskell-purple.[...].png (15Кб, 650x650)
Есть ли тут люди, которые могут в Haskell? Я студентобыдло пытающееся учить его, но мне он конкретно ломает мозги, может ли кто-то помочь разобрать вот этот код http://pastebin.com/YBzHYEUW построения графов и нахождения кратчайшего пути и помочь с комментариями как алгоритм работает вообще тут?
Аноним 10/12/16 Суб 14:22:11  891649
>>891632 (OP)
Мда, я догадывался, что у haskell стрёмный синтаксис, но такого говна я точно не ожидал. Зачем вообще на нём писать? Ну если ты не ньюфаг, который не может найти ньюфаг-тред.
Аноним 10/12/16 Суб 14:29:44  891654
>>891649
Удивительно как я пропиздоглазил. Я просто удивился, что haskell треда нету ну и решил его создать и как видно он нахуй никому не нужен.
Аноним 10/12/16 Суб 14:52:23  891672
>>891649
>стрёмный синтаксис
>догадывался
Соси хуй, быдло.
Аноним 10/12/16 Суб 15:17:03  891701
Ну что, никого нету кто на хаскелле кодит?
Аноним 10/12/16 Суб 15:22:29  891705
>>891672
Ну он же прав. Вон в фп треде уже пол треда выясняют как посчитать высоту дерева на хаскеле, лол.
Аноним 10/12/16 Суб 15:50:42  891725
>>891672
Вот это манявры, может в WhiteSpace и Brainfuck синтаксис тоже норм, просто я быдло и не эстет?
Аноним 10/12/16 Суб 16:21:37  891750
>>891672
>astar :: Nodelist -> String -> String -> Double -> [String]
Что это вообще за говнина такая? Как её понимать? Хотя это в целом можно прочесть и даже понять(я так полагаю это вывод типов или что-то в этом роде),а вот это:
>printvert (Vtx (Vt n _ _ _) _ _) = n
Больше нижних подчёркиваний разделённых пробелами, кто это вообще придумал? Это же полный бред и смотрится, как дерьмо.
>map (expandone vs (Vtx (Vt a b c e) p r)) e
Просто пушка, шёл 2016 год, люди ещё использовали однобуквенные переменные. a b c e? Автор тупо алфавит вспоминал? И ни одного коммента на весь код! Как это вообще можно читать и сопровождать? Или чем не понятнее написано, тем круче?
Вывод: либо этот код говно, а Haskell - на самом деле очень понятный и удобочитаемый язык(который может и склоняет своим синтаксисом к написанию говнокода), либо всё таки(вероятнее этот вариант) это просто эзотерическая говнина, которую пытаются позиционировать, как единственно ВЕРНЫЙ и ПРАВЕДНЫЙ ЯП.
Аноним 10/12/16 Суб 16:27:13  891758
>>891750
Ну вот http://pastebin.com/a4QA2kEQ нормальный более читаемый код.
Аноним 10/12/16 Суб 16:33:19  891763
>>891758
Ну такое себе, при желании, если были бы комменты и доки, то прочесть можно, но видеть такое каждые день я бы не хотел.
>dijkstra s d adjList visited
Сначала показалось, что кто-то ударился головой об клаву. Потом увидел, что таки одно английское слово на строку имеется.
Аноним 10/12/16 Суб 16:35:08  891765
>>891763
Ещё "List" в составе "adjList". Даже два вышло. Но всё же больше похоже на то, что кто-то забыл сменить раскладку.
Аноним 10/12/16 Суб 16:36:56  891766
>>891763
Ну вот, а мне как студенту вообще ниразу не видевшего Haskell надо ту вот парашу из ОП-поста разобрать и дать подробные комментарии как оно работает, это лишь для допуска к сессии, а предмет вообще ознакомительный и мне надо курсач делать.
Аноним 10/12/16 Суб 16:43:55  891770
>>891766
Попробуй в ФП треде узнать, может на самом деле a, b, c, d, e - это общепринятые обозначения. типа i,j(в качестве индексов), а dijkstra - это что-то из стандартной либы хаскеля. Во всяком случае это больше похоже на обфусцированный код, нежели на тот, который мог написать человек(ну если он не забыл принять свои таблетки естественно). Тебе прямо так и дали код без доков и комментариев и сказали узнать, что он делает? Странное какое-то задание.
Аноним 10/12/16 Суб 16:46:45  891772
>>891770
Проебался, было небольшое описание "Программа на вход получает запрос с указанием вершин и максимальной стоимости, которая интересует пользователя. Если пути не существует, или минимальная стоимость существующего пути выше указанного порога, программа сообщает, что таких путей не найдено. Если существует более дешевый путь, то он возвращается в виде последовательности вершин. Если вершина старта или финиша отсутствуют в графе, выводится сообщение об ошибке." Но меня сам синтаксис просто трахает мозг.
Аноним 10/12/16 Суб 16:52:10  891778
>>891705
>Что это вообще за говнина такая? Как её понимать?
Сигнатура функции, мазафакер, очевидно же блять. Функция от четырёх аргументов, возвращает список строк.
>Больше нижних подчёркиваний разделённых пробелами, кто это вообще придумал?
Спешите видеть, быдлан стокнулся с Pattern Matching и охуел
>Однобуквенные переменные
Как ты ещё назовёшь компоненты вектора? chislo1 chislo2?
>либо этот код говно
Код говно. И в первую очередь потому что пытается выразить непростой алгоритм на графе в терминах иммутабельности.
>Haskell - на самом деле очень понятный и удобочитаемый язык
Нет. По крайней мере для ньюфагов. Но по-настоящему качественная абстрактность и нормальный вывод типов требуют жертв
Аноним 10/12/16 Суб 17:16:15  891809
>>891632 (OP)
Вот что по этому поводу думает hackage https://hackage.haskell.org/package/astar-0.3.0.0/docs/src/Data-Graph-AStar.html#aStar
Аноним 10/12/16 Суб 17:32:10  891822
>>891778
>>Haskell - на самом деле очень понятный и удобочитаемый язык
>Нет. По крайней мере для ньюфагов. Но по-настоящему качественная абстрактность и нормальный вывод типов требуют жертв
Ну вот SQL - вполне годный функциональный язык реляционного исчисления кортежей, при это жертв не требует, а к ньюфагам и макакенам вполне дружелюбен. Причём хорошие разработчики также им довольны. Так может просто haskell неправильно спроектирован или имеет плохой дизайн языка? Тот же F# намного понятнее и код выглядит красивее и элегантнее.
Аноним 10/12/16 Суб 18:23:27  891843
>>891822
>Тот же F# намного понятнее и код выглядит красивее и элегантнее.
Приводи примеры, хули ты
Аноним 10/12/16 Суб 19:23:36  891874
>>891750
Всё охуенно, не заливай.

>astar :: Nodelist -> String -> String -> Double -> [String]
Указание типа параметров и результата функции.

>printvert (Vtx (Vt n _ _ _) _ _) = n
Одна из вариаций функции, где неиспользуемые параметры заменены на подчёркивания.

>map (expandone vs (Vtx (Vt a b c e) p r)) e
Если понимать контекст, то это гораздо читабельнее, нежели БобоваяФасолинаФабрикаФасолей.
Аноним 10/12/16 Суб 19:29:11  891879
>>891632 (OP)
Держи простенькую книгу для быстрого вкатывания:
http://learnyouahaskell.com/
Аноним 10/12/16 Суб 20:18:10  891949
>>891822
>F#
>код выглядит красивее и элегантнее
Юморист в треде, все в монаду.
Аноним 12/12/16 Пнд 08:34:41  892870
Гот бампному треду.
Аноним 15/12/16 Чтв 03:23:13  894518
>>891766
А где ты так учишься, что тебя хачкелем пичкают?
Аноним 15/12/16 Чтв 05:30:18  894527
>>891770
dijkstra - известный погромист, Эдгар Дейстра, в честь него назван алгоритм обхода вершин.

>a, b, c, d
vershina1 verhina2

>больше похоже на обфусцированный код
Не то что ваши ООП-ориентированные прокси фасольные фабрики экземпляров бобов.
Аноним 15/12/16 Чтв 05:53:58  894528
>>894518
В Хогвартсе
Аноним 15/12/16 Чтв 19:37:50  894847
>>891632 (OP)
>Есть ли тут люди, которые могут в Haskell?
Да.
>может ли кто-то помочь разобрать вот этот код
Нет.
Аноним 15/12/16 Чтв 19:39:00  894849
>>891750
Хаскель не для тебя, пиздуй учить джаву.
Аноним 15/12/16 Чтв 20:06:29  894877
>>891766
Для начала почитай про A*. Потом начни описывать что делает каждая из функций, начиная с самых простых. Например очевидно, что heuri - вычисляет расстояние между двумя точками. И так далее до основной функции.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 27 | 1 | 12
Назад Вверх Каталог Обновить

Топ тредов
Избранное