以下の内容はhttps://shinh.hatenablog.com/entry/20051109/1131480343より取得しました。


超推論言語妄想

http://www.kmonos.net/wlog/55.php#_1446051108

面白いなぁ…こういうのがメインストリームになるってのはちょっと予測しずらくもあるんですが。もう少しルールが明確でないと、この場合は推論してくれるんだっけ…とか思って結局メソッド名全部書いちゃいそう。この言語って未初期化変数は null 入れてくれるよね…とか思いながら一応 val = null とか書いちゃう感覚で。手慣れた人はスイスイ書けそうだけど。

こういう世界に進化するんだろうか。

// ← int main() { がなんとなく推論されている
2; // int x = 2;
3.2; // float y = 3.2;
print(example(1 & 1.1 => 2.1)(int, float));
// ← return 0; } が推論されている

print は int を print するんだから当然 printf("%d\n") だよね!と推論。

example(a & b, ... => x) は a,b,... を引数として結果が x になる関数を推論して返す。

あれだ、世界中のソースを溜め込んで、そこから学習した定石によって学習させるとか。 printf と int のコラボは printf("%d\n", i) が多かった、この場合は print と int が来てる、うん、一致度70%、よし推論してあげよお、とか考えるコンパイラ

……たぶん以下のコードは、

print;

次のように推論される。

int main() {
    printf("Hello world!\n");
}



以上の内容はhttps://shinh.hatenablog.com/entry/20051109/1131480343より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14