2012-06-01から1ヶ月間の記事一覧

プログラミングHaskellを読む (5)

第5章 リスト内包記法 この章のシーザー暗号の部分は、なかなか面白いです。 基本 リスト内包記法は数学の集合の表現を模している。 参考:集合の基本概念:定義と記号[数学についてのwebノート] *Main> -- { x^2 | x ∈ {1, ..., 10} } *Main> [x^2 | x <- […

プログラミングHaskellを読む (4)

第4章 関数定義 関数定義で使えるワザ 既存の関数を利用する if文 一番単純なパターンマッチ thenとelseが必須 then, else節は型が同じ必要がある 必須なのでいわゆる「ぶらさがりelse問題」が発生しない -- 絶対値 abs1 n = if n >= 0 then n else -n -- 整…

プログラミングHaskellを読む (3)

第3章 型とクラス 基本 Bool, Char, String*1, Int, Integer, Float リスト [a] 要素の型は同じ、型に「長さ」は含まない、長さに制限はない タプル (a, b) 要素の型は自由、型で「要素数*2」が分る 最初の要素は「ユニット」という 要素数1のタプルは存在…

HatenaBlogでスタイルが崩壊 の原因

CSSをいじっていたら、ここしばらくCSSが適用されなくて、デザインが崩壊していたのですが、原因が分かりました。ずばり、カスタマイズのCSSで:beforeを使ったのが原因なようです。どうもシステム側でCSSをパースしている模様。IEではexpressionとか使えるし…

プログラミングHaskellを読む (2)

第2章 はじめの一歩 標準ライブラリ:Prelude GHCiは起動時に標準ライブラリはPrelude.hsを読み込む。 プロンプトにPreludeと出るのはそのため。 各種演算子も当然のことながら関数で、Prelude.hsで定義されている。 整数の割り算は"`div`"*1。浮動小数点の…

プログラミングHaskellを読む (1)

先日宣言したように、プログラミングHaskellを買ってきたので、ちまちまと読むことにします。 モチベーション維持のためにも、章ごとにメモや感想、練習問題の自分なりの解答を、このブログに書いていきたいと思います*1。 第1章 導入 まず、この章を読んで…

練習用コードを書くために

以下、Windows7 + Haskell Platform + Cygwinの環境下でのメモです。 練習のためのコードを書くために Haskell Platformでは ghc コンパイラ。ネイティブバイナリを生成。 ghci 対話型の簡易インタプリタ。 runghc スクリプトの実行。 がHaskellプログラムを…

Haskell入信

なんとなくHaskellを始めようという気になったので、ちょっと本気でやってみることにします。 関数型言語は、一応OCaml・Scalaには触ったことがあるのですが、Haskellは完全に初めてです。 果たしてどうなることやら。 まずはインストール WindowsとMac両方…