もう会社員ではないので新年度といっても特に何もないのですが、何か新しい事を始めようと思って今日から Haskell の勉強を始めました。一日2時間程度の時間を割くつもりです。
一応、3日坊主にならないように blog に記録をつけることにしました。
今日は、とりあえず何時も使っているデスクトップに haskell-platform をインストールしました。 (といっても lubuntu なので $ sudo apt-get install haskell-platform
とタイプしただけ )
また vim に GitHub - 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 なのだろう。