Just some extensions I use for the F# language.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
FSharpExtensions.Applications
FSharpExtensions.UnitTests
FSharpExtensions
.gitattributes
.gitignore
FSharpExtensions.sln
LICENSE
README.md

README.md

F# Extensions

This repository houses a few extensions projects (currently FSharpExtensions and FSharpExtensions.Applications), these each have certain things contained within them to make working with F# a little easier (in some situations).

Because I'm not a glory hog, I'm MIT licensing this. Anyone can do anything you like with it, and if anyone from the F# team would like to include any of these in the main F# Core, feel free. (Just let me know so I can remove the appropriate portions from this and let everyone know where else to find them.)

FSharpExtensions (F# Extensions)

This project is a collection of extensions to F# modules that are entirely generic, that is, you can use them in many situations that are not specific to any use-cases. Extensions do not require an open.

  • There is a Collections folder, which contains extensions to the Array, List, and Seq collections.
  • There is a Primitives folder, which contains extensions to other non-collection primitives (Object, Char, String, Int, Option, Tuple, and Date, as of this writing).
  • There is a Patterns folder, which contains extensions to be used in match patterns (Between, Above, Below, BetweenExc, AboveExc, and BelowExc, as of this writing).

This project is .NET Standard 1.6 compatible, thus it may be used in .NET Core 1.0+, or .NET Framework 4.6.1+.

FSharpExtensions.Applications (F# Extensions Applications)

This project is a collection of extensions to F# modules that are less generic, that is, you'll likely be working in a specific situation to need any of them.

  • The Excel module which provides some common interactions with Excel (converting column names to numbers, for example).
  • The Assembly module includes operations to work with assemblies (such as getting the assembly version of a type).
  • The Directory module includes some replacements and additions to System.IO.Directory. (Largely to make them more F#-like.)

FSharpExtensions.UnitTests (F# Extension Unit Tests)

This project is just some unit tests for the other projects.

Notes

Some basic notes for anyone reading this:

  1. If you are using these in anything notable, it'd be pretty cool to see what. You can contact me through the venues listed below if you'd like note taken.
  2. If anyone wishes to contribute, I'll be accepting pull-requests pretty liberally, but do take note that if you contribute anything here it will become part of the MIT license. (So, please do not contribute anything you have no rights to.)
  3. If anyone wishes to donate to support me, I'm sorry but that's not going to be accepted. (Seriously, I enjoy working with this stuff for fun, I don't need any other incentive.)

Contact

If you would like to reach out to me, my Gmail email address is the same as my Github Handle, you may also reach out through an issue, pull request, or via the ever-loving Twitter.