«Монадні трансформатори, потужніші за ефекти» - приклади?


78

Стаття "Програмування та міркування з алгебраїчними ефектами та залежними типами" Едвіна К. Брейді щодо ефектів в Ідрісі містить (без посилань) твердження, що:

Хоча [ефекти та монадні трансформатори] не є еквівалентними за потужністю - монади та монадні трансформатори можуть виражати більше понять - зафіксовано багато загальних ефективних обчислень.

Які приклади можна моделювати за допомогою монадних трансформаторів, але не ефекти?


23
Це корисне запитання, на яке може відповісти більше людей, ніж просто автор статті. Прикладом більшої потужності є дублювання ефектів.
Brian McKenna

6
Я хотів би знати відповідь на це питання. Я не хочу контактувати з автором статті, коли я міг просто знайти її тут.
Bryn Keller

3
Це гарне запитання, навіть коли в ньому згадується якийсь документ ...
cnd

12
Якщо я правильно згадую статті, які я знайшов у блозі Андрея Бауера , алгебраїчні ефекти - це просто стилізоване використання розмежованої монади продовження. Отже, монади є принаймні такими ж потужними, як і алгебраїчні ефекти. Домашня сторінка мови Eff , яка побудована для використання алгебраїчних ефектів з нуля, містить посилання на деякі з цих статей. Я не публікую це як відповідь, тому що я насправді не знаю деталей сам.
pyon

@ EduardoLeón Розділені продовження наведені в Bauer and Pretnar 2010, Programming with Algebraic Effects and Handlers (pdf) ; стаття закінчується запитанням "Нарешті, продовження є канонічним прикладом неалгебраїчного обчислювального ефекту, тому трохи дивно, що eff забезпечує гнучку та чисту форму обмеженого контролю, тим більше, що продовження зовсім не стосувалися нашої конструкції Що тоді ми можемо дізнатись у eff про операторів контролю в ефективній обстановці? "
Чарльз Стюарт,

Відповіді:


10

Продовження можна змоделювати як монади, використовуючи CPS, але вони не є алгебраїчними ефектами, оскільки їх не можна моделювати за допомогою теорій Лоувера. Див. Мартін Хайленд та Джон Пауер, 2007, Теоретичне розуміння категорії універсальної алгебри: теорії Лоувера та монади (pdf) , ENTCS 172: 437-458.


Дякую за відповідь. Я думаю над цим і намагаюся перевести теорію категорій на щось більш програмне, щоб розкрутити голову. Вище @Eduardo прокоментував, що ефекти були ізоморфними для обмежених продовжень. Тому я підозрюю, що існує певна інтуїція щодо того, що необмежені продовження не можуть бути змодельовані. Можливо, ефекти слід масштабувати до певної області та обробляти, перш ніж ефективні значення можуть вийти, тоді як монади є більш заразними.
geoff_h

1
@geoff_h Я сказав, що алгебраїчні ефекти можуть бути змодельовані як використання розмежованої монади продовження, не те що вони еквівалентні - що цілком може бути так, але я насправді не знаю.
pyon

@Eduardo Але Ефф дозволяє подання обмежених продовжень - хоча і таких, які іноді вимагають рекурсивних типів. Це свідчить про ізоморфізм - ефекти можуть бути змодельовані як розділені продовження, розділені продовження можуть бути змодельовані як ефекти - але, можливо, Eff може представляти і деякі неалгебраїчні ефекти - хоча я не впевнений, що добре розумію, що таке неалгебраїчний ефект означав би.
geoff_h

@geoff_h Я підозрюю, що взаємозв'язок між алгеберайними ефектами та обмеженими продовженнями швидше схожий на відносини між монадами та CPS: остання пропонує виразність конструкцій управління першої, але не пропонує можливості побудови типів даних.
Чарльз Стюарт,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.