metaclass: (Default)
[personal profile] metaclass
Вот тут http://levgem.livejournal.com/420910.html задают вопрос, который меня тоже сильно интересует - есть ли такая высокоуровневая операция, которая бы позволила абстрагировать обработку элемента (упорядоченного) множества в контексте взаимодействия этого элемента с его соседями.
Вроде [livejournal.com profile] antilamer что-то похожее писал про комонады, но мне без конкретной задачи сложно осознать, как это использовать.
Вот например map, filter, fold - я их понял от входа, потому что очевидная аналогия с SQL запросами - select, where, group by (и прочие агрегаты).
У обработки в контексте понятная мне аналогия - это, например, window functions в SQL, скользящее среднее, интеграторы-дифференциаторы и прочие фильтры-свертки в DSP, но вот их я внятным образом с функциональщиной сопоставить не могу.

PS: клеточные автоматы и комонады: http://blog.sigfpe.com/2006/12/evaluating-cellular-automata-is.html Клеточный автомат тоже подвид фильтра поверх скользящего окна.
И функции поверх потоков: http://blog.sigfpe.com/2006/06/monads-kleisli-arrows-comonads-and.html

Date: 2012-11-28 04:27 pm (UTC)
From: [identity profile] antilamer.livejournal.com
Это стопудоф комонады. Но вот что я тебе скажу: я понимаю, как все эти вещи моделируются с их помощью, но я пока не понимаю, есть ли смысл использовать для этой цели именно комонады. Можешь попробовать - думаю, с практической задачей в руках ты зайдешь в исследовании дальше, чем я.

Date: 2012-11-28 08:08 pm (UTC)
From: [identity profile] lomeo.livejournal.com
Какая из них? (Мы же про задачу [livejournal.com profile] levgem?)

Date: 2012-11-28 08:12 pm (UTC)
From: [identity profile] antilamer.livejournal.com
Я про "window functions в SQL, скользящее среднее, интеграторы-дифференциаторы и прочие фильтры-свертки в DSP". Как это на задачу [livejournal.com profile] levgem ложится, не знаю :)

Date: 2012-11-28 08:19 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Да так же и ложится - из элемента и его соседей делается "элемент с указателями на соседей". Это тот же фильтр.

Date: 2012-11-28 09:00 pm (UTC)
From: [identity profile] lomeo.livejournal.com
Для его задачи и зиппера хватает ;-)

Только причём тут комонады? Ведь когда говорят "монада", "комонада", имеют в виду соответствующие функции, а не структуры данных, верно? Т.е. монада список — это concatMap, удобный liftM2 и т.д.

Тут-то вроде ничего подобного не нужно.

Date: 2012-11-28 08:09 pm (UTC)
From: [identity profile] lomeo.livejournal.com
А, ты про зиппер, наверное. В общем, я не о том, проехали.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 27th, 2025 01:39 pm
Powered by Dreamwidth Studios