Дима
А я расцениваю его примеры как ещёё одно доказательство того, что флоу может самостоятельно следить за черезчур умными джунами
Андрей
Андрей
Как бы статический анализ служит для ограждения от ошибок.
Дима
И пояснять за базар при изменении прототипов и прочей дури
Anonymous
nopefish
Всем привет. Небольшой оффтоп. Кто знает дополнение для лисы для изменения цвета сайта чтобы было удобнее читать?
nopefish
Надо для андроида
Andrey
Привет, подскажите как изменить ISO дату (обнулить время, и прибавить день) и вернуть текже ISO.
setDate возвращает UTC number.
Дима
А что тут не так?))
Дима
n: any[]
Дима
При умножении кучи не-чисел получим NaN'ы, в итоге флоу верно вывел тип number
Андрей
Дима
А чего?
Андрей
В остальном все строго.
Anonymous
А чего?
какого он туда undefined пустил?
Дима
undefined[]
Anonymous
вроде же вывод типов в том и заключается что все три должны быть числами
Anonymous
если путаю сам синтаксис поправьте меня
https://flow.org/try/#0PQKgBAAgZgNg9gdzCYAoVUCuA7AxgFwEs5swo44AKAOluwC4xtMBbAIwFMAnAbQF0AlI2btuYAN6owYLh3yYupbDwAMfZEx4BGdeGUAmXWC0qA3KgC+6clQFA
Андрей
Андрей
Иначе уж совсем жить было бы невозможно.
Anonymous
Подожди бля, n[0] ... n[2] числа, всегда числа, значит три аргумента тоже должны быть всегда числа обязательные.
Дима
Если нужны конкретные три переменные, то пиши конкретные три переменные, а не массив неопределенной длины
Anonymous
Anonymous
где логика?
Дима
А кто-то разве обещал тебе что тебе разрешат писать все что вздумается?
Anonymous
https://flow.org/try/#0PQKgBAAgZgNg9gdzCYAoVUCuA7AxgFwEs5swo44AKAQwBowA6J7ASjAG9UwwAnAU3yYepasjDYA2gAYAumMmyxARikBuVAF905KiyA
Дима
https://flow.org/try/#0PQKgBAAgZgNg9gdzCYAoVUCuA7AxgFwEs5swo44AKAOluwC4wBtbTAWwCMBTAJwBowrTrwFDuPALoBKMAG9UYMDy75MPUtiYAGCckFMAjLvCaATMbAGtAblQBfdOSpaBWqUA
Anonymous
Андрей
Андрей
Такое поведение задумано.
Дима
Флоу форсит употребление сабсета жс. Не все конструкции языка для него корректны и в этом то собственно и цель проекта — жс без дури
Anonymous
Только ты сказал выше что его нельзя сломать вообще никак блять, я его два раза сломал, в первом случае я вышел за пределы джуниорства, по втором так и задумано
Дима
Да лан, короче, всё можно сломать, шыт хэппенс
Андрей
Только одна поломка желательна, а другая сюрприз)
Anonymous
Дима
Андрей
Андрей
И все будет чики-пуки.
Anonymous
Андрей
Flow даёт тебе только в одном месте ошибиться. При получении элемента из списка неопределенной длины.
Дима
Таплы может purescript проверять, он тебе прям прямо скажет, братан ты не рассмотрел варианты когда n2 не существует
Дима
Но с пурскриптом уже не поджуниорстувешь, хе-хе
Андрей
Андрей
И она покрывает все, кроме списков неопределенной длины.
Андрей
Если тебе надо что-то более конкретное, то надо уточнять руками.
Anonymous
Дима
Вообще говоря, ничто не даст такой гарантии включая идрис потому что это эквивалентно решению проблемы останова
Дима
Которую доказанно решить нельзя
Anonymous
Дима
Дима
Разница только количества этих пояснений
Anonymous
Сравни размах ошибок.
все можно сломать, а flow для того что бы джунов посадить и не париться, ts для остальных, все можно закончить.
Андрей
Ок, все говно.
Андрей
Дима
Привязанный к жс код обязан идти на ряд жертв кстати
Дима
Чисто из-за особенностей языка, слабо выражаемых через обычный процесс вывода типов
Дима
Поэтому чтобы сделать например purescript, да хотя бы даже elm, надо отказаться практически от всего языка в самых основах
Anonymous
Anonymous
Ок)
Пример твой на ts я посмотрю флаги.
Anonymous
Потом отпишусь
Anonymous
Все давайте пацаны, пора уже дела поделать
Дима
Я только проснулся
Дима
Ну что кэп, это вообще наоборот всегда довольно тонкие моменты
Типа того, почему type C = { ...{ a: number }, ...{ b: string } } будет иметь все поля опциональными
{ a?: number, b?: string }
Андрей
Андрей
Потому что это не exact типы.
Дима
Ну это да, но тип я к тому, что некоторые wtf сходу не определишь и пока мы в жс с этим придётся иметь дело