Size: a a a

2020 November 23

MK

Maxim Koltsov in Haskell
Кем надо быть чтобы в этом шарить...
источник

R

Roman in Haskell
Maxim Koltsov
Кем надо быть чтобы в этом шарить...
Человеком, который потратил какое-то существенное количество времени на изучение теории категорий
источник

MK

Maxim Koltsov in Haskell
Где бы ей ещё учили...
источник

R

Roman in Haskell
В НМУ? Дома?
источник

R

Roman in Haskell
Я дома учил (но до состояния понимания кметтовских постов я и близко не дошёл)
источник

MK

Maxim Koltsov in Haskell
А по чему кроме Бартоша?
источник

R

Roman in Haskell
книжка Barr & Wells (вроде Category Theory for Computing Science)
Spivak Category Theory for Scientists
ну и пирсовскую брошюрку по теории категорий я тоже читал
источник

R

Roman in Haskell
https://gist.github.com/effectfully/3ed75f41dd84cbb11fae77da503483ff

-- >>> :t specializeAllAsInt undefined
-- specializeAllAsInt undefined :: Int

-- >>> :t specializeAllAsInt map
-- specializeAllAsInt map :: (Int -> Int) -> [Int] -> [Int]

-- >>> :t specializeAllAsInt "abc"
-- specializeAllAsInt "abc" :: [Char]

-- >>> :t specializeAllAsInt 3
-- specializeAllAsInt 3 :: Int


[evil laugh]
источник

к

кана in Haskell
Roman
https://gist.github.com/effectfully/3ed75f41dd84cbb11fae77da503483ff

-- >>> :t specializeAllAsInt undefined
-- specializeAllAsInt undefined :: Int

-- >>> :t specializeAllAsInt map
-- specializeAllAsInt map :: (Int -> Int) -> [Int] -> [Int]

-- >>> :t specializeAllAsInt "abc"
-- specializeAllAsInt "abc" :: [Char]

-- >>> :t specializeAllAsInt 3
-- specializeAllAsInt 3 :: Int


[evil laugh]
сразу видно что писал агдист, лишние эти типопеременные a b
источник

R

Roman in Haskell
кана
сразу видно что писал агдист, лишние эти типопеременные a b
я сначала без них написал, но без них не робит
источник

R

Roman in Haskell
type family SpecializesAs (x :: a) (y :: b) where
   SpecializesAs x x = 'True
   SpecializesAs x y = 'False


"Couldn't match a with b"
источник

к

кана in Haskell
а нельзя ли в аргументах тип указывать
источник

R

Roman in Haskell
что конечно довольно тупо, но тайп-левел программирование на хаскеле оно такое
источник

к

кана in Haskell
наверное нельзя
источник

R

Roman in Haskell
кана
а нельзя ли в аргументах тип указывать
ща попробую
источник

R

Roman in Haskell
не прокатило
источник

R

Roman in Haskell
ух оно прям хорошо работает:

-- >>> :t specializeAllAsInt elem
-- specializeAllAsInt elem :: Foldable t => Int -> t Int -> Bool
источник

к

кана in Haskell
вообще не могу понять как
источник

к

кана in Haskell
ну 22 строчку
источник

R

Roman in Haskell
кана
ну 22 строчку
если тип имеет форму f y, то продолжить искать недоспециализированные типопеременные и в f и в y
источник