一汁三菜

自分が楽しいと思うこと、マラソン、旅行、その他日々の記録をしたい。

Haskell

第6章 基本的な値

この辺りから暗記するだけの章が続くので、だるくなってくる。 Bool TrueとFalseを値に取る型。論理演算はnot, (&&), (||)。 数値 Rubyとの対応で言うと、IntがFixnumでIntegerがBignum。但し、Rubyとは違い暗黙の内にIntとIntegerの間で変換が行われる訳で…

第5章 遅延評価

ようやく第2部。この第5章は1回読んだ後では「長い」と思ったけど、2回目に読んだ時にはそれほど長いとは思わなかった。要するに、遅延評価のシミュレーションで紙面を多く割いているのが長さを感じさせる原因だったらしい。ただ、別にこれが悪いというわけ…

第4章 Haskellの基礎(3) モジュールと総合演習

ようやく第1部の最後。ここではモジュールの説明と、Main, Prelude, System, Listモジュールが登場。モジュールは、要するに他の言語で言う所のライブラリのような物か。 モジュール名 役割 Prelude 暗黙の内にimportされているモジュール Main main関数があ…

第3章 Haskellの基礎(2)型と高階関数

第1部な割にはペースが遅いので、ペースアップしていきます。 型 関数の型宣言は、以下のような形式。 関数名 :: 引数の型1 -> 引数の型2 -> ... -> 戻り値の型型が任意の型で良い時は、多相型の変数を使う。例えば、 map :: (a -> b) -> a -> b代表的な型は…

2.3 リスト処理の基本(1)countlineコマンド 〜 2.8 練習問題

主にリストについての章。リストの記法は、 [ 1, 2, 3 ]という感じ。1つのリスト中には、異なる型の値を入れる事は出来ない。 リストを扱う関数もいくつか紹介された。 length xs リスト中の要素数を返す reverse xs リストを反転させる take n xs 先頭からn…

第2章 Haskellの基礎(1)関数とリスト 〜 2.2 入出力の基本

エントリポイントはmain変数から始まるらしい。何か前に聞きかじった時は、特にエントリポイントは決まっていないというような話だった気がするんだけど、気のせいだったか。 main = putStrLn "Hello World !"mainは値が代入されるんじゃなくて、その値が評…

ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門

「ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門」が届いたので、これでしばらく勉強します。実は「入門Haskell―はじめて学ぶ関数型言語」も持っているのですが、後半ついていけなくなってしまったので。ふつけるを読み終わった…