Skip to content

A drop-in replacement for F# core library with generally faster defaults

License

Notifications You must be signed in to change notification settings

vzarytovskii/FSharp.Core.Extended

Repository files navigation

NuGet version (FSharp.Core.Extended)

What

Warning

This library is very much work in progress, expect issues.

This library tries to be a drop-in replacement for the FSharp.Core with functions, which are generally faster and more flexible than built-in ones, but may be backwards-incompatible at runtime/compile-time.

Examples of current (and future planned) backwards-incompatibilities:

  • Some collections functions (min, max, sum, etc) can handle things like NaN differently than FSharp.Core.
  • All try* functions return ValueOption<'T>.
  • Option<'T> is aliasing ValueOption<'T>, all Option module functions shadowing the ones from FSharp.Core, several helper functions/methods provided to convert back and from the FSharp.Core.Option<'T>.
  • ...

Hot to use:

This library being a drop-in replacement doesn't mean that just referencing its NuGet package is enough. Shadowing is achieved by opening this library's namespace (works on any granularity), for example:

open FSharp.Core.Extended

will shadow every module and type defined in this library (e.g. Option type, Option module, Array module, List module, etc)

open FSharp.Core.Extended.Collections

will shadow every module and type defined for collections

open FSharp.Core.Extended.Collections.Array

will shadow every type and module defined for arrays

And so on.

About

A drop-in replacement for F# core library with generally faster defaults

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages