2016年時点でF# 用のライブラリを.NET Core対応させるのは時期尚早だった?

この記事はF# Advent Calendar 2016の12日目の記事です。 また、.NET Core Advent Calendar 2016のの12日目の記事でもあります。

結論

先に個人的な結論を述べておきます。

現在のステータス

若干古めですが、GitHub上のvisualfsharpリポジトリwikiに色々書いていあります。

https://github.com/Microsoft/visualfsharp/wiki/F%23-for-CoreCLR---Status

問題になる点

いくつかのライブラリで.NET Core対応を行った感想です。

  • NuGetのFSharp.Coreに依存させたくない場合は過去と同じ要領でプロジェクトをわけるしかない
    • project.jsonのせい(安らかに眠れ…)
    • NuGetのやつに依存させたくない人は一定数存在する
    • F# 2.0に対応させようとするとこの選択肢しかとれない
  • Visual Studio 2015での開発の厳しさ
    • ハイライト効かない(F# 対応していないので当たり前か)、nugetの挙動が怪しい
    • IDE使わない場合はそんなに苦でもなかった
  • FSharp.Compiler.Serviceが.NET Coreにまだ対応していない
    • わりとネック

これに加えて

  • project.jsonが負債と化すことが確定している
  • TypeProviderはまだサポートしていない
  • Paketもまだ対応できているとは言い難い(?)
    • 9月頃の話。もしかしたら色々と変化しているかも。

といったことを考えると、そこまで急いで対応させる必要はないかと思います。

ただ、AWS LambdaでF#を使うみたいなことをしたい場合、ライブラリが必要なら対応させるしかないでしょうね。

おわりに

まぁ、基本はおとなしくツールが出揃うまで待ちましょう。