Anonymous
Ayrat
Ну то есть не пытаться существующую кодобазу в миг сделать збс, а хотя бы дать возможность новую писать по-людски
Dr. Friedrich
Ну, типа, у меня же есть нативный код с нативными пулами тредов, и очень много. Есть вот этот вот идиотический гуй на маке, есть очень много всего, где гринтреды не будут работать, и где при этом хочется много IO.
Doge
Ayrat
Ayrat
Doge
Dr. Friedrich
Dr. Friedrich
Я не уверен, что станет работать лучше, но принципиально сломать не должен :)
Dr. Friedrich
А прикинь, что у тебя код-хитрожоп что-нибудь своё схороняет в TEB, например. И потом просто рили охреневает от того, что ему внезапно этот TEB подменили на ходу, после какого-нибудь IO.
Ayrat
Я из обсуждения так и не понял что мешает сделать асинхронное апи рядом с синхронным в ждбц драйвере
Doge
Doge
Dr. Friedrich
Ну и плюс, авторы фундаментальных либов уже не те щас. Кто-то на пенсии, а кто-то уже в дурке.
Dr. Friedrich
Кто тебе стек будет обновлять? Зумеры?
Roman
Dr. Friedrich
Не, я не буду рефакторить, зачем? Ведь скоро прожект лум выйдет, и вот тогда заживём!
Dr. Friedrich
Гарантирую, что после его выхода просто найдут новую несбыточную мечту, и рефакторинг будут откладывать и дальше :)
Ayrat
А вот для Кассандры сразу взяли и сделали хороший асинхронный драйвер. И никакого прожект лума не надо.
Торчат наружу обычные листанабл футуры стандартные
Ayrat
И все живы
Ayrat
Чот я все равно не понял аргумент про вендоров. Мне надо будет, я сам напишу обвязки
Ayrat
Дайте мне сука драйвер
Dr. Friedrich
Dr. Friedrich
Doge
Doge
Причем даже в нескольких вариантах
Ayrat
Ну мне больше для db2 и всей этой старпер компании надо
Ayrat
Для новомолодежного говна понятно что все есть
Vladislav
Doge
Doge
Ты можешь бросать исключения в IO, это норм
Vladislav
Иначе аппелировать не к чему
Doge
Неясно зачем тогда вся эта история с Either
Там исключение скорее что-то вроде assert'а.
А-ля, используется одна модель юзера там, где он может прийти без id и там, где он гарантированно приходит с id.
Но на это один тип данных, поэтому тут делается ассерт, что из базы он нам точно с id пришел
Ayrat
Ну вот, опять что-то делать просят, а полежать на диване не дают
Vladislav
Stas
Doge
Nikolay
Ayrat
Ayrat
Написано же всё!
Nikolay
Блин, но оно же не может быть инлайном
Ayrat
Подумай как Parse может не быть инлайном и при этом удовлетворять твоим srtp констрейнам
Ayrat
Ayrat
Мемберы в классах могут быть инлайн.
Nikolay
Ну я имею ввиду в либе оно не инлайн
Nikolay
Жизнь боль
Ayrat
И ты такой тип пропихнул в параметр интерфейса
Ayrat
Я хз на что ты рассчитывал, но реализовать такой интерфейс с сртп типом можно только через инлайн функции
Vladislav
Nikolay
Ну если интерфейс без женерика, оно тоже не работает
Ayrat
Ayrat
Ты описал тип 'a
Ayrat
Через жопу с сртп
Ayrat
После этого любой метод который принимает или возвращает такой тип должен быть инлайн
Nikolay
Nikolay
Вот метод не использует тип
Nikolay
Но ругает меня
Ayrat
Напиши там () и компильни
Nikolay
type IExample =
abstract member Parse : unit -> unit
type Example<'a when 'a : (static member parse : unit -> unit)>() =
interface IExample with
member x.Parse() = ()
Nikolay
Вот пример не работает
Vladislav
Nikolay
Даппер ковыряю
Ayrat
Вот пример не работает
Любопытно. Я ожидал что оно должно работать, но я не много игрался с сртп типами в классах
Ayrat
Ну делай инлайн везде
Nikolay
Щас психану, и свой маппер напишу, с блэкджеком и барышнями
Vladislav