Andrey
а что значит “смог”? может это только так кажется?
Cheese
юзал NoMonomorphismRestriction
это не связано
Cheese
неа
а что именно?
Andrey
так себе критерий имхо
Cheese
это с RankNTypes?
да, это, возможно, ещё какие-то расширения надо включить
Maxim
это не связано
тогда попробую forall сейчас заюзать, если это не одно и то же
Leonid 🦇
так себе критерий имхо
а какой должен быть критерий то?
Andrey
пара диссеров например
Leonid 🦇
пара диссеров например
а диссеры про яваскрипт покажите
Cheese
надо уже рассуждения о языках выносить в отдельный чат. здесь вы мешаете практические проблемы решать
Leonid 🦇
или может по плюсам?
Andrey
вы про хаскель говорили а не про жс и плюсы
A64m
очень субъективное утверждение
почему? нетипизированные языки - обективно говно. языки без параметрического полиморфизма - объективно говно. языки без вывода типов - объективно говно, языки без контроля эффектов - объективно говно, языки без hkt - объективно говно. строгие языки - объективно говно, языки без классов типов - объективно говно, языки без модулей - объективно говно. языки без проверки тотальности объективно говно. ну что там осталось из неговна? ничего Ж(((
Leonid 🦇
ну всё, у меня подгорело
Cheese
кстати @fp_ru — чат, где можно языки обсуждать
A64m
да
Andrey
f = const shit
Andrey
чекер Клапауция
Cheese
заработало, спасибо большое
с делением работать не будет
Maxim
да
Алексей
да
у вас просто критерии говна-неговна неправильные
Maxim
для деления отдельно сделаю
A64m
или, точнее, мертв
Cheese
там не Num
можно более простое решение придумать — data ArithmeticOp = ArithmeticOp{forInteger :: Integer -> Integer -> Double, forDouble :: Double -> Double -> Double}, ну или что-то в таком духе
Алексей
да
нет, ведь если бы так нужно было бы, то уже давно все на том же хаскеле писали бы
A64m
да нет, конечно
A64m
такого обычно не бывает
Maxim
можно более простое решение придумать — data ArithmeticOp = ArithmeticOp{forInteger :: Integer -> Integer -> Double, forDouble :: Double -> Double -> Double}, ну или что-то в таком духе
самое стремное, что мне эта ошибка вылезла, и я даже не знал, что гуглить, потому что по сообщению ничего не находилось
A64m
куча изобретений годами, десятилетиями (в рекордных случаях - тысячелетиями) не используются не потому что не нужны, просто существуют процессы адоптации, которые не быстро идут
Alexander
у вас просто критерии говна-неговна неправильные
Любой шедевр искусства, даже который стоит миллионы, эквивалентен куче удобрений, стоящей столько же.
Cheese
вот интересный рассказ на эту тему — как одни люди изобретают хорошие вещи, а другие продолжают пользоваться говном уже больше 40 лет https://vimeo.com/71278954
Alexander
(мысль не моя)
A64m
причины могут быть как технические, так и социальные
Алексей
куча изобретений годами, десятилетиями (в рекордных случаях - тысячелетиями) не используются не потому что не нужны, просто существуют процессы адоптации, которые не быстро идут
сколько хаскелю лет? лет двадцать уже чтоли, или больше в IT двадцать лет - это огромнейший срок, я вот не думаю что через двадцать-сорок лет все будут писать исключительно на хаскеле или похожих на него языках
A64m
ну и никакой это не срок для IT, мейнстрим сейчас это клоны языка 1960-го года с перламутровыми пуговицами, например
Andrey
вангую алгол
A64m
вообще самая новая вещь в мейнстриме - ГЦ с поколениями появилась за 10 лет до того как проект хаскеля обсуждать начали
Алексей
Просто я несколько прагматично настроен и считаю, что если какой-то язык не используется широко на практике, то это не просто так, и значит у этого языка есть фатальные недостатки.
A64m
большинство изобретений 70-х до сих пор не в мейнстриме
Алексей
Они правда есть у всех языков, но не такие фатальные.
A64m
Просто я несколько прагматично настроен и считаю, что если какой-то язык не используется широко на практике, то это не просто так, и значит у этого языка есть фатальные недостатки.
ну т.е. языки принципиально отличаются от других изобретений, которые могут сколько угодно "не использоваться широко", а потом начать использоваться широко
Leonid 🦇
Вот туалетная бумага в деревнях стала широко использоваться только лет 15 назад
A64m
ну и фатальных недостатков скорее всего не бывает - просто нет вещи настолько плохой, чтоб ей никто не стал пользоваться.
Алексей
Ну всё же нет, если вещь убивает пользующегося её без промедления, то пользоваться её не будут
Алексей
Ну и на самом деле достаточно репутации непрактичной штуки, которой никт не пользуется
A64m
Ну всё же нет, если вещь убивает пользующегося её без промедления, то пользоваться её не будут
ну люди пользовались и пользуются штуками, которые довольно быстро убивают пользователя, но обычно не мгновенно, да
Алексей
ну т.е. языки принципиально отличаются от других изобретений, которые могут сколько угодно "не использоваться широко", а потом начать использоваться широко
Я вот не скажу про другие изобретения, но языки развиваются и изменяются, и я вот считаю, что обычно непопулярный язык не может стать популярным без значительных и правильных изменений.
A64m
а вот "репутации" достаточно, да. потому что процесс внедрения в основном социальный
Алексей
Может ли тот же хаскель так измениться - большой вопрос на самом деле.
A64m
Тут надо чтобы убивала сразу и очевидно
это все еще можно поправить социально
A64m
Враньё! В яву добавили лямбды!
это не сильное изменение, вот дженерики - уже заметное
Leonid 🦇
ну их там добавили как-то странно
Алексей
Опять же если взглянуть на веб, то между ES5 и ES2015 к примеру разница очень значительная.
A64m
в чем там значительная разница?
Алексей
в чем там значительная разница?
Это тема для целой статьи, а то и не одной.
A64m
сомнительно
Алексей
сомнительно
Что сомнительного?
A64m
сомнительно что существенные изменения нельзя перечислить парой строк.
Alexander
Я приводил уже цитату, что питонисты 2.х отказываются учить 3.х, потому что там _такая большая разница_...
A64m
к примеру, C++ существенно изменялся, в него шаблоны добавили.
A64m
а в яваскрипт что?