毎日が86400秒の残り時間

ビル・ゲイツのように計画実行のスピードを上げる

焦らず、しかし休まず、星のように己がまわりを巡れ
(ヨハン・ヴォルフガング・フォン・ゲーテ)

2017-08-25(金) Haskellの学習 #2

昨日は、Haskellの第1章まで終わった。

今日も、チャッチャとコード写経して第2章を通過したい。

 

 

教科書

「すごいHaskellたのしく学ぼう!」

 

すごいHaskellたのしく学ぼう!

すごいHaskellたのしく学ぼう!

 

 

第2章 型を信じろ!

Haskellでは、すべての式の型がコンパイル時に分かっていて、そのことがコードを安全にしています。

 

2.1 明示的な型宣言

(p.23)

:tコマンドに続けて正しい式を入力すればその式のを教えてくれます。

 

ghci> :t 'a'
'a' :: Char

 

::という記号は、「の型を持つ。」と読みます。

明示的な型の名前の先頭は常に大文字です。

 

「::」という演算子(オペレーター)?には、何か呼名が付いているのだろうか?

 

2.2 一般的なHaskellの型

(p.25) (19:10)

引数と返り値の型は->で区切り、返り値の型は常に宣言の最後に置きます

引数と返り値を区別せず、どれも->で区切っている理由は、第5章で明らかになります)。

 

予想

  • 関数をカリー化して、引数を1個の関数に分ける。
  • 引数が1個の関数を連続して適用=関数の合成を行う。
  • だから、 addThree :: Int -> Int -> Int -> Int みたいに、矢印「->」でつないで表記するってことかな?

 

「->」この演算子?は、なんていう名前なんだろうか?

会話で「->」を名指しするために、演算子名も書いておいてくれたらいいのに。。。