2019年1月31日木曜日

読書環境

読んでいる最中の本、ベーシック圏論 普遍性からの速習コース (Tom Leinster(著)、斎藤 恭司(監修)、土岡 俊介(翻訳)、丸善出版)の途中で、気になったことをちょとだけ調べたり思い出したりしてみた。

気になったのは、第4章の表現可能関手、4.3の米田の補題の帰結、表現可能関手の同型のp. 125(系4.3.10)

あひるの格好をしていて、あひるのように歩き、あひるのように鳴くならば、それはおそらくあひるだろう。
という箇所。

何か聞いたことあるなぁと思って記憶を辿ってみたら、色々思い出して、入門Python 3で見たことある言葉だった。第6章のオブジェクトとクラス、6.11のダックタイピング、p.173に

アヒルのように歩き、アヒルのようにクワッとなくなら、それはアヒルだ。 ー 賢者
という古いことわざとの記述があった。

Rubyでも何か似たようなことを聞いたことあるなぁと思ったら、Wikipediaにダック・タイピングについての記述があって、PythonやRubyに限らず、

Smalltalk、Perl、Python、Rubyなどのいくつかの動的型付けオブジェクト指向プログラミング言語に特徴的な型付けの作法のこと
とのことで、元はダック・テストが由来みたい。

Smalltalk、Perl、Python、Ruby等の言語の設計者のいずれかの方が圏論からヒント得て取り込んだのか、取り込んだとしてどの言語なのか、ある言語は他の言語から影響を受けて取り込んだのか、偶然複数の言語が圏論に影響を受けて取り込んだのか、あるいは圏論と各言語のダックタイピングという作法は関係なく、たまたま同じ古いことわざから影響を受けたのか、または古いことわざに影響を受けてなくて、後付けで古いことわざを引用したのか等、ちょっと気になtたり。

もし圏論に影響を受けているなら、圏論を学ぶ楽しみがさらに一つ増えるから嬉しい。

0 コメント:

コメントを投稿