はじめに
このWebサイトはプログラミング言語F#(えふしゃーぷ)に関する入門サイトです。
このサイトは、プログラミングが初めての人でも読めることを目指して
出来るだけ背景知識を仮定しない内容を目指しています。
ただ、管理人は専門家ではないため、ある程度プログラミング経験がある方は
本サイトを見るよりも
MSDNのVisual F#のページからたどれる情報などを
参考にしてください。
本サイトの内容はF#のバージョン2.0(○のついている項目)またはバージョン1.9.6に準拠しています。
本サイトでの表記、シンタックス
シンタックスとは構文のことで、コードを書く際のルールのことです。
F#には、
lightシンタックス(Lightweight Syntax)と
Verbose Syntaxの二種類があります。
lightシンタックスはF#のデフォルトであり
lightシンタックスのほうが、短く、見やすいのですが
本サイトではlightシンタックスは使用していません
この理由は、(基本的に管理人の好みではありますが)
・
Verbose Syntaxのコードは常に有効でlightシンタックス時にも利用出来る
・逆に、lightシンタックスをVerbose Syntaxで動作しているコードに貼り付けても動かない
・インデントに影響を受けないため、それに起因した物事で悩まなくてすむ
・classなどのキーワードを省略出来ないため、どの構文を使っているかを意識しやすい
・OCamlとある程度互換性があるため、OCamlコードへの移植がしやすい
などの理由からです。
lightシンタックスを使わない場合は
ソースコードの先頭に
MSDN:#light "off"と記述するか
#indent "off"と記述する(15.1.1)必要があります。
本サイトのコードを実行する際は、どちらかの記述を推奨します。
lightシンタックスはF#のデフォルトで
.fs, .fsi, .fsx and .fsscriptでおわるファイル名の場合
自動的にONになります(glossary l)
(.fsが基本的なF#の拡張子です)
また、Verbose Syntaxは
.ml ,.mli.で終わるファイル名の場合、
自動的にONになります(18.1.4)
(.mlや.mliはOCamlで使われる拡張子です)
また、サイト内の説明文で上の(18.1.4)や(glossary l)のような表記を使っていますが
これはF#の仕様書(2010 april)での該当するセクション名を表しています。
用語
用語について、適切な日本語訳が思いつかない場合は
無理に日本語に訳さず、そのまま英語で記述しています。
表示確認
画面全体のデザインが崩れないかはといったレベルで
IE6.0 opera9 Firefox2 Chromeで確認しています。
(IE6のみ若干ずれます)
作成動機
何かがやりたい、という理由で
趣味のプログラミングをテーマにして作成し始めたサイトです。
サイト作成時点ではほとんどF#に関する情報がなかったため
F#の普及を願って作り始めました。
管理人は大学院にて計算機科学を専攻はしておりましたが
関数型言語は専門ではなく
変なことも言ってるかもしれませんが、ご容赦ください。
参考資料
過去に作成したページは下記情報を主に参考にしています。
・Expert F#
・Foundations of F#
・バージョン1.9.6時の仕様のドラフト
・(付属マニュアルの言語仕様(lexyacc.html))
・プログラミング in OCaml
基本的には以下のサイトを参考にします
F#2.0仕様書
MSDNなどのMicrosoftのサイト内ページや、そこにある資料
開発者ブログ
その他、トップページを除いては構成の関係上
予告無く各記事のリンク先URLが変更される可能性がありますので
ご了承ください。
また、間違い等あれば連絡頂けると幸いです。