/csharp-functional

csharp-functional provides a set of NuGet packages to drive your coding towards a functional approach as well as enabling Railway Oriented programming

Primary LanguageC#MIT LicenseMIT

C# Functional

Documentation Status licence

Description NuGet Build Status
Maybe monad nuget package build status
Result monad nuget package build status
HttpResult monad nuget package build status
Result monad extensions nuget package build status
HttpResult monad extensions nuget package build status
Result monad extensions that transforms them into HttpResult monad nuget package build status
Maybe monad extensions that them into Result monad nuget package build status
Simple application of HttpResult monad nuget package build status

Intro

This repository started as a learning experience about functional programming concepts. The main trigger was a Pluralsight video from Vladimir Khorikov named Applying Functional Principles in C#.

Installing

Installation is performed via NuGet. Example for the Maybe monad NuGet package:

PM> Install-Package MaybeMonad

Building

This repository adheres to the F5 manifesto so you should be able to clone, open in Visual Studio and build.

Documentation

For documentation go here. To understand better the structure of this repository see the section About the repository.

Further material:

Licence

This project is licensed under the MIT license.