Modegramming Style
2012年6月29日金曜日
Scala Tips / Monoid - 新規作成
›
モノイド は関数型プログラミングで非常に有効な性質です。この性質をプログラムの機能として使えるようにしたものがScalazの型クラスMonoidです。 Scalazが定義する様々なMonoidを活用するのはもちろんですが、アプリケーションのドメインで有用な新たなMonoidを定義...
2012年6月28日木曜日
Scala Tips / Reducer (4) - 自前Reducer
›
Reducerは、「あるクラス」と「あるクラス」に対する別モノイド演算を定義した「別のクラス」を結びつける演算を行うオブジェクトです。元のクラスである「あるクラス」をC、「追加のモノイド演算」と「あるクラス」を結びつける「別のクラス」をMと表記することにします。 前回 では、Cを...
2012年6月27日水曜日
Scala Tips / Reducer (3) - モノイド化
›
前前回 はIntとIntMultiplicationを結びつけるIntProductRecuder、 前回 は任意の型TとList[T]を結びつけるListReducerについて説明しました。 Reducerは、「あるクラス」と「あるクラス」に対する別モノイド演算を定義した「別の...
2012年6月26日火曜日
Scala Tips / Reducer (2) - List
›
前回 はIntとIntMultiplicationを例にReducerを基本的な使い方について説明しました。 次は可換でないモノイド演算の例として任意の型TとList[T]を結びつけるListReducerを使ってみましょう。TにはIntを使うことにします。 まずListRedu...
2012年6月25日月曜日
Scala Tips / Reducer
›
ScalazではIntなどの整数値の モノイド演算 は加算として定義しています。数値に対するモノイド演算で最も利用されそうなのが加算なので妥当な選択ですが、場合によっては乗算などの演算を数値のモノイド演算として使用したい場合もあります。 そこでScalazでは、乗算をモノイド演算...
2012年6月22日金曜日
Scala Tips / multiplication
›
モノイド演算 は加算に限るわけではなく、条件を満たす任意の演算が対象となります。 ScalazではIntなどの整数値のモノイド演算は加算として定義しています。数値に対するモノイド演算で最も利用されそうなのが加算なので妥当な選択ですが、場合によっては乗算などの演算を数値のモノイド演...
2012年6月21日木曜日
Scala Tips / Validation (33) - reduce
›
fold系メソッドのバリエーションとしてreduce系のメソッドがあります。 fold系メソッドは、畳込みの初期値を指定するので元のオブジェクトの集りを全く異なったオブジェクトに変換することができます。 一方、reduce系メソッドは畳込みの初期値を指定しません。引数の数が減ると...
‹
›
ホーム
ウェブ バージョンを表示