Например, в Java есть Функциональная Java и Высший порядок Java. Оба по существу предоставляют небольшой API для управления функциями более высокого порядка, карри и, возможно, несколькими новыми типами данных (кортежи, неизменные списки).
Ответ 1
Вы просмотрели F #?
Также аккуратный пост в блоге будет здесь, в котором рассказывается о том, как использовать новые генерические/лямбда-выражения, встроенные в С# 3.0.
Если вы просто добавите использование System.Linq в начало исходного файла, добавьте много новых новых функций для работы с коллекциями, такими как сложение/фильтрация и т.д.
Ответ 2
Предполагая, что вы не можете использовать F # по какой-либо причине и просто хотите использовать функциональные парадигмы и идиомы в коде С# для повышения качества и надежности:
Соответствие шаблону функционального стиля для С#
Существует также 'elevate', в котором есть некоторые функциональные вещи, такие как типы опций (maybes) и т.д.
Ответ 3
Я думаю, что вы хотите F #
Кроме того, в более поздних версиях С# есть много функциональных понятий, включенных в базовую langauge.
Ответ 4
Может быть такая библиотека для С#, но вам, вероятно, следует рассмотреть только использование F # http://research.microsoft.com/fsharp/fsharp.aspx и http://msdn.microsoft.com/en-us/fsharp/default.aspx.
Microsoft планирует сделать F # первоклассным языком в Visual Studio, поэтому риск использования одного из CTP для создания исходного материала не должен быть минимальным.
Ответ 5
Если вы ищете что-то, что расширяет С#, тогда нет, но есть F #, который является функциональным языком на основе .NET. На странице "About F #" страница:
F # - типизированный язык функционального программирования для .NET Framework. Он сочетает в себе сжатость, выразительность и композицию типизированного функционального программирования с поддержкой времени выполнения, библиотеками, интероперабельностью, инструментами и объектной моделью .NET. F # проистекает из семейства языков ML и имеет базовый язык, совместимый с языком OCaml, хотя он также использует С# и Haskell. F # был разработан с нуля, чтобы стать первоклассным гражданином на .NET, обеспечивая плавную совместимость с другими языками .NET. Например, С# и F # могут напрямую обращаться друг к другу. Это означает, что F # имеет непосредственный доступ ко всем API-интерфейсам .NET Framework, включая, например, Windows Presentation Foundation и DirectX. Аналогично, библиотеки, разработанные в F #, могут использоваться с других языков .NET.
Так как F # и OCaml используют аналогичный основной язык, некоторые библиотеки и приложения OCaml могут перекрестно компилировать либо напрямую, либо с незначительными условно-скомпилированными изменениями. Это обеспечивает путь к перекрестной компиляции и/или переносу существующего кода OCaml в .NET, а также позволяет программистам передавать навыки между этими языками. Основной акцент проекта заключался в расширении охвата OCAMl-подобных языков на арены, где они традиционно не использовались. На протяжении всего проекта дизайнеры F # благодарны за поддержку и поддержку Xavier Leroy и других в сообществе OCaml.
Ответ 6
Не библиотека с оберткой как таковая, но Luca Bolognese из Microsoft серию сообщений в блогах, где он строит библиотеку С# для функциональное программирование с такими типами, как кортежи, записи, объединения типов и т.д.:
Кроме того, Linq - это в основном библиотека для функционального программирования с поддержкой синтаксиса в С#.
Ответ 7
Отметьте http://code.msdn.microsoft.com/FunctionalCSharp для некоторых образцов.
Ответ 8
LanguageExt выглядит очень, обещающим упростить программирование функционального стиля на С#.
Ответ 9
F #, есть версия CTP, доступная от Microsoft.