Что меня удивляет:

топ 100 блогов ru_declarative — 23.02.2010 Если имеется: &forall b (∀ a (P (a) &rArr Q (b)) ⇒ Q (b))

Поскольку &forall a P (a) &rArr Q (b) ≡ ∃ a (P (a) ⇒ Q (b)), то

∀ b ∃ a ( (P (a) &rArr Q (b)) &rArr Q (b)), и поскольку (A ⇒ B) ⇒ B ≡ A, то

∃ a P (a)


Так вот - что меня удивляет, что экзистенциальные типы в Haskell действительно так выражаются, через универсальный полиморфизм:
type Ex = forall b . (forall a . Show a ⇒ a → b) → b
pack :: Show v ⇒ v → Ex
pack v = λ fn → fn v
one = pack 1
str = pack "Str"
main = do one print; str print

И это и правда работает:
msk@kouzdra-nest:~/TEST$ ghc -fglasgow-exts exist.hs -o exist && ./exists 
1
"Str"

Оставить комментарий

Предыдущие записи блогера :
Архив записей в блогах:
Усадьба Алтуфьево  — комплекс памятников усадебной архитектуры XVIII—XIX веков на самом севере Москвы. Усадьба Алтуфьево с церковью Воздвижения Креста Господня составляет комплекс памятников усадебной архитектуры 18-19 веков в Москве и является памятником садово-паркового ...
Визит министра обороны нашей страны Сергея Шойгу в Северную Корею имеет символический характер. Фото взято из открытого доступа в Интернете Для всех очевидно, к чему пришли за 70 ...
Мне всегда не нравилось прозвище ,наших пророссийских товарищей-исконники. Оно ...
15:50 10.10.2016 В Штатах таки отмечен рост преступности в этом году. ... и приходится он на мегаполисы. Традиционно демократические вотчины. Вообще странная тенденция - со времен Great Society Линдона - превратить преуспевающий Детройт в помойку, это суметь надо. Наиболее ...
Весна действует на мозг, и я порой начинаю терять хватку и приобретать сентиментальность. Сколько раз вас просили подписать петицию, проголосовать за знакомую в конкурсе? Обычно такое игнорируется, если пишет фиг знает кто.  А вот если пишет человек, которому доверяешь... Я ...