Size: a a a

2017 December 01

IZ

Ilia Zviagin in fprog_spb
Konstantin
вчера я узнал как нужно писать на кложуре. все есть hashmap
Это не только кложура, это и Lisp
источник

VM

Vyacheslav Mikushev in fprog_spb
Ilia Zviagin
Это не только кложура, это и Lisp
В лиспе все лист, а не хэшмапа.
источник

K

Konstantin in fprog_spb
neFormal
кстати, а есть шанс вытащить разные записи выступлений у jetbrains?
мне кажется вчера не было записи?
источник

IZ

Ilia Zviagin in fprog_spb
Vyacheslav Mikushev
В лиспе все лист, а не хэшмапа.
:-)
источник

IZ

Ilia Zviagin in fprog_spb
Vyacheslav Mikushev
В лиспе все лист, а не хэшмапа.
Это только на уровне шуточет так. В реальности и свойства атомов не списки (ассоциативные или хэшмапы) и объекты, и много чего ещё.
источник

MD

Mariya Davydova in fprog_spb
Andrey Ivanov
Простите, что вмешаиваюсь в умный диалог, но при всей моей любви к Хаскелю, тамошний тайпчекер не отловит попытку взятия головы от пустого списка и прочие нетотальные функции, что приведет к краху по эррору именно в рантайме, включая то же пресловутое деление на 0. Поэтому говорить, что наличие системы типов (даже такой сильной как в Хаскеле, если оставить в стороне Идрисы и прочее) автоматически что-то там гарантирует как минимум слишком оптимистично. И это еще если не рассматривать чисто логические ошибки, которых по некоторым оценкам гораздо больше в коде.
Сильная система типов всё же даёт некоторые гарантии. По крайней мере, ты не положишь кошку в список собак. А то, что тайпчекер Хаскеля не ловит ошибки использования нетотальных функций - так всё-таки он не Идрис и не Агда. (Да, я в целом фанат языков с сильной статической типизацией :))
источник

AI

Andrey Ivanov in fprog_spb
Все правильно. Вопрос в том ,какой процент ошибок это отлавливает. Полагаю, что зависит от пишущего, но не думаю что слишком большой. Напомню, логические ошибки (коих большинство) мы вообще вынесли за скобки - а с ними тайпчекер бессилен. Так что остается только контроль/гарантия одних кошечек в списке, что в принципе не так много, да и часто еще наоборот неудобно :)
ЗЫ если что, я могу (и умею) участвовать в этих спорах и от лица противоположной стороны - смотря по расстановке сил в каждом конкретном случае :)
источник

VM

Vyacheslav Mikushev in fprog_spb
Andrey Ivanov
Все правильно. Вопрос в том ,какой процент ошибок это отлавливает. Полагаю, что зависит от пишущего, но не думаю что слишком большой. Напомню, логические ошибки (коих большинство) мы вообще вынесли за скобки - а с ними тайпчекер бессилен. Так что остается только контроль/гарантия одних кошечек в списке, что в принципе не так много, да и часто еще наоборот неудобно :)
ЗЫ если что, я могу (и умею) участвовать в этих спорах и от лица противоположной стороны - смотря по расстановке сил в каждом конкретном случае :)
Янус?
источник

AI

Andrey Ivanov in fprog_spb
Приходится, в зависимости от отклонения преобладающей в дискуссии позиции от моих представлений об оптимальном компромиссе :)
источник

n

neFormal in fprog_spb
Konstantin
мне кажется вчера не было записи?
а мне и не вчерашнее нужно.
я хотел пересмотреть объяснение монад как эндофункторов
источник

n

neFormal in fprog_spb
в чём проблема хранения котиков вместе с щеночками? кого хочешь, того и гладишь. перебор всех довольно дешёвый в распространённых задачах
источник

AI

Andrey Ivanov in fprog_spb
хотите обсудить это? проблема в том, что нельзя добавить щеночка в Хаскеле к котикам. Если не использовать так ругаемый всеми Dynamic. А без него - здравствуй расширение типа на тип-сумму, или Either-монада или еще что - с последующим переписыванием всего (!) завязанного на этот список кошек кода, добавлением монадических интерфейсов и прочего.
источник

p

punksta in fprog_spb
Sasha Golubev не выдержал)
источник

n

neFormal in fprog_spb
иногда очень хочется иметь гетерогенные коллекции
и реализовывать каждый раз какие-то интерфейсы вместо использования утиной типизации
хочется делать это как-то быстрее
источник

n

neFormal in fprog_spb
хороший пример был с json'ом. аналогично с любыми конфигами
источник

n

neFormal in fprog_spb
особенно с динамически изменяемыми элементами
источник

AI

Andrey Ivanov in fprog_spb
Либо я чего-то не понимаю, либо мне пора переключаться на другую сторону Януса в этой дискуссии :) В том же Хаскеле можно создать для этих нужд специальный АТД, а не мучиться со встроенным гомогенным списком :) Причем, достаточно легко сделать этот тип и Функтором, и Аппликативом, и Монадой И Фолдаблом и Траверсаблом.
ЗЫ а сейчас меня обвинят в непоследовательности :)
источник

A🚀

Andrey 🚀🚀🚀 Popp in fprog_spb
мне в OCaml нравятся extensible variants для такого
источник

AI

Andrey Ivanov in fprog_spb
>иногда очень хочется иметь гетерогенные коллекции
с json-ом и многоуровневыми списками можно например так:
http://www.cyberforum.ru/haskell/thread1812866.html#post9629019
источник

n

neFormal in fprog_spb
да, каждый раз объединять их каким-то общим признаком
просто с одной стороны хочется иметь динамические типы, с другой - разобрать всё в структуру, а с третьей ничего не писать самому >_>
источник