11. C++ constexprによるコンパイル時Cコンパイラ、テンプレートとジェネリクス、コンピュータサイエンスの理論と実践
ゲスト: うどん (@kw_udon_)
うどんくんがELVMを使ってCコンパイラをC++14 constexprに移植した件や、テンプレートとジェネリクス、プログラミングの型の理論などについて話をしました。
速度 x1.0
(遅く /
速く)
-15秒 /
-5秒 /
+5秒 /
+15秒
この時点にリンク
この時点にリンク
TCFMはサポーターの投げ銭によって収益を上げています。 このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。
0:00 | イントロ |
0:16 | 数学ガールの結城先生から返事がいただけた件 |
4:26 | ELVMとは何か |
7:49 | C++テンプレート省メモリメタプログラミング |
12:42 | テンプレートの使い所とJavaのジェネリクス |
13:44 | Goにはジェネリクスもテンプレートもない |
17:19 | C++11とC++14のconstexpr |
22:25 | C++17の多重代入構文 |
24:11 | Accidentally Turing-Complete |
24:58 | Javaのジェネリクスはチューリング完全 |
25:54 | Javaの型システムはunsound |
35:15 | Featherweight Java |
37:35 | C++コンパイル時コンパイラに対する大きな反響 |
38:50 | ELVMのバックエンドが書きやすい言語と書きにくい言語 |
42:58 | 難解言語として作られたMelborne |
47:38 | Rubyのfizzbuzzコードゴルフと数学 |
50:44 | SATySFiはどうなんですか |
54:55 | 理論的にもよく実際にメリットがある言語 |
55:48 | 静的型と動的型 |
1:00:45 | lldのメモリを解放しないデザイン |
1:02:48 | FacebookとOCaml |
- 結城さんの数学ガール
- 結城先生、うどんくんにコメントしてくれる
- HamajiさんによるELVM Compiler Infrastructureの解説
- コンパイル中にコンパイルする「コンパイル時Cコンパイラ」をつくった話
- ヒルベルトの23の問題
- テンプレートメタプログラミング
- 純粋関数型データ構造
- Accidentally Turing-Complete
- Why does Go not have generic types?
- Java Generics are Turing Complete
- Java and scala's type systems are unsound
- Covariance and contravariance (computer science)
- Church encoding
- Brainfuck
- Malbolge
- Fizzbuzz問題
- 静的型付け関数型組版言語SATySFi
- ドナルド・クヌース