スタートガイド
- F# のインストールと使い方 を最初に読むとよいでしょう。
- F# を使う理由 F# のインタラクティブツアー
- F# の学習 より効果的に学習するためのヒント
- F# で問題が発生したときは、F# のトラブルシューティング を参照してください。
さらに以下のことも試すことができます。
- 仕事で F# を使う低リスクな 26 の方法。 今すぐ始めることができます - 許可は必要ありません!
チュートリアル
以下のシリーズは、F# の主要な概念に関するチュートリアルです。
- 関数型思考 は基本から始めて、関数がどのように機能するのか、その理由を説明します。
- 式と構文 は、パターンマッチングなどの一般的な式をカバーし、インデントについての記事があります。
- F# の型を理解する は、タプル、レコード、共用体、オプションなど、さまざまな型を定義して使用するしくみを説明します。
- 型による設計 は、型を設計プロセスの一部として使用する方法と、不正な状態を表現不可能にする方法を説明します。
- コレクション関数の選択。 C# から F# に移行する場合、膨大な数のリスト関数が難しく感じるかもしれないので、目的の関数を見つけるためのガイドとしてこの記事を書きました。
- プロパティベースのテスト: 何千ものテストを書くための怠け者のプログラマーのためのガイドです。
- コンピュテーション式の理解 は、コンピュテーション式を解明し、独自のコンピュテーション式を作成する方法を示します。
関数型パターン
これらの記事では、関数型プログラミングにおけるコアとなるパターン、つまり "map", "bind"、モナドなどの概念について説明します。
- 鉄道指向プログラミング: エラー処理のための関数型アプローチ
- Stateモナド: フランケンファンクター博士とモナド怪物の物語を使って、状態の扱いを紹介します。
- Reader モナド: Reader モナドの再発明
- Map, bind, apply, lift, sequence, traverse: ジェネリックデータ型を扱うためのコア関数の一部を説明するシリーズ
- つらくないモノイド: 一般的な関数型パターンを、ほとんど数学を使わずに解説します。
- 畳み込みと再帰型: 再帰型、カタモーフィズム、末尾再帰、左畳み込みと右畳み込みの違いなどについて説明します。
- パーサーコンビネータの理解: パーサーコンビネータライブラリをゼロから作成します。
- タートルを見る13の方法: Stateモナド、エージェント、インタープリターなど、さまざまな手法を使ってタートルグラフィック API を実装します。
実践例
これらの記事では、コードを大量に含んだ詳細な実践例を提供します。
- 正しさのための設計: 不正な状態を表現不可能にする方法(ショッピングカートの例)。
- スタックベースの電卓: コンビネータのパワーをデモするためにシンプルなスタックを使用します。
- コマンドライン引数の解析: カスタム型と組み合わせたパターンマッチングの使用。
- ローマ数字: もう一つのパターンマッチングの例
- 電卓のウォークスルー: 電卓を設計するための型優先アプローチ
- エンタープライズ三目並べ: 純粋関数型で実装するときの設計判断をウォークスルーする
- JSONパーサーを書く
F# の特定のトピック
一般:
- 4 つの主要な概念 F# を標準的な命令型言語と区別するものです。
- F# のインデントの理解
- メソッドを使用する際の落とし穴
関数:
制御フロー:
型:
物議を醸す記事
- そのプログラミング言語は不合理ですか? あるいは、予測可能性の重要性について
- 「解説付きローマ数字カタ」の解説 ローマ数字カタへの私のアプローチ
- 静的型付け関数型プログラミング言語を使わない10の理由 理解できないものに対する不満
- UML図?必要ねぇ! つまり、多くの場合、クラス図に UML を使用する必要はありません。