Galaxus.Functional
4.1.0
Prefix Reserved
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
<PackageReference Include="Galaxus.Functional" Version="4.1.0" />
paket add Galaxus.Functional --version 4.1.0
#r "nuget: Galaxus.Functional, 4.1.0"
// 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,
- Please create an issue first - this way, we can discuss the feature and flesh out the nitty-gritty details
- Fork the repository, implement the feature and submit a pull request
- 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 | Versions 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. |
-
.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.