はじめに

この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が変更される可能性がありますので ご了承ください。 また、間違い等あれば連絡頂けると幸いです。