Soft Typingに対するMatzの誤解とDuck TypingとStructural Subtyping
@esumii なるほど。いやまあ、そこはSML#のページにも書いてあることなので一応は理解しているつもりだったです。
2016-09-08 14:17:18Ruby + レコード多相の話、以前@soutaro さんがやってた気がするが、その辺どう思うか聞いてみたい…とメンション飛ばしてみる
2016-09-08 14:06:53@kmizu ルビーの辛さはそこではないので……ということもないけど。突然メソッドが生えるのを別にすれば、基底型がないのと、相互再帰なでかいクラス定義が辛い。
2016-09-08 14:10:12ルビー流の型システムがあるとして、それをソフトタイピングと呼ぶのは論外として、まーそのままダックタイピングとかで良いのではなどと思ったが、それ以上はコメントありません。
2016-09-08 14:13:38基底型がないのは、たぶん本当にしんどくて、String受け取りますとか言っても、ではStringとはなにか?となる。to_strがあればそれでいい?その返り値がStringであるというのは、どう表現するか?などとなります。
2016-09-08 14:18:55soutaroさんの多相レコードin Rubyの話は、 ci.nii.ac.jp/naid/110006684… にあった。
2016-09-08 14:19:53@soutaro ふむふむ。相互再帰はなんかつらそうなにおいはしますが、基底型(がない)のはどう効いてくるのでしょうか?
2016-09-08 14:23:19@soutaro メソッドが突然生えてくる件は hackerslab.aktsk.jp/event/rubykaig… の方針なら、推論できるサブセットには入らないで解決しちゃっていい気がしますが。
2016-09-08 14:24:39@soutaro 基底型がないとつらい件は twitter.com/soutaro/status… で了解です。
2016-09-08 14:26:48link: "型は絶対書きたくない" "Ruby3は東京オリンピックまでに" Rubyの父Matzによる、「楽しいプログラミング体験を届けるために」 #rubykaigi 2016 Keynote - Togetterまとめ: togetter.com/li/1021897
2016-09-08 22:11:45良いレポート。link: RubyKaigi 2016 基調講演レポート Ruby3 Typing | MEMOPATCH: memo.goodpatch.co/2016/09/rubyka…
2016-09-08 23:12:16インターフェースすら全く書かなくてもstructural subtyping/polymorphismにより型推論されるOCamlという言語が20年ぐらい前からあるわけですが
2016-09-08 22:46:10Scalaで型推論付きでダックタイピングができるという認識がありませんでした。私が無知なだけかもしれませんが。 twitter.com/applideveloper…
2016-09-08 23:14:09@yukihiro_matz OCamlでは1996年頃からできます itpro.nikkeibp.co.jp/article/COLUMN…
2016-09-08 23:17:26@yukihiro_matz どちらも完全に厳密に定義された用語ではないので「正確には定義による」としか言いようがないですが、「ガーと鳴くメソッドがあるオブジェクトは何でもアヒル型になる」という意味ではOCamlでも20年前から可能です
2016-09-08 23:29:30Matz氏が structural subtyping の話ししてる!?と思って眠気が吹き飛んだけど、相変わらず絶対に型書くたくないマンっぽいから寝る
2016-09-08 23:45:15OCaml は「ダックタイピングの静的パージョン」をずっと前から持ってるんだけど、アップキャストは明示、ダウンキャストは不可って所は Rubyist には多分受けねぇだろうなぁ
2016-09-08 23:51:24@camloeba ダウンキャスト不可とか意味不明な制限があってもそれなりにプログラムが書けるという恐ろしい成果なわけだが
2016-09-08 23:55:29"RubyKaigi 2016 基調講演レポート" memo.goodpatch.co/2016/09/rubyka… 前半のダックタイピング云々は構造的部分型を知らないだけだし、「静的な振る舞い推論」と言われてもすでにCrystal言語がかなりいいところまで行ってる感じだし、なんだかなあ。
2016-09-09 00:27:23