Size: a a a

2018 February 21

AV

Alexander Vershilov in fprog_spb
но так и придётся
источник

AV

Alexander Vershilov in fprog_spb
нужный диспатчер будет подставлять вызвающий код
источник

λO

λeonid Onokhov in fprog_spb
forall a . Dispatcher a -> Field a -> Whatever
но проще всё сунуть в Field a и далее intField :: Int -> Field Int
источник

Y

Yuuri in fprog_spb
Alexander Vershilov
type universe - множество типов доступных в языке
Блин, я про top type подумал почему-то
источник

AV

Alexander Vershilov in fprog_spb
@Yuu_chan кстати то, что ты говоришь тоже имеет, если мы говорим про "теги" или "типы в рантайме"
источник

AV

Alexander Vershilov in fprog_spb
т.е. для баша и тикля у нас и в рантайме один тип
источник

AV

Alexander Vershilov in fprog_spb
для clojure или других лиспов - много причем система "рантайм типов" может быть достаточно сложной
источник

AP

Aleksei (astynax) Pirogov in fprog_spb
Yuuri
А диспатчить его как?
type Field a = {
 show : a -> String
 value : a
 ...
}

intField : Int -> Field Int -- "конструктор"
intField x =
 { value = x
 , show = toString
 }

showField : Field a -> String
showField x = x.show x.value -- диспатчим ad-hoc
источник

Y

Yuuri in fprog_spb
Alexander Vershilov
в случае динамических языков это 1 тип
А в случае динамических языков с опциональной аннотацией типов?
источник

λO

λeonid Onokhov in fprog_spb
эта ерунда не работает же
источник

λO

λeonid Onokhov in fprog_spb
толком
источник

λO

λeonid Onokhov in fprog_spb
надоест обмазывать
источник

Y

Yuuri in fprog_spb
Aleksei (astynax) Pirogov
type Field a = {
 show : a -> String
 value : a
 ...
}

intField : Int -> Field Int -- "конструктор"
intField x =
 { value = x
 , show = toString
 }

showField : Field a -> String
showField x = x.show x.value -- диспатчим ad-hoc
О, то что нужно, спасибо
источник

Y

Yuuri in fprog_spb
λeonid Onokhov
эта ерунда не работает же
Мы сейчас про теорию, а не про практику :)
источник

AV

Alexander Vershilov in fprog_spb
Yuuri
А в случае динамических языков с опциональной аннотацией типов?
"вопрос с подвохом" (С), точный ответ зависит от того, как компилятор будет эту информацию использовать
источник

AV

Alexander Vershilov in fprog_spb
т.е. можно это воспринимать как (T + (0+K))
источник

AV

Alexander Vershilov in fprog_spb
где T - твой тип, а 0+K возможная аннотиция
источник

AV

Alexander Vershilov in fprog_spb
вообще я не читал особо работ по gradual typing (вроде так зовётся)
источник

AV

Alexander Vershilov in fprog_spb
у нас в рабочем чятике проскакивало пара работ, но у меня не было времени смотреть
источник

Y

Yuuri in fprog_spb
Ну, какого размера будет type universe в таком случае? :)
источник