Size: a a a

2021 April 09

к

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

K

Kir in Haskell
Ну, так-то справедливо
источник

к

кана in Haskell
можно вот такое еще навернуть, как у хендлеров эксепшенов, хоть наверняка кто-то такое сделал уже
источник

S

Sooqa in Haskell
Как-то так можно?
case ... of
 a :: Int -> ...
 b :: String -> ...
 _ -> ...
источник

к

кана in Haskell
нет, это же матчинг по типам, нельзя матчить по типам
источник

S

Sooqa in Haskell
😭
источник

к

кана in Haskell
иначе у
id :: forall a. a -> a
было бы бесконечно много значений
источник

S

Sooqa in Haskell
Что?
источник

к

кана in Haskell
ну если бы можно было бы матчить по типам, то можно было бы написать

id :: forall a. a -> a
id x =
 case x of
   _ :: Int -> x + 1
   _ -> x
источник

S

Sooqa in Haskell
А не тонны мерзоты. Странно что в текущем состоянии экзистеншалы юзлесс
источник

S

Sooqa in Haskell
😒
источник

к

кана in Haskell
хм, да почему же, в них нет фичей которых не хватает
источник

к

кана in Haskell
добавить Typeable не проблема, потому что он и так для всех типов выводится
источник

к

кана in Haskell
констрейнт на Typeable в конструкторе лишь означет что его инстанс нужно положить в конструктор заранее, а не то что типу нужно его сдерайвить
источник

S

Sooqa in Haskell
А могли бы сразу добавить матчинг. Иначе нужно городить хйню
источник

к

кана in Haskell
НЕЛЬЗЯ добавлять матчинг
источник

S

Sooqa in Haskell
Почему
источник

к

кана in Haskell
да я выше причину написал же
источник

к

кана in Haskell
Переслано от кана
ну если бы можно было бы матчить по типам, то можно было бы написать

id :: forall a. a -> a
id x =
 case x of
   _ :: Int -> x + 1
   _ -> x
источник

S

Sooqa in Haskell
И что
источник