Size: a a a

2020 December 15

AA

A64m AL256m qn<co... in Haskell
почему? это наблюдаемо для программиста же
источник

к

кана in Haskell
да не очень-то наблюдаемое, для программиста наблюдаемо только то что нельзя напрямую перекидывать значения между уровнями, а что тип промоутится это ни разу не наблюдаемое
источник

к

кана in Haskell
но ладно, это отдельный спор, в моем утверждении можно просто разбить строку про True на две отдельных строки

как и про Bool
источник

AA

A64m AL256m qn<co... in Haskell
Kirill Valyavin
Haskell> :t Int#

<interactive>:1:1: error: Data constructor not in scope: Int#
Haskell> :k Int#
Int# :: TYPE 'IntRep

А это чё тогда
тяжелое дотайпинтайп наследие, еще в названиях ленгвидж прагм всяких и т.д.
источник

AA

A64m AL256m qn<co... in Haskell
так, я смотрю комитетчики наголосовали таки МПТЦ но без фандепов и семейств/гадт/включения волночки
источник

MK

Maxim Koltsov in Haskell
волночки?
источник

к

кана in Haskell
коершины мб, ~
источник

AA

A64m AL256m qn<co... in Haskell
ну я-то уже без фандепов не вижу смысла, но так-то есть желающие вместо них волночки писать
источник

AA

A64m AL256m qn<co... in Haskell
второй подход не особо популярный, но главное что без того или другого уж точно толку от МПТЦ никакого
источник

MK

Maxim Koltsov in Haskell
а что, есть экстеншен который включает ~?
источник

MK

Maxim Koltsov in Haskell
мне казалось эта штука тянется TF или GADTs
источник

AA

A64m AL256m qn<co... in Haskell
есть два, но комитетчики могут еще как-то включить, кто им запретит?
источник

к

кана in Haskell
я понимаю почему тф не хотят добавлять
источник

к

кана in Haskell
но ГАДТЫ почему нет?
источник

AA

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

к

кана in Haskell
кому они мешают, это же давно основа
источник

к

кана in Haskell
нет, не одно и то же, гадты это только закрытые дата-семейства, а тф в том числе и открытые, и не дата вовсе
источник

AA

A64m AL256m qn<co... in Haskell
ну, вернее это два выглядывающих рога одной фичи
источник

к

кана in Haskell
если бы им еще и синтаксис одинаковый сделали, типа

data family V (n :: N) a where
 V Z _ = Nil
 V (S n) a = Cons a (V n a)
 V n a = Reverse (V n a) | Drop (V (S n) a)

у аренда для гадтов похожий синтаксис как у хаскеля с закрытыми семействами
источник

AA

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