cross2013fのツイートまとめ

0
おしいれのぼうけん @osiire

混ぜられないというのは、純粋な関数から副作用のある関数を呼べない、という事。#cross2013f

2013-01-18 15:27:02
おしいれのぼうけん @osiire

副作用とは。「入出力」と「グローバル変数やローカル変数の書換え」の二つに分けて考える。#cross2013f

2013-01-18 15:29:01
おしいれのぼうけん @osiire

4つの関数を作ったつもりが、グローバル変数で繋がっている。再利用は難しいし、同時に動いていると悲惨。#cross2013f

2013-01-18 15:30:49
おしいれのぼうけん @osiire

グローバル変数は緊急時の必要悪。#cross2013f

2013-01-18 15:33:44
おしいれのぼうけん @osiire

再代入可能な変数は、ほとんど使わない。#cross2013f

2013-01-18 15:34:44
おしいれのぼうけん @osiire

関数の目的:純粋な関数は引数が同じなら必ず同じ結果を返す。式で構成する。副作用のある関数は、引数が同じでも異なる結果を返す。#cross2013f

2013-01-18 15:38:11
おしいれのぼうけん @osiire

純粋な関数から副作用のある関数を呼べない。これは言語が要求する。(Haskell) #cross2013f

2013-01-18 15:39:48
おしいれのぼうけん @osiire

Haskellでは関数が純粋かどうか、その関数の型で分かる。IO型が付いていたら副作業がある関数。#cross2013f

2013-01-18 15:42:14
おしいれのぼうけん @osiire

フィボナッチのコード。文を使ってしまっている。#cross2013f

2013-01-18 15:46:20
おしいれのぼうけん @osiire

無名ブロック使えと怒られるかもw #cross2013f

2013-01-18 15:47:46
おしいれのぼうけん @osiire

もうちょっと複雑な例。文字列のsplit。文は使わないでも十分書ける。 #cross2013f

2013-01-18 15:50:20
おしいれのぼうけん @osiire

関数プログラミングとは、式で構成するプログラミング。#cross2013f

2013-01-18 15:51:13
山口陽平 @melleo1978

#cross2013f 副作用がない関数を命令的に書くことは、コードをアーキテクチャに合わせて手動で最適化していることに相当するから、間違えやすいし、分かりづらい。そんなことはやめるべき。

2013-01-18 15:52:00
おしいれのぼうけん @osiire

nullは10億ドルの失敗。21世紀の言語はnullを排除すべき。#cross2013f

2013-01-18 15:55:26
ぶるふぇ @B1ufe

#cross #cross2013f 純粋な関数は全域を扱い、失敗は直和で表す すると失敗することがある関数であることが一目でわかる

2013-01-18 16:01:04
おしいれのぼうけん @osiire

純粋関数の失敗をどう表現するか。直和で表現する。#cross2013f

2013-01-18 16:01:05
おしいれのぼうけん @osiire

純粋でない関数なら例外をthrowしてcatchする事もできる。普通の命令型の言語と同じ。#cross2013f

2013-01-18 16:02:05
おしいれのぼうけん @osiire

成功したらJust a、失敗したらNothingが返る。パターンマッチで取り出すのでnull例外はあり得ない。#cross2013f

2013-01-18 16:03:09
おしいれのぼうけん @osiire

型推論があるので型書かなくていい。#cross2013f

2013-01-18 16:05:18
おしいれのぼうけん @osiire

型検査が自分の誤りを恐ろしいほど見つけてくれる。#cross2013f

2013-01-18 16:06:05
おしいれのぼうけん @osiire

静的型付き関数型言語のコンパイルはテスト。#cross2013f

2013-01-18 16:08:38
おしいれのぼうけん @osiire

型に関数誤りはないが、値に対する誤りはある。#cross2013f

2013-01-18 16:12:13
おしいれのぼうけん @osiire

そこで性質テスト。「ビューティフルコード」の7章 ビューティフル・テストに感動した。#cross2013f

2013-01-18 16:15:00
おしいれのぼうけん @osiire

二分探索のアイディアは1946年に出されたバグがない実装ができたのは12年後 #cross2013f

2013-01-18 16:15:54