Size: a a a

2020 December 15

AA

A64m AL256m qn<co... in Haskell
Danil Berestov
А можно будет теперь параметризовать вообще любые типы анлифтед типами?
можно будет, как и объявлять свои анлифтед типы обычным способом, как алгтд объявляют, но это еще не вмерджено пока
источник

DB

Danil Berestov in Haskell
Я просто спрашивал какое-то время назад, можно ли без боли просто параметризовать матрицы Double#, чтобы оно побыстрее работало. Мне сказали, что это дико больно
источник

AA

A64m AL256m qn<co... in Haskell
Kirill Valyavin
Левити полиморфизм же и так уже был
но его нельзя было использовать для конструкторов из-за разного представления в памяти для разных TYPE r
а TYPE (BoxedRep l) можно, потому что это все ссылки
источник

KV

Kirill Valyavin in Haskell
А, понятно
источник

AA

A64m AL256m qn<co... in Haskell
Danil Berestov
Я просто спрашивал какое-то время назад, можно ли без боли просто параметризовать матрицы Double#, чтобы оно побыстрее работало. Мне сказали, что это дико больно
тут ничего не поменяется, потому что Double# не ссылка
источник

DB

Danil Berestov in Haskell
То есть нельзя
источник

KV

Kirill Valyavin in Haskell
Ага, придётся всё равно forall r. TYPE r ... писать
источник

DB

Danil Berestov in Haskell
брух
источник

KV

Kirill Valyavin in Haskell
Менее больно будет если только боксед типы нужны
источник

DB

Danil Berestov in Haskell
Kirill Valyavin
Менее больно будет если только боксед типы нужны
я хотел, чтобы любые можно было(
источник

KV

Kirill Valyavin in Haskell
Danil Berestov
я хотел, чтобы любые можно было(
Ну так можно
источник

AA

A64m AL256m qn<co... in Haskell
но не на параметрических типах а на бекпачных модулях только
источник

DB

Danil Berestov in Haskell
Ну вот я об этом и грю
источник

DB

Danil Berestov in Haskell
капец, а почему нельзя просто взять и..?
источник

AA

A64m AL256m qn<co... in Haskell
ну потому что полиморфизм на универсальном представлении
источник

AA

A64m AL256m qn<co... in Haskell
только для ссылок
источник

DB

Danil Berestov in Haskell
Ну вот почему он такой? Компилятор не сможет механически приспособить этот тип к анбоксед?
источник

AA

A64m AL256m qn<co... in Haskell
не сможет конечно
источник

DB

Danil Berestov in Haskell
Ну, который сейчас — понимаю, что не сможет.
источник

DB

Danil Berestov in Haskell
А в чём проблема, шобы смог?
источник