自分の『関数プログラミング実践入門』関連ツイート

復習がてら『関数プログラミング実践入門』を読んでのツイートをまとめておく。
1
前へ 1 2 ・・ 7 次へ
鏡双司 | Skeb Open @SO_C

関数のリテラルは"\引数 -> 式"と書く。"(\引数 -> 式) 実引数"でその場で評価できる。『JavaScriptパターン』の即時評価っぽい。引数を渡すのに括弧じゃなくてスペースなのに違和感が(慣れの問題か?)。

2014-11-27 22:05:04
鏡双司 | Skeb Open @SO_C

そう言えばVBAは手続きだとスペースで関数だと括弧だっけ。たまに書いている割にはしっかり覚えられない。

2014-11-27 22:06:05
鏡双司 | Skeb Open @SO_C

関数を変数に入れられる。これはJavaScriptやRも同じ。

2014-11-27 22:09:42
鏡双司 | Skeb Open @SO_C

":t"がtypeofみたいな感じか。

2014-11-27 22:11:37
鏡双司 | Skeb Open @SO_C

"let one ::Int; one = 1" これ、2行に見えるけれど、"let one ::Int"だけをシェルに渡すとエラーになる。binding(束縛)していないってメッセージ。未初期化の変数が許されないってこういうことか。

2014-11-27 22:15:27
鏡双司 | Skeb Open @SO_C

"(1 :: Int) + (2 ::Double)"は型検査でNG。"(1 :: Int) + 10"はOK。"(1 :: Int) + 10.0"はNG。"(1 :: Double) + 10.0"もOK。明示的に指定すればリテラルはIntっぽくてもDoubleになる。

2014-11-27 22:26:16
鏡双司 | Skeb Open @SO_C

当たり前のことでも動かしてみて、予想通りになると何か気持ちいいなぁ。

2014-11-27 22:26:35
鏡双司 | Skeb Open @SO_C

Javaでintどうし割り算して小数点が切り捨てられるのに気付かないでバグらせるのは誰もが通る道(自分だけじゃないと思いたい)。

2014-11-27 22:27:40
鏡双司 | Skeb Open @SO_C

『関数プログラミング実践入門』のコードを試すのはこれくらいにしよ。続きは『多相型と型変数』。Javaのジェネリクスが引き合いに出されている。

2014-11-27 22:30:16
鏡双司 | Skeb Open @SO_C

本のタイトルでTwitter検索したらアフィリエイトだらけでtoo noisy。-amazonしないと見られたものじゃなかった。

2014-11-27 22:33:15
鏡双司 | Skeb Open @SO_C

あ、正誤表出ている。サンプルコードにも一カ所ある。 / 関数プログラミング実践入門 ──簡潔で,正しいコードを書くために:サポートページ #gihyojp bit.ly/1BLcMYv

2014-11-27 22:40:23
鏡双司 | Skeb Open @SO_C

型推論と暗黙の型変換ってどういう関係なんだろう?

2014-11-28 08:31:40
鏡双司 | Skeb Open @SO_C

『関数プログラミング実践入門』、タプルについて「要素数は2つで固定」とあるけれど、Twitter検索でそんなことはないというツイートをいくつか見つけた。試してみると、確かに (1, 2, "a") とか問題なく実行できる。これは糖衣構文ということだろうか?

2014-11-28 08:47:43
鏡双司 | Skeb Open @SO_C

(1, (2, "a")) か((1, 2), "a") のどっちの糖衣構文か分からないけれど。昨夜、試したときにfstやsndも試せばよかった。

2014-11-28 08:50:14
鏡双司 | Skeb Open @SO_C

fstとsndは2要素のタプルにしか使えないのか。 / tuple タプル - いじわるだねっ d.hatena.ne.jp/Lost_dog/touch…

2014-11-28 08:53:51
鏡双司 | Skeb Open @SO_C

3要素以上のタプル、使えはするけれど、それよりは型を定義した方がHaskellっぽい気がする。

2014-11-28 08:58:21
鏡双司 | Skeb Open @SO_C

代数データ型って考え方もあるのか。クラスベースとプロトタイプベースだけでも混乱しているのに……。

2014-11-28 09:00:42
鏡双司 | Skeb Open @SO_C

Haskel, : が色々なところで使われて混乱する。

2014-11-28 13:13:53

何度同じ間違いを繰り返す気だ、自分。

鏡双司 | Skeb Open @SO_C

:、1 : []と[] : 1とで挙動違う。あくまで先頭に追加するのか。

2014-11-28 13:21:40
鏡双司 | Skeb Open @SO_C

『関数プログラミング実践入門』を第2章まで読み終えた。型クラスはJavaでいうinterfaceみたいなものという理解でいいのかな。

2014-11-28 20:34:55
鏡双司 | Skeb Open @SO_C

Haskell, 二項演算子と関数との間にほとんど差がない。セクションの挙動で面食らった。

2014-11-28 20:39:30
鏡双司 | Skeb Open @SO_C

二項演算子の左だけか右だけに引数を与えて1引数の関数にできる。抽象度高いなあ。

2014-11-28 20:41:11
前へ 1 2 ・・ 7 次へ