17/06/01 12:56:45.70 sszEh+oH.net
>>958
なるほど
If the type of a function contains a class, then this
is translated into a dictionary that is passed at runtime.
The translation simply assures that the appropriate dictionaries
passed at run-time; ...
One drawback of our translation method is that it introduces
new parameters to be passed at runtime, ...
等々しつこく書いてあったのでてっきり今もランタイムかと。
その後コンパイル時に完結できるようになっていたんですね。ありがとうございます。
960:デフォルトの名無しさん
17/06/01 14:21:39.82 JVCP5RQG.net
>>959
念のため言うが、飽くまで一般の話だよ
上での言及のように例外なく、必ずcompile timeになるかどうかはわからない
普通に考えれば、呼出側だけでなく、モジュールに何か細工が必要だろうし
961:デフォルトの名無しさん
17/06/01 14:30:58.85 Ty12p446.net
>>959
調べてみたが、少なくともHaskell 2010ではCompile timeが保証されているようだ
というか88年の文献は、いくらなんでも古すぎないか?
962:デフォルトの名無しさん
17/06/01 19:59:34.59 vNOzF29i.net
他者と誤解なく分かりあえるようになるための共通言語を開発しよう
もちろん、人と人だけでなく、人とコンピュータも分かりあえる共通言語だ
それこそが次世代言語だ
963:あ
17/06/01 20:05:18.45 23mplHvr.net
>>952
ネット越しだからやるべきかとは。。
>>961
ヨコからだけどありがとう。参考になるわ。見てくる。
>>962
エスペラントを一歩すすめる時代か。
964:デフォルトの名無しさん
17/06/01 20:18:08.98 Dnfnpswj.net
>>963
やった結果がお前さんの現状なんだよな。
965:デフォルトの名無しさん
17/06/01 20:42:26.57 sszEh+oH.net
>>961
Haskell 2010 でもまだランタイムに依存しているみたいだけど違う?
URLリンク(stackoverflow.com)
966:デフォルトの名無しさん
17/06/01 22:45:39.05 14pfKSNM.net
あらゆるモダン言語で見るようになったmapとかflatmapっていうのはどこから生まれたものなの?
967:デフォルトの名無しさん
17/06/01 22:50:28.99 W7qZGWEB.net
LISPじゃね
968:デフォルトの名無しさん
17/06/02 00:08:33.62 lDZ3L3oh.net
>>965
ちょっと話が見えないんだが、もしかして回答してほしいのは
>URLリンク(people.csail.mit.edu)
に限定した話ではないのか?
保証については、再帰がない場合の話で、その参照先は>>959とは状況違う
その場合>>958 + >>960という回答になる
969:デフォルトの名無しさん
17/06/02 02:50:18.61 bQ6pitWP.net
再帰があっても深さを制限すればspecializeできるんじゃね
制限を超えたらエラーにするか、あるいはspecializeをやめたら無限に再帰できるか?
970:デフォルトの名無しさん
17/06/02 07:14:02.17 vc1fSB5M.net
>>968
あ、いえ、すみません
>>958+960 で理解の確認はできています
ありがとうございます
ただ一方で >>905 >>957 >>961 みたいな主張もあるようなので
最新の実装では型クラスを取り巻く状況もかなり違ってきているのかなと
971:デフォルトの名無しさん
17/06/03 09:45:16.91 1Cu2c1ce.net
これ互換性にあまり影響のない実装の変更だよね
それより互換性が完全になくなった変更を批判する方が建設的