Tambourine作業メモ

主にスキル習得のためにやった作業のメモ。他人には基本的に無用のものです。

FSharp

F#で遊んでみる(11)

8.15のアクティブパターンから これまでのパターンマッチングでレコードやタプルにマッチさせるパターンが存在したけど、自分で定義したクラスにはあらかじめ定義されたパターンは存在しない。なので自分で定義する。これをアクティブパターンという。 アク…

F#で遊んでみる(10)

この本を読んでます。 実践 F# 関数型プログラミング入門作者:荒井 省三: いげ太技術評論社Amazon 8章。OOP。F#はOOPも出来ます・・・というよりは、C#が使うことを前提に設計された実行基板の上で動くので、C#と同じ事はどうやったら出来るのかという話。 …

F#で遊んでみる(9)

7章のつづき。 まずは配列。配列はサイズ固定でミュータブル。要するに、メモリ上にべたっと領域があるってことですね。 配列式。[| 1; 2; 3 |] Array.zeroで配列の確保と初期化が出来る。ゼロで初期化したければzeroCreateを使う 多次元配列はインデックス…

F#で遊んでみる(8)

7章を読んでいこう。コレクションの話。 まずはリスト。関数型でリストといえば、(car, cdr)のリストだ。 'a list ::がcons。[]が空リスト carはList.head。cdrはList.tail。 パターンマッチ 空リストパターン コンスパターン(_::_みたいな感じ) リストパタ…

F#で遊んでみる(7)

6章を読んでいこう。6章は純粋な関数型言語からはみ出す話である。 まず、モジュールの説明で、例のためにじゃんけんモジュールが例示されている。 type Jyanken = Gu | Ti | Pa [<CompilationRepresentation(CompilationRepresentationFlags.ModuleSuffix)>] module Jyanken = type Result = P1Win | TieGame | P2Win let random = Sy</compilationrepresentation(compilationrepresentationflags.modulesuffix)>…

F#で遊んでみる(6)

今回は、この本の5.10から進める。 実践 F# 関数型プログラミング入門作者:荒井 省三: いげ太技術評論社Amazon 5.10はパターンマッチ。 パターンマッチはRustにもあるし、最近はRubyにも入ったけど、しっかり理解出来たとは言えない。 よく使うイディオムは…

F#で遊んでみる(5)

5章を読んでいこう。 inline ここにinlineの説明があるのは唐突感があるなあ・・・ プリミティブ型 intは符号付き32bit(符号なし32bit整数はuint32。こっちは32がつく) 符号付きbyteはsbyte、符号なしがbyte。リテラルはyがつく floatは64bit。32bitはfloat3…

F#で遊んでみる(4)

手を動かしながら読んでいる。 実践 F# 関数型プログラミング入門作者:荒井 省三: いげ太技術評論社Amazon 4章は 比較演算子と真偽値 論理演算 if式 else if はelifと書く ユニットとdo mutable タプル カリー化 ユーザー定義演算子 ビット演算子 パイプライ…

F#で遊んでみる(3)

やっとコードを書く。まずは、この本の3章をざくざくやっていこう。 実践 F# 関数型プログラミング入門作者:荒井 省三: いげ太技術評論社Amazon ちなみに、この本はちょっと古い。2010年にF#がVisual Studioに乗っかったばっかりのころ P68あたりの変数束縛…

F#で遊んでみる(2)

だいぶ長い間、インストールだけして放置してた。まあ、よくあること。 さて、まずはインタラクティブシェルの使い方。インタラクティブシェルはfsiという名前で、dotnetコマンドを使って起動する > dotnet fsi Microsoft (R) F# インタラクティブ バージョ…

F#で遊んでみる(1)

2年ぐらい前に、戯れにOCamlの勉強をしてみた。ML系の言語は、広く使われているとは言えないもののこれが必要な人にとっては他に換えがたいもののようである。その中で、OCamlという言語はMLとしては実用的な言語として開発母体もそこそこちゃんとしていて、…