Alexander
ну и с нашим calling convention несовметим : (
Vladimir
Alexander
@lonokhov с линейными типами проблема с catch
Alexander
в общем-то и с афинными
Alexander
поэтому у раста и нету таких исключений
Alexander
только тяжеловесный unwind при панике
Anonymous
Alexander
+ в расте очень клёвая поддержка от компилятора
Anonymous
с ними было бы хуже imo
Alexander
легкотредов там нету, а кто для себя их будет переизобретать - должен страдать
Alexander
я утверждаю, что наличие афинных типов это разумная причина почему их нету
Alexander
там проблемы с foundations
Alexander
теоритическими даже
Alexander
я для чего спрашиваю, у меня в фирме пилят линейные типы для haskell, и там много похожих проблем, но свойства рантайм системы существенно другие, несмотря на это я надеялся что можно использовать похожие решения
Alexander
поэтому и спрашивл
Сережа
проблема с catch из-за проверок на владение что-ли была бы?
Alexander
да
Alexander
афинный ресурс нельзя использовать в обработчике исключения
Сережа
есть изящное решение RefCell
Alexander
т.к. он захвачен действием
Alexander
у нас для этого GC
Alexander
но для ресурсов использующихся линейно есть надежда использовать не managed heap
Alexander
в общем-то то, что получилось у меня это или non-linear-catch или специальное хранение ресурсов решает проблему
Alexander
смысл тот же что в расте, но эффективность может страдать
Alexander
хотя после моих вопросов я уже не совсем уверен, у раста достаточно мощная машинерия разворачивается
Alexander
и решение совместимо с tailcall, но мне не нравится оно
Alexander
@lonokhov и сделать неубиваемые легкие треды?
Alexander
можно, но это под отвественность разработчика
Alexander
пусть делает uninterruptibleMask и allowInterrupts там, или оборачивает в try прерываемые операции
Alexander
в общем-то т.к. там есть куча решений я не хочу встаскивать в IOL состояние
Alexander
Метью с Анро похоже считают иначе
Alexander
нет, нормально
Alexander
у тебя вся асинхронность на этом работает
Alexander
какой-нить waitRead даже
Alexander
и половина таймеров
Alexander
людей, которые используют STM + threadDelay я могу на своих носах пересчитать
Vladimir
Чё за хаскель в чате про раст?
Alexander
а да, я забыл спросить не достали ли вас
Сережа
а треды-то, треды грин?
Alexander
да
Vladimir
Про что вообще разговор, услышал только ключевое слово stm
Vladimir
Хотябы привычнее
Alexander
в общем мы пилим расширение позволяющее линейные и в общем-то афинные типы в haskell
Alexander
кратко
Alexander
более полно с ним есть некоторые проблемы, которые так или иначе решены в расте
Alexander
я спрашивал про технологии решения, чтобы решить можно ли применить подобный подход
Vladimir
Вор
Vladimir
Грабитель
Alexander
дык нельзя
Alexander
а то, что похожее можно - уже изобретено давно (до появления раста)
Alexander
классы типов
Marat
А в расте даже в найтли еще нет trait алиасов?
Маjко
Нет
Маjко
По крайней мере без фич-гейтов
Маjко
Если есть фич-гейт, который это включает, мб и можно, но компилер такой пока не предлагает
Vladimir
Анстейбл на то и анстейбл чтоб с фичами
Anonymous
Anonymous
use std::any::Any as Anything;
Сережа
поцоны, а как в расте архитектуру приложения строить, в хелловордах наиболее часто я видел, что есть thread_local модель, через сообщения она общается с чем-то типо контроллера в другом потоке
Сережа
как состояние приложения обслуживать?
Anonymous
или даже trait Anything: Any {}
Vladimir
Кстати а юз чем не тайпалиас
Vladimir
Ну если игнорить параметры дополнительные
Сережа
он новый тип создает?
Vladimir
Нет конечно
պլհկ
Маjко
но зачем
Чтобы не писать километровые типы при работе с фьючами, очевидно
Маjко
Vladimir
Эмс
Anonymous
а что поменяется?
Маjко
То, что так не получится.
Anonymous
почему
Маjко
Потому что
Anonymous
use futures::future::Future as Memessss;
Vladimir
Ты издеваешься? Кто-то пишет impl Future<Item=..> так вообще имплы можно?