最近使っている F# のライブラリやツール

下記のF#版です。

最近使っているScalaのライブラリ - pocketberserkerの爆走

ここ1年くらいのものを対象にしています。

といってもそんなに数はない…。

ライブラリ

自分が開発に関わっているものは除外しています。

FSharp.Data

https://github.com/fsharp/FSharp.Data

まぁ、FSharp.Data.JsonTypeProviderばかり使っているわけですが…。

FsRandom

https://github.com/kos59125/FsRandom

Persimmon.DriedがFsRandomに依存している関係上、一番お世話になっているかもしれない。

FsCheck

https://github.com/fscheck/FsCheck

新しく作るときはPersimmonシリーズを使っているのですが、既存のライブラリや他の人が作っているライブラリでは使っているので。

FsUnit

https://github.com/fsprojects/FsUnit

FsCheckとだいたい同じモチベーションで使っている。

FsPickler

https://github.com/nessos/FsPickler

関数のシリアライズのお供に。

FsYaml

https://github.com/bleis-tift/FsYaml

他のライブラリを探すのが面倒なのでなんとなく使っている。

FSharp.TypeProviders.StarterPack

https://github.com/fsprojects/FSharp.TypeProviders.StarterPack

TypeProviderのお供に。

FSharp.Formatting

https://github.com/tpetricek/FSharp.Formatting

ドキュメントでひたすらお世話になっている。

FSharp.Quotations.Evaluator

https://github.com/fsprojects/FSharp.Quotations.Evaluator

使っているというかforkしているというか。。。

ツール

わりとあった。

Paket

https://github.com/fsprojects/Paket

VS2015あたりからnugetの実行ファイルがくっついてこないのでこっちに切り替えた。 FAKEもセットで使うことが多い。

VS拡張の登場によって以前ほど抵抗がなくなった。

https://github.com/fsprojects/Paket.VisualStudio

FAKE

https://github.com/fsharp/FAKE

nugetにpublishする必要があるライブラリでは使っている。 が、あまり好きではない(AutoOpenするスタイルが……)。

FsReveal

https://github.com/fsprojects/FsReveal

F# のコードをのせる必要があるスライドを作成する時にお試しで使ってみている。

VisualFSharpPowerTools

https://github.com/fsprojects/VisualFSharpPowerTools

略してVFPT。Visual Studioで F# 書くならほぼ必須。だが重い。

使ってないけど有名そうなもの

一応紹介。

FsControl, FSharpPlus

https://github.com/gmpl/FsControl

https://github.com/gmpl/FSharpPlus

型クラス系のアレ。

FParsec

https://bitbucket.org/fparsec/main

実はちゃんと使ったことがない(業務でもたまたま遭遇しなかった)。

ProjectScaffold

https://github.com/fsprojects/ProjectScaffold

スクリプトは参考にさせてもらいつつ、しかしこれを使ってプロジェクトを作成したことはない……。

FSharpLint

https://github.com/fsprojects/FSharpLint

VFPTでの設定は切っているのでお世話になっていない……。

FSharp.Compiler.Service

https://github.com/fsharp/FSharp.Compiler.Service

間接的にお世話になっているが、実際に導入したことはなかったりする。 なかなか機会に恵まれない……。

終わりに一言

多分他の人とはラインナップが全然違うだろうなぁ……。