
Maxim
23.07.2018
10:20:26
да

Алексей
23.07.2018
10:20:29
да
у вас просто критерии говна-неговна неправильные

Maxim
23.07.2018
10:20:35
для деления отдельно сделаю

A64m
23.07.2018
10:21:37

Google

A64m
23.07.2018
10:21:56
или, точнее, мертв

Yuriy
23.07.2018
10:21:58
там не Num
можно более простое решение придумать — data ArithmeticOp = ArithmeticOp{forInteger :: Integer -> Integer -> Double, forDouble :: Double -> Double -> Double}, ну или что-то в таком духе

Александр
23.07.2018
10:22:20

Maxim
23.07.2018
10:22:59

A64m
23.07.2018
10:23:03

Алексей
23.07.2018
10:23:28
да
нет, ведь если бы так нужно было бы, то уже давно все на том же хаскеле писали бы

A64m
23.07.2018
10:23:52
да нет, конечно
такого обычно не бывает

Maxim
23.07.2018
10:25:14

A64m
23.07.2018
10:25:22
куча изобретений годами, десятилетиями (в рекордных случаях - тысячелетиями) не используются не потому что не нужны, просто существуют процессы адоптации, которые не быстро идут

Александр
23.07.2018
10:25:58

Yuriy
23.07.2018
10:26:20
вот интересный рассказ на эту тему — как одни люди изобретают хорошие вещи, а другие продолжают пользоваться говном уже больше 40 лет https://vimeo.com/71278954

Александр
23.07.2018
10:26:23
(мысль не моя)

Google

A64m
23.07.2018
10:26:26
причины могут быть как технические, так и социальные

Алексей
23.07.2018
10:27:26

A64m
23.07.2018
10:28:16
ну и никакой это не срок для IT, мейнстрим сейчас это клоны языка 1960-го года с перламутровыми пуговицами, например

Алексей
23.07.2018
10:29:45

Андрей
23.07.2018
10:30:07
вангую алгол

A64m
23.07.2018
10:30:08
вообще самая новая вещь в мейнстриме - ГЦ с поколениями появилась за 10 лет до того как проект хаскеля обсуждать начали

Алексей
23.07.2018
10:31:56
Просто я несколько прагматично настроен и считаю, что если какой-то язык не используется широко на практике, то это не просто так, и значит у этого языка есть фатальные недостатки.

A64m
23.07.2018
10:31:58
большинство изобретений 70-х до сих пор не в мейнстриме

Leonid
23.07.2018
10:32:50

Алексей
23.07.2018
10:32:55
Они правда есть у всех языков, но не такие фатальные.

A64m
23.07.2018
10:33:40

Leonid
23.07.2018
10:34:29
Вот туалетная бумага в деревнях стала широко использоваться только лет 15 назад

A64m
23.07.2018
10:34:45
ну и фатальных недостатков скорее всего не бывает - просто нет вещи настолько плохой, чтоб ей никто не стал пользоваться.

Pineapple
23.07.2018
10:35:48
Ну всё же нет, если вещь убивает пользующегося её без промедления, то пользоваться её не будут
Ну и на самом деле достаточно репутации непрактичной штуки, которой никт не пользуется

A64m
23.07.2018
10:36:55

Алексей
23.07.2018
10:37:04

A64m
23.07.2018
10:37:28
а вот "репутации" достаточно, да. потому что процесс внедрения в основном социальный

Pineapple
23.07.2018
10:37:30

Google

Алексей
23.07.2018
10:37:52
Может ли тот же хаскель так измениться - большой вопрос на самом деле.

A64m
23.07.2018
10:38:01

Алексей
23.07.2018
10:38:20

Leonid
23.07.2018
10:38:27

A64m
23.07.2018
10:38:32

Leonid
23.07.2018
10:39:20
ну их там добавили как-то странно

Алексей
23.07.2018
10:39:22
Опять же если взглянуть на веб, то между ES5 и ES2015 к примеру разница очень значительная.

A64m
23.07.2018
10:39:50
в чем там значительная разница?

Алексей
23.07.2018
10:40:16

A64m
23.07.2018
10:40:28
сомнительно

Алексей
23.07.2018
10:40:45

A64m
23.07.2018
10:41:08
сомнительно что существенные изменения нельзя перечислить парой строк.

Александр
23.07.2018
10:41:09
Я приводил уже цитату, что питонисты 2.х отказываются учить 3.х, потому что там _такая большая разница_...

A64m
23.07.2018
10:41:39
к примеру, C++ существенно изменялся, в него шаблоны добавили.
а в яваскрипт что?

Александр
23.07.2018
10:41:54

Leonid
23.07.2018
10:42:33

A64m
23.07.2018
10:42:57

Александр
23.07.2018
10:43:41

Google

Алексей
23.07.2018
10:44:22
сомнительно что существенные изменения нельзя перечислить парой строк.
Ну вот неполный список:
1) самое главное - промисы, наконец то подвезли нормальную асинхронщину белого человека
2) нормальные переменные/константы const и let, которые работают так как и должны, а не то говно со всплытием var
3) деструктуризация
4) классы, теперь не надо писать огромнуюю кучу ClassName.prototype.methodName
5) ну и стрелочные функции, да

A64m
23.07.2018
10:44:44
это все мелкие фичи

Алексей
23.07.2018
10:44:58

Yura
23.07.2018
10:45:24
Кто-то сталкивался с таким, что nix собирает либу и при этом из этой либы не виден один из типов?

Александр
23.07.2018
10:45:39
Фича не мелкая, если она затрагивает философию программирования на языке.

Yura
23.07.2018
10:45:40
при этом остальные типы и функции видны. Stack собирает нормльно.

Алексей
23.07.2018
10:45:45
может быть их реализация и не кажется такой уж большой и сложной, но их влияние на код просто кколоссальное

Alexander
23.07.2018
10:46:05

Алексей
23.07.2018
10:46:13

Yura
23.07.2018
10:46:21
да stack собирает нормально

Admin
ERROR: S client not available

Alexander
23.07.2018
10:46:37
точно те же версии? а то как-то удивительно

Алексей
23.07.2018
10:46:47
Ну да, я признаю при этом, что в принципе все эти фичи - это прежде всего устранение недостатков ES5, но всё же.

Александр
23.07.2018
10:47:06

A64m
23.07.2018
10:47:32
серезное изменение - это изменение уровня разницы между языками. плюсовые темплейты это как раз такое изменение, а перечисленное - нет

Alexander
23.07.2018
10:47:36
т.е. то что можно было на уровне библиотеки сделать, теперь в языке и получше?

Yura
23.07.2018
10:47:48
тут даже прикол в том, что когда nix-build собирает тесты, то он символ не видит, а если запустить pkg.env, то cabal test всё видит
т.е. такое ощущение, что nix выкидывает эти символы

Leonid
23.07.2018
10:48:22

Yura
23.07.2018
10:48:32
да

Google

Leonid
23.07.2018
10:48:32
nix то как может выкидывать?

Алексей
23.07.2018
10:48:39

Yura
23.07.2018
10:48:41
я не знаю

Leonid
23.07.2018
10:48:44
Какое отношение nix имеет к компиляции ?
Магия

Yura
23.07.2018
10:49:00
он запускает cabal

Leonid
23.07.2018
10:49:10
nix это лучи смерти, никто не знает как они работают. А значит могут всё что угодно

Yura
23.07.2018
10:49:32
походу никто не сталкивался
хз он может какой-то флаг cabal-у даёт
хм...
я закоментировал флаг
isLibrary = true;и оно заработало
WTF

Евгений
23.07.2018
10:52:11
Вброшу дальше про типы. На самом деле то, что является результатом "type inference" и то, что стоит после : это тоже разные вещи совсем.
Поэтому типами обычно называют три вещи, а не две

Александр
23.07.2018
10:53:35

A64m
23.07.2018
10:53:39
ну это близкородственные вещи
на каком-то этапе было посложнее - емнип, первый вывод типов вообще не позволял аннотации делать

Евгений
23.07.2018
10:55:31
ну это близкородственные вещи
Ну, они часто используются вместе. Но часто и теги вместе с типами используются (например для реализации system f второго и более порядка)

A64m
23.07.2018
10:56:29
ну они не столько используются вместе, сколько могут быть аннотирована в большинстве случаев для которых выводятся.
но это не одно и то же, да Ж(((

Denis
23.07.2018
11:27:01

Dmitry
23.07.2018
11:57:28
Ё-маё. Полдня в чатике не был, открываю, а тут как будто филиал Хабрахабра.
Битва джыэсников и хаскеллистов — атас, моё почтение!