00:17:41 <usaturn_> 動きが違ってても標準で使えるのは心強いですねえ
00:17:56 <usaturn_> unittestなんかも標準で付いてるんでしょうか?
04:14:13 [potix2'in]
06:29:51 [potix2'out] ; Remote host closed the connection
14:25:57 [g000019'in]
14:36:53 <g000019> 今日もぼっちSuccessful Lisp / David B. Lamkins読書会やります
14:37:38 <g000019> usaturn: CLとかSmalltalkは、言語のコアの他に標準でツールも結構用意されていますねー
14:39:11 <g000019> ユニットテストはないですが、逆にJavaとかで、lispとかsmalltalkみたいな対話的な開発をやろうとすると、ユニットテストみたいなことをしないといけない、という話もありますね
14:39:56 <g000019> ライブラリにもありますが、書くとしても (assert (= 3 4)) >> error みたいなのに毛が生えたものを用意すればOKだったりするので、都度自前で書く人もいるみたいです
14:41:08 <g000019> (((Chapter 17 - Not All Comparisons are Equal)))
14:41:58 <g000019> この章は、比較関数の話みたいですね
14:42:08 <g000019> ((((The longer the test, the more it tells you))))
14:43:34 <g000019> まずは、EQ・EQL・EQUAL・EQUALPの説明です
14:43:34 <g000019>
14:43:34 <g000019>
14:44:49 <g000019> ((((EQ is true for identical symbols))))
14:46:55 <g000019> eqは同一のオブジェクトに使うということで代表例としてシンボルの比較で使う、ということが説明されています
14:47:09 <g000019> ((((EQL is also true for identical numbers and characters))))
14:48:25 <g000019> eqlはeqに加えて、数値と文字の同値性の判定ができることが説明されています
14:49:17 <g000019> 数値は、型が同じである必要があることも説明されています
14:50:27 <g000019> ((((EQUAL is usually true for things that print the same))))
14:54:01 <g000019> equalはeqlよりさらに幅広いですが、印字表現が同じなら大抵等しい、ということが述べられています
14:54:49 <g000019> ((((EQUALP ignores number type and character case))))
14:56:07 <g000019> equalpはさらにゆるくて、文字の大文字小文字は無視され、数値も型が同じでなくてもOKで、配列やハッシュや構造体も、要素が同じなら等しいと判定されます
15:02:28 <g000019> 判定がゆる過ぎて逆にハマることもあったりしますね >equalp
15:02:41 <g000019> ((((Longer tests are slower; know what you're comparing))))
15:03:30 <g000019> 名前が短かくなるほど、判定がきびしく高速で、長くなるほど、ゆるくて低速になる、ということが説明されています
15:03:37 <g000019> ((((Specialized tests run faster on more restricted data types))))
15:05:40 <g000019> 型に応じて各種、比較関数が用意されていて、こちらを用いると速い、ということが説明されています
15:07:23 <g000019> String系がおやと思うこともある気がしますが、後々解説されるのかもしれません
15:07:38 <g000019> TREE-EQUALとか自分は忘れてました
15:08:10 <g000019> ということで、17章は終了です。次回は、18章からです。なんだかんだで半分まで読みました
15:08:19 [g000019'out] ; Quit: (quit)
15:34:04 [potix2'in]
17:59:42 [potix2'out] ; Remote host closed the connection
19:05:09 [potix2'in]
19:07:14 [potix2'out] ; Remote host closed the connection