Что такое монада в C#?C#

Место общения программистов C#
Anonymous
Что такое монада в C#?

Сообщение Anonymous »

Сейчас много говорят о монадах. Я прочитал несколько статей/сообщений в блогах, но не могу углубиться в их примеры, чтобы полностью понять концепцию. Причина в том, что монады представляют собой концепцию функционального языка, и поэтому примеры приведены на языках, с которыми я не работал (поскольку я не использовал функциональный язык глубоко). Я не могу понять синтаксис достаточно глубоко, чтобы полностью понимать статьи... но могу сказать, что здесь есть кое-что, что стоит понять.
Однако я довольно хорошо знаю C#, включая лямбда-выражения и другие функциональные возможности. Я знаю, что C# имеет только подмножество функциональных возможностей, поэтому, возможно, монады не могут быть выражены в C#.
Однако, конечно, можно ли передать эту концепцию? По крайней мере, я на это надеюсь. Возможно, вы сможете представить пример C# в качестве основы, а затем описать, что разработчик C# хотел бы сделать, но не может, потому что в языке отсутствуют функции функционального программирования. Это было бы фантастически, потому что это передало бы назначение и преимущества монад. Итак, вот мой вопрос: Какое лучшее объяснение монад вы можете дать разработчику C# 3?

Кстати, я знаю, что на SO уже есть как минимум 3 вопроса о том, что такое монада. Однако с ними я сталкиваюсь с той же проблемой... так что этот вопрос другой из-за ориентации на C#-разработчиков.

Вернуться в «C#»