Yura
а основном в kloc выражается
Alexander
потому, что в динамике такие + другие
Alexander
а в статике только другие
Слава
такие-другие - какая разница
В их количестве разница, зачем писать, если можно не писать.
Anonymous
Вот у питона, кстати, система типов строгая, динамическая
Anonymous
Замкнутая
Yura
и все равно на крокодила проверять надо
Слава
вопрос про то - сколько кейсов закроют типы
Для статики ide замечательно работают, это ускоряет выполнение задач
Anonymous
Так, что такое тип вообще?
Andrey
если типы избавляют от половины тестов ценой большого ненатягивания - то как бы вопрос зачем оно надо
Anonymous
Давайте уж оттуда нтчинать?
parket
Так, что такое тип вообще?
Именованное множество
Alexander
во всяком случае пока никто не удосужился ни формализовать его, ни привести пример
Andrey
да не надо теории и ТАПЛа - а то приводили уже картинки с венами ))
Yura
ну ты не обязан в Хаскеле типы использовать
Yura
пиши в IO
Yura
и не парься
Yura
и UT пиши
Слава
во всяком случае пока никто не удосужился ни формализовать его, ни привести пример
И не надо формализмы тут писать, я их могу не понять, да и другие тоже
Anonymous
Система типов сильная.
Ах, вечные языковые проблемы
Alexander
ну я не понмаю, что такое "типы не натягиваются"
Yura
you are welcome , пусть расцветают тысячи цветов
Alexander
ни почему динамика эту проблему решает
Anonymous
Именованное множество
Ну, есть разные определения
Andrey
потому что ты, Александр, умный и ПхД
Yura
да не решает она ничего, просто под ковер заметает и тестами покрвает
Anonymous
Мне лично импонирует самое простое, интуиционистское - диапазон значей плюс набор операций
Andrey
а у меня не натягиваются регулярно
Alexander
в динамике натягиваются - а тут нет?
Alexander
так не бывает
Слава
ну я не понмаю, что такое "типы не натягиваются"
Это означает "в vim нет рефакторинга, а в r# есть, но мы не знаем про r#".
Alexander
если не получается - сделай как в динамике
Andrey
вот в Джаве так и делаю - поэтому и называю ее с опциональной типизацией )
Yura
в динамике из хорошего итроспекция и загрузка кода
Anonymous
Void
Множество может быть и пустым
Andrey
а в Хаскеле обещали доклад - буду жддать
Anonymous
Твое определение неклассическое (если ты о таксономиях) или просто ты повыебываться умением ебаться с тайпером хочешь
Слава
teh drama
Andrey
О, а Александр говорил мат не вэлкам )))
parket
Так бомбит же. 🤣
Anonymous
А, ну мне не говорили
Alexander
+ мата не нужно
Andrey
я 3 раза писал зачем и почему - но чукчи не читатели
Anonymous
Сношаться тогда
Anonymous
Andrey
спасибо, кэп )
Слава
Выдрючиваться. Как в анекдоте про песенку о комбайне
Anonymous
Наш любимый хаскелль, надежда всего прогрессивного человечества, имеет широкий список проблем:
Зигохистоморфный
опять про терминальные/инициальные объекты/алгебры?
Anonymous
1) Нет exception safety. Нет унификации результата и эксепшена 2) нетотален 3) большие проблемы с написанием модульного кода, инкапсуляцией 4) Большие проблемы с динамической модульностью 5) миллион пердоликов, любящих писать инвазивный код
Anonymous
В общем, ээ
Слава
Отсутствие инструментария для профайлинга
Dmitry
Int foo(Object foo) { Int bar =(Int)foo ; return bar }
Вы так быстро пишете, что я за вами не успеваю. Напишу тут мысль и уйду опять. @qnikst написал выше отличный пример зачем нужны типы. Выше мы видим foo. foo - это функция из чего-то в чего-то. Мы смотрим на тип функции. Мы видим, что это уже не просто функция, а функция Object -> Int. То есть мы в типе описали некоторый контракт по которому работает функция. Она уже возвращает не всё что угодно, а более конкретный Int. Если мы хотим узнать более детально как работает функция foo (как соотноисятся Int и Object), мы будем читать тело функции (мы интерпретируем её у себя в голове). В динамически типизируемых языках есть только один способ узнать что делает функция - интерпретация (прочитать тело функции). Статическая типизация добавляет ещё один вариант - сигнатура. Остальной спор про то какое количество информации о контракте мы хотим выразить в сигнатуре. Это уже предпочтения каждого
Anonymous
Типы нужны, факт, ну што вы
Yura
> Отсутствие инструментария для профайлинга Да?
Anonymous
Другое дело - понять, что же такое для нас "тип"
Yura
>5) миллион пердоликов, любящих писать инвазивный код это про что?
Anonymous
Потом - понять, что у нас нету хороших технологий и замечательных тайперов, которые смогут доказать корректность результата простой композиции аналитических функций
Anonymous
Я выше ответил 🤣
недостаточно формально
Yura
>Про пердолинков и инвазивный код кто эти люди?
Anonymous
Другое дело, что проблемы тотальности - они ж фундаментальные
Anonymous
>Про пердолинков и инвазивный код кто эти люди?
Ну это товарищи, которые пишут небесплатные абстракции
Anonymous
Просто потому, что им очень нравится секс с тайпером
Anonymous
Секс с тайпером ради секса с тайпером
Anonymous
Не ради продуктивности
Anonymous
Нередко пердолик прикрывается тем, что он-де корректность обеспечивает
Yura
нет они просто наебались с корками у клиента на енве
Alexander
ребят
Anonymous
Но среди них мало достойных уважения людей, кто способен свою корректность доставить продуктивно
Alexander
мне очень не нравится формат разговора и используемый словарь
Alexander
можно исправить?
Anonymous
Но зато ходить с гордо поднятой башкой и ругать почем зря технологии (конечно хреновые) - это всегда пожалуйста
Alexander
тотальность есть в Idris/Coq
Alexander
это дорого