Size: a a a

Programming Offtop

2020 May 26

(

( in Programming Offtop
Ilmir
И что в дангном случае контекст?
произвольный датакласс
источник

I

Ilmir in Programming Offtop
(
произвольный датакласс
И если у нас несколько Has, то это несколько контекстов или один контекст, но поддерживающий все условия? Или зависит от того, что напишешь, | или &?
источник

I

Ilmir in Programming Offtop
Переформулирую вопрос. Можно ли контексты композировать?
источник

(

( in Programming Offtop
Ilmir
И если у нас несколько Has, то это несколько контекстов или один контекст, но поддерживающий все условия? Или зависит от того, что напишешь, | или &?
нету | и &, есть только &
источник

(

( in Programming Offtop
Ilmir
Переформулирую вопрос. Можно ли контексты композировать?
в этом и есть смысл таких контекстов
источник

I

Ilmir in Programming Offtop
(
нету | и &, есть только &
Ну, возвращаемся к вопросу с T.canVomitOrShit. Как мне это выразить?
источник

(

( in Programming Offtop
Ilmir
Ну, возвращаемся к вопросу с T.canVomitOrShit. Как мне это выразить?
Как ты себе это представляешь? Внутри кастить и типчики проверять?
источник

I

Ilmir in Programming Offtop
(
Как ты себе это представляешь? Внутри кастить и типчики проверять?
Ну да. Вот к примеру, есть у меня две инструкции. AALOAD и ALOAD. Они абсолютно разные для обычного анализа байткода. Но для моего конкретного анализа важно лишь, что они кладут значение на стек и я, если постараюсь, могу тип этого значения достать. Поэтому я хочу написать что-то типа
fun <T> T.getType(): Type where T : (AALOAD | ALOAD) = Type.Object
fun <T> T.getType(): Type where T : (IALOAD | ILOAD) = Type.Int
// etc

Нормальный use-case?
источник

I

Igor in Programming Offtop
https://www.youtube.com/watch?v=Zk42d7vNLr4

Кек кросовер тысячелетия: Фил (автор ссаных статьяей с хабра) + Бреслав
источник

VP

Vladimir Petrakovich in Programming Offtop
Ты уже и на подкаст его подписался?
источник

I

Igor in Programming Offtop
нет, но большинство выпусков послушал - вроде норм
источник

I

Ilmir in Programming Offtop
Ilmir
Ну да. Вот к примеру, есть у меня две инструкции. AALOAD и ALOAD. Они абсолютно разные для обычного анализа байткода. Но для моего конкретного анализа важно лишь, что они кладут значение на стек и я, если постараюсь, могу тип этого значения достать. Поэтому я хочу написать что-то типа
fun <T> T.getType(): Type where T : (AALOAD | ALOAD) = Type.Object
fun <T> T.getType(): Type where T : (IALOAD | ILOAD) = Type.Int
// etc

Нормальный use-case?
Ну и, разумеется, ASTORE.getType() должно кинуть ошибку компиляции.
источник

D

Denys in Programming Offtop
У автора тех статтей есть канал О_о
источник

AM

Andrew Mikhaylov in Programming Offtop
Поразводилось подкастеров, я только послушал выпуск Антона Назарова (известный твиттерский) с Бреславом
источник

(

( in Programming Offtop
Ilmir
Ну да. Вот к примеру, есть у меня две инструкции. AALOAD и ALOAD. Они абсолютно разные для обычного анализа байткода. Но для моего конкретного анализа важно лишь, что они кладут значение на стек и я, если постараюсь, могу тип этого значения достать. Поэтому я хочу написать что-то типа
fun <T> T.getType(): Type where T : (AALOAD | ALOAD) = Type.Object
fun <T> T.getType(): Type where T : (IALOAD | ILOAD) = Type.Int
// etc

Нормальный use-case?
Так это вообще не про изначальное
источник

(

( in Programming Offtop
Это твоя боль про отсутствие антаггед юнион типов
источник

I

Ilmir in Programming Offtop
(
Это твоя боль про отсутствие антаггед юнион типов
Ога
источник

I

Ilmir in Programming Offtop
Я задолбался копипастить
fun AALOAD.getType() = Type.Object
fun ALOAD.getType() = Type.Object
///etc
источник

D

Denys in Programming Offtop
Andrew Mikhaylov
Поразводилось подкастеров, я только послушал выпуск Антона Назарова (известный твиттерский) с Бреславом
Сбрасывай
источник

AM

Andrew Mikhaylov in Programming Offtop
Denys
Сбрасывай
источник