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

Turing Complete FM
Turing Complete FM
Episode • Mar 25, 2018 • 1h 6m
うどんくんが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)