Galaxus.Functional 4.1.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Galaxus.Functional --version 4.1.0                
NuGet\Install-Package Galaxus.Functional -Version 4.1.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Galaxus.Functional" Version="4.1.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Galaxus.Functional --version 4.1.0                
#r "nuget: Galaxus.Functional, 4.1.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Galaxus.Functional as a Cake Addin
#addin nuget:?package=Galaxus.Functional&version=4.1.0

// Install Galaxus.Functional as a Cake Tool
#tool nuget:?package=Galaxus.Functional&version=4.1.0                

Galaxus.Functional

Introduction

Galaxus.Functional is a package that aims to bring FP-style features to C#. Note though, that this is not true functional programming; this package contains some useful abstractions often found in functional languages.

The style is greatly inspired by the way Rust does this. If you have worked with Rust's std::option or std::result, you will probably feel right at home.

Abstractions

There currently are the following abstractions found inside Galaxus.Functional:

Option

A type used to explicitly mark the presence or absence of a value. This is an alternative to checking for null and is similar to e.g. Haskell's Maybe or Java's Optional.

Unit

A type for something that does not exist, similar to void - except that it can be returned and stored as a value.

Either

A type that can be one of several variants, sort of like a discriminated union or an enum with a stored value for each enum member.

Result

A type that explicitly propagates success or error to the caller, similar to used explicitly annotated exceptions. It can be seen as a specialization of an Either with the second variant being an error.

Contribute

No matter how small, we value every contribution! If you wish to contribute,

  1. Please create an issue first - this way, we can discuss the feature and flesh out the nitty-gritty details
  2. Fork the repository, implement the feature and submit a pull request
  3. Once the maintainers have released a new version, your feature will be part of the NuGet package

And always remember the golden rule for every contribution: Be excellent to each other!

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Galaxus.Functional:

Package Downloads
Galaxus.Functional.NUnit

A package providing NUnit testability on Galaxus.Functional types.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.2.1 4,970 11/28/2023
4.2.0 716 8/20/2023
4.1.0 2,658 1/16/2023
4.0.0 621 12/23/2022
3.5.0 33,580 8/11/2021
3.4.0 1,371 6/27/2021
3.3.0 27,949 1/26/2021
3.2.0 1,549 10/17/2020
3.1.1 5,340 9/8/2020
3.1.0 476 9/7/2020
3.0.0 591 8/28/2020
3.0.0-rc1 342 8/10/2020