2012-02-15から1日間の記事一覧
mapという関数がある Hoogleで調べると map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn] map f [x1, x2, ...] == [f x1, f x2, ...] とある リスト[]のすべての要素にfを働かせますよ、という関数である "mapは便利なので,リスト以外の自分の使ったデ…
GCHiコマンド(:type (略して:t), :info (略して:i)とか) Hoogle, Hayoo (Haskellのコード探し) Haskell98の中身の確認 パスのこと、後付けパッケージ・モジュールとか
型 Haskellは型付きλ計算(Wiki)に基づく関数型プログラミング言語 関数の入出力の型をかっちり決めている、と言う意味 前の記事で作成した、"repeated"関数にも型がついている それを表示させるためのコマンドが":type" Prelude> let repeated f n = \x -> (…
関数型プログラミング言語 「そもそも関数型プログラミングって」(古典的説明がこちら) そこで挙げられている「仕事を抽象化しておくことについて」の例として出てくる、「再帰関数」をパターン化すること 初期値と2項演算による再帰関数は"reduce"と呼んで…
値 演算子 関数 関数の定義 環境 環境のスコープ 型 構成子 クラス 型クラス 型構成子クラス モジュール
「GHCはインストールされたパッケージだけを認識します」(こちら) インストールされてGHCに認識されるパッケージの一覧は、次のようにして、確認できます コマンドプロンプトで ghc-pkg list と打つ 後からパッケージを取り込みたいときは、「取ってきて、イ…
処理の繰り返しのHaskell的表記とその使用 let repeated f n = \x -> (iterate f x)!!n repeated (+2) 3 5 repeated (+3) 3 5 3+2+2+2+2+2 5+2+2+2 5+3+3+3 let repeated f n = \x -> (iterate f x)!!n let repeated : "repeated"という名前の関数を作る f,n…
目次 インストール・起動・使い始め Haskellを学ぶときの調べもの Haskellを学ぶときに使うコマンドとか ペースメーカーは『本物のプログラマはHaskellを使う』(そんなに気張らなくてもよいと思うけれど…)こちら 0. そもそもこのシリーズ記事を読むための基…
Haskell 98で提供しているものを眺める こちら
Haskellの「すでに入っている」関数のコードを見る Hoogle(こちら)や Hayoo!(こちら)
GCHiコマンド 2. 型とその多相性で、作った関数の型をみたり、型の情報を覗いたりしている 使っているのは":"で始まるコマンド それらはGCHiコマンドと言うものらしく、こちらを参照 :type \f n -> repeated f n 12 :info Num *Main> :type \f n -> repeated…
誰かがコピーできるように置いてくれているソース群があったとする それを手元にとってきてどうするか こちらを使うことを例にとる このページではlfit2.lzhなるHaskellソースファイルを固めたものを紹介されている 手元にダウンロードして解凍するとMain.hs…
型クラスは"型クラス(type class)は相異なるデータ型に共通したインターフェイスを持つ関数を定義する。"(Wiki) クラスは、「こういうことをやりたい」という「抽象的な仕事」に対して定義する 「抽象的な仕事」は型に依存しないので(しないこともあるので…
目次 Haskellの構成要素 Haskellの特徴 クラス・インスタンス コンパイル