最新版 |
編集中の文章 |
1行目: |
1行目: |
− | '''F#'''(読み:えふしゃーぷ、語源:functional)とは、謎である。 | + | '''F#'''(えふしゃーぷ)とは、謎である。 |
− | 最近は一子'''F*'''(えふすたー)をもうけ、子育てに忙しい。
| |
| | | |
− | == 名称 == | + | == インストール == |
− | その名称からF#を[[FORTRAN]]の[[CLR]]実装だと勘違いしている人が多いが、[[Fortran]]とは一切関係ない<ref>https://github.com/Nobuhisa/FSUG_JP/wiki</ref>。
| |
− | 聖書に相当する書籍は「[[Real-World Functional Programming]]」であることからも「functional」が語源であると思われる。正式なものは知らん。
| |
| | | |
− | == ライセンス ==
| |
− | F#は[[オープンソース]]のもとで公開されており、その[[ライセンス]]には[[Apache License 2.0]]が採用されている。ただし一般的なオープンソースと異なり、リリースバージョンのみ[[オープンソース]]であるという[[コードドロップ]]という手法が採用されている。このため[[言語]]自体の仕様は[[マイクロソフト]]の管理下にあり、各種[[プラットフォーム]]への対応展開は[[オープンソース]]で可能という特殊な形態となっている。
| |
− |
| |
− | == インストール ==
| |
| === FreeBSD === | | === FreeBSD === |
− | [[FreeBSD]]の場合は[[ports]]の「lang/fsharp」を入れるのが簡単である。
| + | portsのlang/fsharpを入れる。 |
− | 2014年9月1日時点でのports提供バージョンはF# 3.1.1.25となっている。
| |
− | | |
− | 現在ではパッケージも用意されている。
| |
− | <source lang="bash">
| |
− | $ pkg install fsharp
| |
− | </source>
| |
− | | |
− | <del>
| |
− | 2012年3月23日時点でのports提供バージョンはF# 1.9.6.16と古い。
| |
− | 最新バージョンのF# 2.0.0.0は[[Mono]]対応版が[[マイクロソフト]]の公式サイトから[[ダウンロード]]できるので、そちらを使った方がよさそうな感じ。後述する[[Mono]]全般のインストール方法を使うほうが無難かも。
| |
− | </del>
| |
− | | |
− | === Mac OS X ===
| |
− | [[Mac OS X]]の場合は[[Xamarin Studio]]を[[インストール]]するのが簡単である。
| |
− | なにも考える必要はない。
| |
− | | |
− | なお、[[Xamarin Studio]]は[[Lion]]以上が必須なので[[Snow Leopard]]以下の人は後述するMono全般のインストール方法を使うしか無い。そもそも[[アップル信者]]たるもの、急いで新しい[[Mac]]を[[アップルストア]]で買うべきである。それが[[ジョブズ]]の教えである。
| |
− | | |
− | == Mono全般 ==
| |
− | 下記からF# 2.0.0.0をF#の[[zipファイル]]を[[ダウンロード]]する。
| |
− | * http://www.microsoft.com/download/en/details.aspx?id=11100
| |
− | | |
− | [[zipファイル]]を展開して、好きな[[ディレクトリ]]に[[コピー]]しておく。
| |
− | <source lang="bash">
| |
− | $ unzip fsharp.zip -d /opt/
| |
− | $ cd /opt/FSharp-2.0.0.0/
| |
− | </source>
| |
− | | |
− | [[Mono]]向けインストール用[[シェルスクリプト]]が用意されているので叩く。
| |
− | この[[スクリプト]]は、[[グローバル・アセンブリ・キャッシュ]]([[GAC]])への登録と、fscおよびfsiコマンドへのパーミッション設定をしてくれるという内容である。
| |
− | <source lang="bash">
| |
− | $ wget -O mono.snk http://github.com/mono/mono/raw/master/mcs/class/mono.snk
| |
− | $ sh install-mono.sh
| |
− | </source>
| |
− | | |
− | 起動用の[[シェルスクリプト]]を作っておく。
| |
− | パスを通しておくのも忘れずに。
| |
− | <source lang="bash">
| |
− | $ echo '#!/bin/sh'$'\nexec mono $MONO_OPTIONS "/opt/FSharp-2.0.0.0/bin/fsc.exe" "$@"' > /opt/FSharp-2.0.0.0/bin/fsc
| |
− | $ echo '#!/bin/sh'$'\nexec mono $MONO_OPTIONS "/opt/FSharp-2.0.0.0/bin/fsi.exe" "$@"' > /opt/FSharp-2.0.0.0/bin/fsi
| |
− | $ chmod 755 /opt/FSharp-2.0.0.0/bin/fsc
| |
− | $ chmod 755 /opt/FSharp-2.0.0.0/bin/fsi
| |
− | </source>
| |
− | | |
− | fsiコマンドを起動してみる。
| |
− | コンソール上で動かす場合は「--gui-」オプションを忘れずに。
| |
− | <source lang="bash">
| |
− | $ fsi --gui-
| |
− | </source>
| |
− | | |
− | [[hello, world]]を表示してみる。
| |
− | なお、「#help;;」でヘルプが見れる。終了は「#quit;;」と打て。
| |
− | <source lang="fsharp">
| |
− | > printf "hello, world";;
| |
− | hello, worldval it : unit = ()
| |
− | > #quit;;
| |
− | </source>
| |
| | | |
| {{stub}} | | {{stub}} |
| | | |
− | == 使い方 ==
| |
− | == 関連構文 ==
| |
− | * [[スライス]]
| |
− |
| |
− | == 関連コマンド ==
| |
− | * [[fsharpc]] - [[コンパイラ]]。
| |
− | * [[fsharpi]] - [[インタプリタ]]。[[スクリプト言語]]として使えるので捗る。
| |
| == 関連項目 == | | == 関連項目 == |
− | * [[Phalanger]] - F#の中の人も参戦している[[PHP]]実装。
| |
− | * [[IronJS]] - F#で書かれた[[JavaScript]]実装。
| |
− | * [[プログラミング言語]]
| |
| | | |
− | == 参考文献 == | + | == 外部リンク == |
− | {{reflist}}
| |
| | | |
− | == 外部リンク ==
| |
− | * [http://www.amazon.co.jp/Real-World-Functional-Programming-Tomas-Petricek/dp/1933988924 Real-World Functional Programming]
| |
| {{stub}} | | {{stub}} |
− |
| |
− | [[category:プログラミング言語]]
| |
− | [[category:.NET Framework]]
| |