Windows Dev. Site

F# Interactive / Mono

これまで.NET環境はWindowsだけでしか使ったことがありませんでしたが、はじめてMono(Linuxの.NET環境)をUbuntu上でインストールしてみました。自宅の環境の都合で、F#をLinuxで使うと、いろいろと便利に思ったからです。

もともとLinux上でPowerShellが完全に動作してくれればそれでもよかったのですが、その実装のPash (http://pash.sourceforge.net/) がちょっと古めなので、追いかけるをやめて、F# Intaractive (fsharpi, fsi.exe)環境でやりたいことを実現することにしました。
ここでは、環境についてメモっておきたいと思います。
(PowerShellはオブジェクトのパイプライン処理、Linuxのシェルはテキストのパイプライン処理ですが、JSONファイルをオブジェクトと見立たててみると面白いかも・・ということで、FSharp.Dataを利用)

環境 : Ubuntu 14.04 LST(64bit) / VirtualBox 4.3.10 / Windows 7
[Mono,FSharpのインストール]

sudo apt-get update
sudo apt-get install mono-complete
sudo apt-get install fsharp

[FSharp.Dataのインストール]

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

ここにあるソースでビルドを試みましたが、build.sh実行時に失敗。
fsharpi build.fsx のfsharpiを違うバージョンで試すとビルドを始めましたが、途中でエラー。
NuGetでインストールする方法に変更。

参考) http://monomvc.wordpress.com/2012/03/06/nuget-on-mono/

http://nuget.codeplex.com から NuGet.exeをダウンロード(なんと単一ファイル)
/optに配置して実行

mozroots –import –sync
mono NuGet.exe install FSharp.Data

以下サンプルプログラム

Ubuntu_fsx
参考)http://fsharp.github.io/FSharp.Data/library/JsonProvider.html

コンパイルなしに利用できます。このあたりダイナミック言語ライクに使えるところがいいです。
ちょっと処理速度は遅いですが。。


#
F#
Tags: