FSharp.Interop.NullOptAble
0.10.0.93
See the version list below for details.
dotnet add package FSharp.Interop.NullOptAble --version 0.10.0.93
NuGet\Install-Package FSharp.Interop.NullOptAble -Version 0.10.0.93
<PackageReference Include="FSharp.Interop.NullOptAble" Version="0.10.0.93" />
paket add FSharp.Interop.NullOptAble --version 0.10.0.93
#r "nuget: FSharp.Interop.NullOptAble, 0.10.0.93"
// Install FSharp.Interop.NullOptAble as a Cake Addin #addin nuget:?package=FSharp.Interop.NullOptAble&version=0.10.0.93 // Install FSharp.Interop.NullOptAble as a Cake Tool #tool nuget:?package=FSharp.Interop.NullOptAble&version=0.10.0.93
There are more C# devs relying on the safe nav operator ?.
and so nulls will only get worse on the C# side, making it more likely null's are going to drop out of APIs.
This project creates an option { }
computational expression and chooseSeq { }
computational expression that allows binding t option
/t Nullable
/t:null
thus either returns an option or a sequence respectively.
With chooseSeq
if you yield!
a sequence it will flatten/collect it. If you want a sequence of sequences use let! s = nullPossibleSequence;; yield s
or yield! Some notNullSeq
. yield!
works with t option
and t option seq
/t Nullable seq
/t:null seq
, not nulls or nullables, but let!
works with t option
/t Nullable
/t:null
Examples
let x = Nullable(3)
let y = Nullable(3)
option {
let! x' = x
let! y' = y
return (x' + y')
} |> should equal (Some 6)
See more examples in Tests/RealWorld.fs.
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 | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.6 is compatible. netstandard2.0 was computed. 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 | tizen30 was computed. 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 1.6
- FSharp.Core (>= 4.2.3)
- NETStandard.Library (>= 1.6.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.11.0.144 | 5,912 | 11/24/2020 |
0.10.1.116 | 6,329 | 6/21/2018 |
0.10.0.93 | 1,066 | 5/4/2018 |
0.9.0.88 | 1,086 | 4/29/2018 |