Arantium Maestum

プログラミング、囲碁、読書の話題

2018-03-13から1日間の記事一覧

Thinking Functionally with Haskell勉強メモ: 第4章2 concat/map/filter、functorと自然変換、同一性の証明

リストに対する処理の性質・法則、Functorに対するの一般化、性質の証明法についてメモ: まずはconcat、map、filterの定義: concat :: [[a]] -> [a] concat [] = [] concat (xs:xss) = xs ++ concat xss map :: (a -> b) -> [a] -> [b] map _ [] = [] map …

Effective C++勉強メモ: Item 19 クラス・デザインは型デザイン

新しいクラスを宣言・定義するのは、C++の型システムの拡張に他ならず、型デザインなので本来簡単なことではない。という項目。 以下のことに気をつけるべき: 新しい型のオブジェクトの生成・破棄方法 初期化と代入の関係 Pass-by-valueの意味 型の性質上取…

Thinking Functionally with Haskell勉強メモ: 第4章1: List Comprehensionの定義

Haskellでは Prelude> [1..5] [1,2,3,4,5] Prelude> [(+1) x | x <- [1..5]] [2,3,4,5,6] のように[a..b]と[f x | x <- xs]といった簡単にリストを作成できる記法がサポートされている。 後者は特に便利で Prelude> [x*y | x <- [1..10], x `mod` 2 == 0, y …