Открываю свежую статью - https://lexi-lambda.github.io/blog/2018/... - по названию думаю, что наконец-то все станет понятно! Первые три абзаца налито воды про мудохание с их пакетными менеджерами, закрыл статью...
2018-02-11 20:54:08

Участники:
@vt - 20, @Renha - 18, @qnikst - 18, @mabu - 17, @33 - 10, @segfault - 5, @rkit - 3, @max630 - 1, @fmap - 1

@qnikst
ну это ж лучше чем, просто возьмите sbt и все получится, и сова на второй картинке? // статью не читал
#2897745/1 2018-02-11 21:10:39
@vt
Возьмите sbt это про инопланетян в кубе
#2897745/2 → /1 2018-02-11 21:12:15
@qnikst
статью пролистал, читать сразу стало лень, какой-то слишком opionated этот guide
#2897745/3 → /2 2018-02-11 21:13:04
@segfault
А что ты тут хотел сказать? Что не надо в обзорной статье про Хаскель рассказывать про сборочные тулы?
#2897745/4 2018-02-11 21:39:56
@qnikst
что нужно было сказать какой плагин в ide добавить чтобы все было готово (я думаю)
#2897745/5 → /4 2018-02-11 21:43:18
@segfault
И ограничить аудиторию только пользователями иде? Зачем?
#2897745/6 → /5 2018-02-11 21:44:53
@qnikst
а кому эти красноглазики нужны..
#2897745/7 → /6 2018-02-11 21:45:40
@segfault
Точно, настоящий инженер - это не тот, кто знает, как что работает, а тот, кто может в дельфи нажать ЭФ ПЯТЬ.
#2897745/8 → /7 2018-02-11 21:46:38
@qnikst
тебе продакшен или знать как что работает?
#2897745/9 → /8 2018-02-11 21:47:06
@segfault
конечно продакшен, достаточно уметь копировать код со стековерфлоу
#2897745/10 → /9 2018-02-11 21:50:23
@segfault
ну потому что иначе тебе же придется знать как что работает ...
#2897745/11 → /10 2018-02-11 21:51:54
@rkit
Ну главная проблема хаскеля — это хуевые инструменты и библиотеки, чего уж поделаешь.
#2897745/12 2018-02-12 01:09:48
@vt
И где же в этой воде описание того, как и что работает? Это же просто косноязычный мудак выливает свой поток сознания
#2897745/13 → /11 2018-02-12 03:59:20
@mabu
Бредятина какая‐то этот твой Hackell. Одни закорючки вместо нормальных математических формул.
#2897745/14 2018-02-12 05:25:32
@Renha
-Я писал на хаскеле, но решил что ну его нафиг -Есть такая билдилка, но я нз -Ещё есть такая, ну я не юзал но слышал -А вот такую юзаю потому что могу -Я бы попробовал другие, но ни один хаскелист в здравом уме не будет настраивать рабочее окружение ЗАНОВО потому что это адище (не путать с Ada), вот будет новый комп - попробую - В ридми хаскель пакетов написана фигня, не читайте ридми а читайте меня, ставьте лайки, подписывайтесь на канал. дальше не читал
#2897745/15 2018-02-12 05:39:47
@vt
Закорючки - это артефакт того, что в консольке сложно рисовать математические формулы. Я слышал в некоторых редакторах есть автозамена закорючек на математические ЛИГАТУРЫ
#2897745/16 → /14 2018-02-12 05:59:53
@qnikst
Сексист и кибербуллер!!1
#2897745/17 → /13 2018-02-12 06:56:52
@max630
"нахуя ты написал вступление, аж на целый экран мобильника! Просто перечисляй команды которые надо запускать"
#2897745/18 → /13 2018-02-12 07:01:57
@rkit
Ладно бы в консоли, тут речь о клавиатуре. И о том, что никакой практической пользы от мат. символов нет, и пользователи оных только создают проблемы пользователям не таких продвинутых редакторов.
#2897745/19 → /16 2018-02-12 07:12:47
@qnikst
вот да
#2897745/20 → /19 2018-02-12 07:22:15
@vt
Это не вступление :)
#2897745/21 → /18 2018-02-12 07:41:05
@mabu
Что там сложного в формулах? y = f(x). Всё. Нет, нужно же было вводить все эти -> => | и прочее говно, которого в математике нет.
#2897745/22 → /16 2018-02-12 08:45:35
@vt
y = f(x) при 0 < x < NaN и y = f(x) при -NaN < x < 0 опиши эту функцию без закорючек
#2897745/23 → /22 2018-02-12 08:48:50
@vt
во втором кейсе y = f(x)^2, да
#2897745/24 → /23 2018-02-12 08:49:38
@Renha
Ты же только что это сделал
#2897745/25 → /23 2018-02-12 08:49:54
@mabu
Подожди ты со своим вторым чемоданом, Я ещё пишу.
#2897745/26 → /24 2018-02-12 08:50:05
@vt
а ПРИ куда деть?
#2897745/27 → /25 2018-02-12 08:58:31
@Renha
Тебе не нравится что алфавит не латиница? Ну транслитом набери.
#2897745/28 → /27 2018-02-12 09:00:12
@vt
Мне все нравится, но хаскель это не компилирует
#2897745/29 → /28 2018-02-12 09:00:53
@mabu
y = f(x): 0 < x < NaN = чему равна функция? y = f(x): -NaN < x < 0 = чему равна функция? У тебя не указано, чему равна функция?
#2897745/30 → /23 2018-02-12 09:02:31
@Renha
А
#2897745/31 → /29 2018-02-12 09:03:35
@vt
я думал что я не знаю математику, оказывается бывает и хуже. Это система уравнений, епт!
#2897745/32 → /30 2018-02-12 09:04:16
@mabu
y = f(x): 0 < x < NaN = пусть будет x y = f(x): -NaN < x < 0 = пусть будет x * x А случай когда x = 0 куда дел? У тебя не указано, чему равна функция?
#2897745/33 → /30 2018-02-12 09:04:43
@vt
https://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B8_%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%BD%D1%8B%D0%B5_%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D1%8F
#2897745/34 → /33 2018-02-12 09:05:51
@vt
обрати внимание сколько там ЛИГАТУР!
#2897745/35 → /34 2018-02-12 09:06:30
@qnikst
меня подмывает рандомный кусок диссера скинуть. Оно конечно все выражается в латехе, но программировать так бы я не стал
#2897745/36 → /35 2018-02-12 09:09:53
@mabu
Ну и что? Вот тебе из педивикии из статьи про Hackell пример: calc :: String -> Float calc = head . foldl f [] . words where f :: [Float] -> String -> [Float] f (x:y:zs) "+" = (y + x):zs f (x:y:zs) "-" = (y - x):zs f (x:y:zs) "*" = (y * x):zs f (x:y:zs) "/" = (y / x):zs f (x:y:zs) "FLIP" = y:x:zs f (x:zs) "ABS" = (abs x):zs f xs y = read y : xs Какие‐то двойные и одинарные двоеточия, которые могут быть, а могут и не быть разделены пробелами, стрелки вправо, точки, отсутствие скобок у аргументов функций, квадратные скобки. Ужас, где здесь математичность?
#2897745/37 → /35 2018-02-12 09:12:38
@mabu
Даже БЕЙСИК на этом фоне выигрывает.
#2897745/38 → /37 2018-02-12 09:14:19
@qnikst
ой, в бейсике стало запрещено разделять, не разделять операторы пробелами? что за чушь ты несёшь?
#2897745/39 → /38 2018-02-12 09:15:10
@qnikst
Wikipedia based knowledge, блин, я так похоже stackoverflow driven development немного уважать начну...
#2897745/40 → /38 2018-02-12 09:16:08
@Renha
Скобки ненужны, разве что для комментариев, на обратной польской прекрасно работают калькуляторы
#2897745/41 → /37 2018-02-12 09:17:34
@mabu
Я так понимаю, что в хацкелллле f (x:zs), f (x:zs) и read y : xs пробел между этим двоеточием имеет какое‐то сакральное значение, да? Или это одно и то же, просто пробелы добавили для выравнивания?
#2897745/42 → /39 2018-02-12 09:17:40
@vt
Зато в нашей дискуссии полезных знаний уже больше, чем в обсуждаемой статье
#2897745/43 → /40 2018-02-12 09:21:05
@mabu
Попробуй без скобок сделать функцию от функции с разным числом аргументов у каждой, а потом не запутаться где чьи аргументы.
#2897745/44 → /41 2018-02-12 09:21:06
@vt
Ну так опиши мое задание на бейсике же
#2897745/45 → /38 2018-02-12 09:21:58
@Renha
вот ты хитрый, я же сказал что для комментариев скобки ок. Чтобы не запутаться в скобках пишется карта стека. А компьютер не запутается, гарантирую.
#2897745/46 → /44 2018-02-12 09:24:11
@Renha
число аргументов наверх стека кладёшь и всё
#2897745/47 → /44 2018-02-12 09:24:33
@mabu
Как‐то так: Function y(x As Integer)As Integer Select Case x Case Is > 0 Return x Case 0 Return 0 Case Is < 0 Return x ^ 2 End Select End Function А вебморда сожрёт отступы.
#2897745/48 → /45 2018-02-12 09:28:11
@Renha
Вот видишь, не нужны скобки
#2897745/49 → /48 2018-02-12 09:30:24
@Renha
На входе не считаются, это мусор
#2897745/50 → /48 2018-02-12 09:30:48
@vt
что за Case IS?
#2897745/51 → /48 2018-02-12 09:32:06
@vt
а, нашел
#2897745/52 → /51 2018-02-12 09:32:27
@mabu
Покажи как ты без скобок это сделаешь: Result= WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), "123", 3, CharsCount, 0)
#2897745/53 → /49 2018-02-12 09:33:55
@mabu
Применяется когда нужно с диапазоном сравнить, а не с одним числом.
#2897745/54 → /51 2018-02-12 09:35:01
@qnikst
нету у пробелов сакрального значения там, просто выравнивание
#2897745/55 → /42 2018-02-12 09:35:11
@Renha
STD_OUTPUT_HANDLE GetStdHandle S" 123" 3 CharsCount @ 0 WriteConsole
#2897745/56 → /53 2018-02-12 09:42:51
@mabu
А теперь понять, что к чему относится.
#2897745/57 → /56 2018-02-12 09:43:38
@Renha
А в твоём примере что, понятно какой аргумент за что отвечает?
#2897745/58 → /57 2018-02-12 09:44:58
@mabu
В моём примере хотя бы понятно где функция, а где её аргументы.
#2897745/59 → /58 2018-02-12 09:46:16
@qnikst
Forth style объективно хуже, нужно иметь Forth головного мозга, чтобы понять, необходимость быть интерпретатором, чтобы понимать код это плохо
#2897745/60 → /56 2018-02-12 10:00:11
@Renha
у меня функция справа, аргументы слева. У тебя наоборот, вообще не вижу разницы, кроме мусорных скобок
#2897745/61 → /59 2018-02-12 10:00:33
@mabu
А если бы CharsCount был бы не аргумент, а функцией с двумя параметрами? Ты уже запутаешься где тут параметр, а где функция.
#2897745/62 → /61 2018-02-12 10:01:37
@Renha
всегда нужно быть интерпретатором, только в математической нотации она интуитивная из-за привычки, в forth -- нет для тех, кому её не вдалбливали на протяжении многих лет. Если бы обе вдалбливались одинаково, разницы бы по простоте интерпретации не было бы, только ушли бы лишние скобки
#2897745/63 → /60 2018-02-12 10:04:01
@Renha
у тебя код тоже не будет работать если CharsCount окажется функцией с двумя параметрами.
#2897745/64 → /62 2018-02-12 10:04:50
@mabu
Result= WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), "123", lstrlen("123"), CharsCount, 0) У меня понятно где функция и сколько у неё аргументов, а у тебя только если в гугле смотреть все слова вместо того, чтобы искать только те, у кого есть только скобочки.
#2897745/65 → /64 2018-02-12 10:09:59
@33
Хаскелл - гогно, си-плас-плас от мира ФП. Чтобы это понять, не нужны никакие статьи.
#2897745/66 2018-02-12 10:19:43
@rkit
Что не говно, и не с++?
#2897745/67 → /66 2018-02-12 10:20:53
@33
Так инструменты и библиотеки ведь пишут погромисты на хаскелле! Примерно те, что здесь в комментах ёрничают
#2897745/68 → /12 2018-02-12 10:22:00
@qnikst
в силу того, что форт слишком динамический интерпретировать даже больше чем в лиспах надо
#2897745/69 → /63 2018-02-12 10:23:05
@33
Эти "некоторые редакторы" - ебучий имакс!
#2897745/70 → /16 2018-02-12 10:23:35
@qnikst
Haskell, Rust; C++ к слову говно.
#2897745/71 → /67 2018-02-12 10:23:36
@vt
Атом, вскод и идея удивленно смотрят на тебя
#2897745/72 → /70 2018-02-12 10:24:55
@Renha
да, отсюда рекомендация писать небольшие слова, если выполнять то проблемы не наблюдается. Я ещё форматированием поясняю где какое слово что потребляет, без этого тоже неудобно.
#2897745/73 → /69 2018-02-12 10:26:00
@33
>хаскель это не компилирует Ерунда, подключи какое-нибудь одно из 100500 расширений GHC, и будет компилироваться даже арабская "вязь"!
#2897745/74 → /29 2018-02-12 10:26:49
@33
Не знаю.
#2897745/75 → /67 2018-02-12 10:29:00
@33
Перечислил хипсторскую мусорню. Хотя идея ок, в принципе
#2897745/76 → /72 2018-02-12 10:30:01
@vt
поебавшись с одним из 100500 пакетным менеджером из статьи, или со всеми сразу надо?
#2897745/77 → /74 2018-02-12 10:30:21
@mabu
Бейсик, конечно же.
#2897745/78 → /67 2018-02-12 10:37:43
@33
У них там вроде только ебал-кабал да стэк, какие 100500? Ты мне лучше скажи, как ты такой вумный, а в андроидном клиенте нет ни кнопки "обновить тред", ни кнопки перемотки вверх-вниз?
#2897745/79 → /77 2018-02-12 10:38:03
@Renha
Статью открыть не? Да даже я сюда писал что 3 как минимум
#2897745/80 → /79 2018-02-12 10:39:53
@vt
Потому что в айос есть нативная кнопка прокрутки вверх, я думал что есть секретный ход и на андроиде
#2897745/81 → /79 2018-02-12 10:41:05
@33
ТруЪ не ходят по внешним ссылкам, ты чего?
#2897745/82 → /80 2018-02-12 10:41:58
@qnikst
-XQuasiQuotes + -XTemplateHaskell достаточно для задачи, может ещё -XOverloadedStrings (но это синтаксическое расширение)
#2897745/83 → /77 2018-02-12 10:43:40
@Renha
Второе предложение прочитать не?
#2897745/84 → /82 2018-02-12 10:44:30
@qnikst
cabal и stack, причем они используют одну либу внутри, все, любители могут использовать напрямую пакетный менеджер (например nix), но он будет ту же либу использовать. Есть всякие mafia, stix, но их вроде даже авторы не используют, так что из уравнения можно исключать.
#2897745/85 → /80 2018-02-12 10:48:53
@33
В /0 ничего не написано. Если ты про статью, я уже написал.
#2897745/86 → /84 2018-02-12 10:50:02
@33
тогда всё нормально
#2897745/87 → /81 2018-02-12 10:51:21
@vt
А cabal new-* это не третий разный человек?
#2897745/88 → /85 2018-02-12 10:55:24
@Renha
/0 не я написал
#2897745/89 → /86 2018-02-12 10:56:17
@qnikst
"новый" интерфейс в том же cabal
#2897745/90 → /88 2018-02-12 10:57:04
@qnikst
для начинающего (в кратком введении) не знаю зачем вообще про что-то кроме stack говорить (ну и библиотеку Cabal), можно один абзац чисто факультативно рассказать, чтобы не удивлялись, что он тоже существует. Учитывая, что для своей повседневной жизни я предпочитаю использовать cabal (c new- интерфейсом)
#2897745/91 → /88 2018-02-12 10:59:09
@vt
О том и разговор!
#2897745/92 → /91 2018-02-12 11:00:39
@fmap
Эффективность
#2897745/93 → /8 2018-02-12 12:17:14