Max
И как?
Dmitry
ну, работает как-то
Dmitry
по объему кода примерно как ghcjs
Dmitry
при примерно равной функциональности
Dmitry
пока не могу сказать
Max
Ну вот да. Элм тоже какой-то многословный
Max
Но работает.
Max
Впрочем, насаждение FSM сапогом и строгая типизация - единственный нормальный выход для фронта
Max
Иначе жопа
Misha
на фронтэнде все так плохо, что там даже typescript уже счастье
Dmitry
фронтендеры, кстати, так не считают
Misha
ну а куда им деваться
Misha
привыкли
Anonymous
Anonymous
Но на фронтенде всё очень-очень плохо. Elm –– единственный разумный выход, потому что
1. Не так сложно
2. Помогает
Anonymous
Хотя если попробовал purescript, то Elm как-то не очень поначалу.
Misha
http://tonsky.livejournal.com/310929.html
Саша
Прошу прощения за оффтоп!
Мы, группа студентов факультета социологии СПбГУ, проводим большое исследование рейтинга IT работодателей Санкт-Петербурга и Москвы. Пожалуйста, поддержите нас, пройдя опрос по ссылке http://sgiz.mobi/s3/63243b734400
Опрос состоит только из закрытых вопросов и займет 5 минут.
Результаты опроса планируется опубликовать на habrahabr.ru в блоге “Моего круга” и в группе https://vk.com/jugru
С админом согласовано
Anonymous
Dmitry
если есть тимлид. если тимлид
Dmitry
это не ты
Dmitry
еще бывает, что тимлид не против
Anonymous
всё равно, это ведь еще может сильно зависеть от задачи и от коллег…
Dmitry
может
Anonymous
интереснее, на мой взгляд, сделать не сколько хаскелл в любой компании, столько внедрить методы формальной верификации, на idris, например, или на Agda. в теории это развито и в среде математиков тоже, но всегда было интересно, как это можно применить в прикладной работе, я ни одного примера кроме Касперского не знаю
Anonymous
Anonymous
как-то категорично
Anonymous
Дорого и сложно.
Anonymous
А там где нужна верификация, уже давно классические методы работают.
Anonymous
(я так думаю)
Anonymous
«классические» - это какие?
Anonymous
логика Хора?
Anonymous
Хоара*
Alexander
сколько строка кока стоит?
Alexander
кому это нафиг надо?
Anonymous
Ага, она, model checking, separation logic, etc
Anonymous
Александр, я имел в виду не то кому это может надо, а при каком кейсе это может быть полезно
Anonymous
(гипотетически)
Alexander
при кейсе где стоимость потерь из-за ошибки больше цены программистов
Alexander
и где это понимают
Дима
Дима
Написан на окамле
Дима
Причём для фейсбука это только промежуточная стадия для перевода всего фронта на окамл — в их масштабах писать типизируемый силами ocaml UI настолько выгодно, что можно и всю подобную технологию с нуля себе накатать
Anonymous
интересное мнение, было бы интересно, если так и окажется
Anonymous
flow интересная штукована, недавно появилась возможность его поюзать на практике: не у кого не было опыта использования flow в продакшне?
Vasiliy
в продакшоне не видел, наши фронендщики попытались его заюзать, натравили на небольшой модуль, посмотрели на пять страниц ошибок и забили
Vasiliy
сдаётся мне, проблема тайпскрипта, flow и прочих тайпчекеров для js не в том, что их сложно написать или что js такое говно
Anonymous
а в чем?
Vasiliy
а в том, что написаны уже тонны кода, которые кладут большой болт на всю эту типизацию, и при использовании любой сторонней библиотеки вся безопасность идёт лесом
Anonymous
ну да, это объяснимо
Vasiliy
а писать целиком всё на том же тайпскрипте, без библиотек, не каждая контора может себе позволить
Anonymous
а если использовать флоу изначально?
Anonymous
(писать с нуля на тайпскрипте, я согласен, радикально)
Anonymous
одно дело юзать чекер для, другое писать с нуля на языке без библиотек
Anonymous
для лишнее*
Vasiliy
да flow тоже захлебнётся, если подтянуть какую-нибудь библиотеку, в которой функция принимает количество аргументов, зависящее от значений предыдущих аргументов (привет, зависимые типы), а результат возвращает через модификацию какого-нибудь глобального объекта
Vasiliy
а такое в мире js не редкость...
Влод
(Int, Any...) -> Any
Влод
варарги я думаю там предсмотрены
Alexander
если у меня в программе открыто слишком много fd, то можно как-нить посмотреть откуда они?
Dmitry
что значит "откуда" ?
Alexander
что имеено открыто (ну это я уже посмотрел в /proc/X/fd)
Alexander
теперь хочу угадать кто наоткрывал
Dmitry
если запустить под strace по дампу бывает видно
Дима
Дима
Дима
Концепт — а давайте сделаем вывод типов циничным пессемистом, если у пользователя есть хоть малейшая возможность сделать очередной жс финт — ставим ошибку, исходим из наихудшего возможного варианта. Тем самым, из всего сумашедшего динамического языка остается лишь скупое подмножество, только те операции, которые надёжны с точки зрения вывода в них типов
Дима
Примерно тот же подход под коробкой реализует purescript, только фейсбук нашёл способ пойти этим путём не меняя синтаксис языка (жертвуя мощью, но им в конце концов надо просто рисовать крупнейший в мире сайт)
Alexander
@voidlizard а сходу не помнишь, как лишний вывод урезать, чтобы только открытие fd ловить?
Dmitry
фиг знает, я всегда
| grep
Vasiliy
-e open
Vasiliy
ну и прочие сиколы, создающие fd
Vasiliy
что там, socket, popen итд
Alexander
там SIGVALARM ползут
Alexander
их конечно можно грепов вырезать
Vasiliy
-e signal=!SIGVTALRM
Alexander
спасибо
Alexander
а трейс только 1 тред смотрит или все?