Turing Complete Fm

11. C++ constexprによるコンパイル時Cコンパイラ、テンプレートとジェネリクス、コンピュータサイエンスの理論と実践 (うどん)

Informações:

Sinopse

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