deniok: (ухмыляюсь)
[personal profile] deniok
Встреча прошла замечательно, все доклады понравились и свой тоже :) Правда свой я безбожно затянул - вместо положенного часа болтал часа полтора как минимум.

Подтверждения моей сугубо личной теории, что плотность правильных людей повышается при приближении к станции метро "Московская", наблюдались, как по факту поездки так и по косвенной информации :) Разрабатываю планы по вытаскиванию соседей в "Республику Кофе" :)

Выложил презентацию своего доклада на сайте SPbHUG.

Date: 2007-11-18 09:18 am (UTC)
From: [identity profile] deni-ok.livejournal.com
Чужую не хочется, а свою - не умеем :)

Надо будет загрузить знакомых дизайнеров.

Date: 2007-11-18 09:28 am (UTC)
From: [identity profile] kurilka.livejournal.com
Ну эт так, "мелкое брюзжание" :)
Кстати вот эти всякие теоремы Вадлера и пр. - у тебя в докладе были реальные "живые" примеры для демонстрации практического применения их?

Date: 2007-11-18 11:18 am (UTC)
From: [identity profile] deni-ok.livejournal.com
build/fold и map/map rules используются для оптимизаций в Rewrite rules в GHC.

Есть ещё destroy/unfoldr rule для
destroy :: forall a.forall c.(forall b. (b -> Maybe (a,b)) -> b -> c) -> [a] -> c
unfoldr :: forall a.forall b.(b -> Maybe (a,b)) -> b -> [a]

для того же самого, что build/fold.

И ещё Concatenates Vanish Rule, позволяющее элиминировать конкатенации списков:

Для любой
g :: forall b.b -> (A -> b -> b) -> (b -> b -> b) -> b

выполняется теорема
g [] (:) (++) = vanish g

где
vanish :: forall a. (forall b.b -> (a -> b -> b)
                              -> (b -> b -> b)) -> [a]
vanish g = g id (\x h ys -> x:(h ys)) (.) []

Но этого в GHC не используют, хотя программист при желании может сам задать соответствующие правила.

Фишка в применении Free Theorems в том, что функции должны быть под них заточены. Библиотечные реализации многих функций из Prelude написаны так, чтобы быть хорошими консьюмерами и продюсерами для List Fusion.

Profile

deniok: (Default)
deniok

February 2022

S M T W T F S
  12345
6789101112
13141516171819
20212223 242526
2728     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 20th, 2025 06:46 am
Powered by Dreamwidth Studios