構文規則とcall/ccの繰り返し適用による正規順直接スタイルβ評価器

2025-09-17

本論文は、衛生的なSchemeマクロにおけるcall/ccのあまり知られていない用途、特に煩雑なラムダ計算を支援する用途を探求しています。著者は、構文規則とcall/ccの繰り返し適用を巧みに組み合わせた正規順直接スタイルβ正規化器を紹介し、CPS変換と独創的な直接スタイルラムダ計算機を用いてその正当性を証明しています。本論文は、区切られた継続についても考察し、単純なマクロがpromptやcontrolといった様々な区切られた継続演算子をどのように実装できるかを示しています。call/ccベースの階乗関数の実装と区切られた継続に関する議論は、このアプローチのエレガンスと実用性を強調しています。

続きを読む
開発

増分コンパイラコース:OCamlによるTigerからx86-64アセンブリへ

2025-04-05

これは、高級言語Tigerをx86-64マシンコードにコンパイルするコンパイラを構築することを目的とした、非常に実践的なコンパイラコースです。このコースではOCamlを使用し、テスト駆動開発、バージョン管理、コードの再利用を重視しています。言語とコンパイラの機能を段階的に拡張する反復的な増分開発アプローチを採用し、拡張性を高めるためにtagless-finalスタイルを最大限に活用します。このコースでは、構文解析、型チェック、最適化、アセンブリ生成など、コンパイラコースの標準的なトピックを網羅していますが、非伝統的な方法で取り扱います。

続きを読む
開発 増分開発