Okada Hiroshi の blog

typo が多いです

新年度なので Haskell の勉強を始めました。

もう会社員ではないので新年度といっても特に何もないのですが、何か新しい事を始めようと思って今日から Haskell の勉強を始めました。一日2時間程度の時間を割くつもりです。

一応、3日坊主にならないように blog に記録をつけることにしました。

今日は、とりあえず何時も使っているデスクトップに haskell-platform をインストールしました。 (といっても lubuntu なので $ sudo apt-get install haskell-platform とタイプしただけ ) また vimGitHub - raichoo/haskell-vim: Custom Haskell Vimscripts を入れました。

とりあえず一番優しそうな すごいHaskellたのしく学ぼう! を読み始めました。

今日は、第一章:はじめの一歩 のリスト内包表記の途中まで読み進めました。

  • True False が最初大文字なのは、関数でないという事を明示しているのだろうか?
  • ghci では定義済みの関数を TAB で補完できて便利だ。
  • 本には、Haskell は if が関数だから else が必要と書いてあったが、むしろ、型を静的にきめなければならないから else 節が必須なのだと思った。(そうでなければ、else を省略した時 null を返すとかいう仕様でも良いはず)
  • 普通の関数は右結合ではない succ succ 1 とは書けない func (func 1) が : は右結合のようだ、この辺のルールは覚えるしかないのか?
  • ghci で "あ" と入力すると "\12354" と表示される UTF-16なのかな、ちょっと非 ASCII圏には不親切な仕様かもしれない。
  • 最後の要素を除いた残りのリストを返す関数の名前がなんで init なのだろう。