> 1 <

Автор Сообщение

Яков Замир Кацман

Members


Статус

38 сообщений

Где: France
Род занятий:
Возраст:

#7608   2015-04-20 16:26 GMT+3 часа(ов)      
Ищу работающие примеры монад на любых пригодных для этого языках.
Я знаю, что такое монады и категории, меня интересует практическое применение и особенности синтаксиса. Большое спасибо скажу за Хаскель/ Схему и Скалу.
Море литературы по Лисп-у и смежным технологиям.

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#7611   2015-04-21 16:01 GMT+3 часа(ов)      
Для Хаскела монады являются жизненной необходимостью, тогда как для языков с мощной макросистемой их использование обычно ограничивается академической средой. Для Лиспа(Схемы) разработано несколько достаточно эффективных реализаций монад, написаны десятки статей на эту тему. Но лисперы не спешат применять их на практике, т.к. гораздо эффективнее, с точки зрения производительности, придумать собственный макрос, чем использовать специализированные монады.
Может вас интересует что-то конкретное?

Яков Замир Кацман

Members


Статус

38 сообщений

Где: France
Род занятий:
Возраст:

#7612   2015-04-21 16:22 GMT+3 часа(ов)      
Я тоже так думал. Более того, выяснив что собственно такое монада (X -f-> Y) -f1-> (X -f-> Y) переводит сама в себя с нулевым элементом и бинарной операцией. Даже получив геометрическую интерпретацию в модели (уж не знаю насколько верно) я все равно на знаю как это будет правильно на лисп. Или же правильный результат вычисления монады, это и есть вычисление монады?
Вот я взял y = kx + b поворот на 1 рад это бинарная операция, поворот вокруг нулевой элемент, переводит сама в себя. Тогда у меня вопрос зачем у монад такой запутанный синтаксис? И как это будет на haskell?
Море литературы по Лисп-у и смежным технологиям.

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#7613   2015-04-21 21:43 GMT+3 часа(ов)      
Я так и не понял о чем вы
Совет: прежде чем погружаться в теорию, вам для начала стоит понять для чего нужны монады.

Повторюсь, для всех чистых ФЯП, монады - это необходимость, без них даже "Hello, world!" не выведешь. А насчет запутанного синтаксиса монад, удивляться не стоит, ведь и у Хаскела синтаксис не подарок. Поэтому смотрите примеры использования монад на более понятных ЯП.

Яков Замир Кацман

Members


Статус

38 сообщений

Где: France
Род занятий:
Возраст:

#7614   2015-04-22 17:54 GMT+3 часа(ов)      
В этом-то ведь и вопрос? для ЧЕГО? Я попробую еще раз.
Есть множество значений функции - (range) Y
Есть область определения функции - (domain) X
Есть сама функция fx = kx + b, k это тангенс наклона.
Теперь есть математические определение этой самой монады.
Определение (IMНО) говорит о том, что если есть бинарная операция т.е поворот на 1 градус
и 0 элемент (т.е поворот вокруг). То процесс преобразований (вращений) нашей прямой есть монада.
Собственно вопросов два. Зачем для этого придумывается такой странный синтаксис (почему вдруг декларация о транзитивности в виде набора напоминающего перловый регэксп, становится внезапно доказательством). И как эту монаду реализовать на Haskell или Scala
Море литературы по Лисп-у и смежным технологиям.

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#7615   2015-04-22 20:24 GMT+3 часа(ов)      
Может стоит просить помощи у того, кто это придумал?

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#7617   2015-04-23 01:42 GMT+3 часа(ов)      
Любимое занятие Хаскелиста - это решение тривиальной задачи монадным способом. Поэтому к ним и следует обращаться.
> 1 <


Онлайн :

0 пользователь(ей), 34 гость(ей) :




Реклама на сайте: