|
1 / 1 / 0
Регистрация: 09.10.2017
Сообщений: 16
|
||||||
Класс Monad28.10.2017, 15:34. Показов 1729. Ответов 16
Метки нет (Все метки)
Дан следующий тип данных:
0
|
||||||
| 28.10.2017, 15:34 | |
|
Ответы с готовыми решениями:
16
Haskell Monad Классы Functor, Applicative и Monad Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени? |
|
|
||
| 28.10.2017, 17:38 | ||
|
P.S. поставлю отзыв -25% каждому, кто в этой теме выложит готовое решение перед ответом ТС.
1
|
||
| 28.10.2017, 18:32 | |
|
0
|
|
|
167 / 107 / 22
Регистрация: 02.01.2012
Сообщений: 596
|
|
| 29.10.2017, 01:41 | |
|
Лучше просветите по поводу истории вопроса.
Текущая версия Haskell требует, чтобы для реализации Monad был реализован Functor. Но некоторые примеры из сети заставляют думать, что ранее это было не так. Так какая взаимосвязь Monad и Functor, так сказать, в динамике?
1
|
|
|
Антикодер
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,088
|
|
| 29.10.2017, 03:09 | |
|
3
|
|
| 29.10.2017, 10:22 | |
|
По моим заблуждениям, Функтор для Монады требовался всегда (во всяком случае, в новейшей истории, ранний Палеозой не рассматриваем), а Аппликатив - с определенной версии либы. Потому что вроде как Монад появился раньше Аппликатива, а с появлением последнего пошло дублирование return/pure и т.п.
ЗЫ Mysterious Light, поставил вам плюс. Я уже давно думаю, что надо принимать какие-то активные меры по исправлению того безобразия, что здесь творится. Не по теме: ЗЗЫ KolodeznyDiver, форум таков, каким его делает администрация и участники. И если первая не желает делать его достойным, то вторые могу делать это в рамках своих скромных ограниченных возможностей. Имхо.
1
|
|
|
167 / 107 / 22
Регистрация: 02.01.2012
Сообщений: 596
|
|
| 30.10.2017, 03:07 | |
|
Не поленился, раскопал старый тестовый проект для каких-то олайн-курсов с заданиями и их автоматической проверкой.
Поскольку тогда ещё очень слабо представлял монады, делал всё, как написано на сайте. Точно помню, что чекер принял и успешно откомпилировал голый Monad, а у меня на компьютере ghc потребовал реализовать Functor. С тех пор обновился - и сейчас тот же проект не компилируется, требует реализации Applicative Так что зависимости нарастают.. И сразу вопрос гуру: если вдруг нет сил/времени/желания допиливать старый проект до рабочего состояния, есть ли возможность как-то откомпилировать его со старыми библиотеками?
0
|
|
|
Антикодер
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,088
|
||
| 30.10.2017, 05:10 | ||
|
Обычно сделать экземпляры Funсtor и Applicative слишком легко, чтобы откатываться на старые библиотеки. Потому что часто можно определить методы экземпляров Funсtor и Applicative из экземпляра Monad.
2
|
||
|
167 / 107 / 22
Регистрация: 02.01.2012
Сообщений: 596
|
||
| 30.10.2017, 05:14 | ||
|
0
|
||
| 30.10.2017, 19:14 | ||
|
Хотя... аксакалы говорят, что бывают случаи, когда из монадического типа можно сделать не единственную реализацию Аппликатива, удовлетворяющую законам. Но она не будет семантически согласована с реализацией Монады.
1
|
||
|
|
||
| 30.10.2017, 19:42 | ||
|
Не по теме: А ТС-то не отвечает.
0
|
||
|
Модератор
|
|||||||
| 30.10.2017, 20:11 | |||||||
1
|
|||||||
|
|
|||||||
| 30.10.2017, 20:50 | |||||||
|
_Ivana, полагаю, имел в виду то, что подобно ретурну и апу fmap выражается
0
|
|||||||
| 30.10.2017, 22:10 | |||
|
0
|
|||
|
|
||||||||||||
| 31.10.2017, 00:10 | ||||||||||||
|
Определение Monad звучит так:
>>= и, если отказываемся от Applicative как было раньше, ещё return. Остальные, в частности, >>, выводятся.Другой пример:
Как мы видим, Haskell снимает с программиста необходимость имплементировать зависимые функции для каждого отдельно взятого типа. Я спрашиваю, почему бы не расширить эту возможность до автоматической имплементации классов, которые упоминаются в зависимостях имплементируемого класса. Например, автоматический инстанс Applicative и Function конкретного типа на основе только инстанса Monad этого типа.
0
|
||||||||||||
| 31.10.2017, 00:10 | |
|
Помогаю со студенческими работами здесь
17
Класс таблиц баз данных и класс записей в таблице(реляционная таблица). Предусмотреть класс связей между таблицами Класс: Разработать абстрактный класс класс Point для задания координаты... Отдельно класс данных, класс формул и главный класс Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо Реализовать класс родительский класс "Пара чисел" и класс-наследник "Комплексное число" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|