Size: a a a

2016 March 19

Н

Нурлан in Haskell
!!!
источник
2016 March 20

AV

Alexander Vershilov in Haskell
Denis Shevchenko
data Num a => My a = My a deriving (Show)
Не надо так советовать ..
источник

AV

Alexander Vershilov in Haskell
vtable наверное все же говорить не совсем корректно, просто словарь же?
источник

AV

Alexander Vershilov in Haskell
@int_index  кстати, если у тебя GADT вида :: SomeConstraint a=> ... -> Foo a, то вроде все шансы, что заинлайнится есть, это все же не чистый existential где в lhs нету информации о типе
источник

VZ

Vladislav Zavialov in Haskell
В чем принципиальная разница?
источник

VZ

Vladislav Zavialov in Haskell
vtable наверное все же говорить не совсем корректно, просто словарь же?
источник

VZ

Vladislav Zavialov in Haskell
Словарь/vtable
источник

VZ

Vladislav Zavialov in Haskell
По крайней мере для C++ программистов должно необходимую ассоциацию в голове вызвать.
источник

VZ

Vladislav Zavialov in Haskell
А касательно того, что в случае выше есть инфа о типе, то вероятность инлайна я и не отрицаю, только вот внутри значения тоже будет vtable, т.к. добавление констрейнта на конструктор влияет на то, как GHC будет представлять этот конструктор в памяти
источник

VZ

Vladislav Zavialov in Haskell
s/vtable/словарь/g, запутался уже.
источник

VZ

Vladislav Zavialov in Haskell
Я так понимаю GHC когда решает, какой будет memory layout у типа, решает это один раз и навсегда. А никто не мешает потом обернуть этот GADT в что-то типа:

data Some f where
  Some :: f a -> Some f
источник

VZ

Vladislav Zavialov in Haskell
Поэтому словарь всегда будет внутри, для такого вот случая
источник

AV

Alexander Vershilov in Haskell
В общем я под vtable обычно понимал более сложную структуру данных
источник

AV

Alexander Vershilov in Haskell
Если в existential тип завернуть то да, ссылка на словарь будет лежать рядом со структурой
источник

AV

Alexander Vershilov in Haskell
Ну или если он уже в gadt
источник

AV

Alexander Vershilov in Haskell
@int_index да ссылка на словарь будет точно даже если инлацнится, но тебе чего лишнего принтера жалко :)
источник

AV

Alexander Vershilov in Haskell
Поинтера
источник
2016 March 21

ES

Evgeny Starikov in Haskell
как они это делают? выходят отсюда дважды
источник

AV

Alexander Vershilov in Haskell
Они настолько ненавидят haskell
источник

PL

Pavel 🕷 Larёv in Haskell
Это же хаскель
источник