iconLogo
Published:2026/1/2 22:28:47

プログラミング言語をギャル化💅💕 モジュール化されたAST、爆誕☆

  1. タイトル & 超要約 モジュール化した構文解析(MAST)で、プログラミング言語をもっとかわいくしちゃお!✨

  2. ギャル的キラキラポイント

    • ● 構文解析をパーツ分け(モジュール化)して、かわいくカスタマイズ可能に💖
    • ● 拡張性バツグン!新しい機能も、ちょー簡単に付け足せる🎶
    • ● 形式的な証明で、プログラムがちゃんと動くって保証付き💯
  3. 詳細解説

    • 背景 プログラミング言語の仕組みを解析(かいせき)するのって大変じゃん? AST(抽象構文木)っていう、プログラムをツリーみたいに表現するやつがあるんだけど、これが複雑で…。新機能を追加するたびに、修正が必要だったりしたんだよね😭
    • 方法 「MAST」っていう新しい方法で、ASTをモジュール化!第二種ソートっていう、構文要素(こうぶんようそ)を種類分けするテクを使ってるんだって✨ CBVλ計算とか、色んな構文をパーツみたいに組み合わせて、柔軟(じゅうなん)にプログラムを作れるようにしたんだって!
    • 結果 レコードとかバリアント(共用体)とか、色んな構文を表現できて、置換(ちかん)操作に関する性質も証明できたんだって!128個も置換補題を導出したらしいから、マジすごい😳
    • 意義(ここがヤバい♡ポイント) プログラミング言語のセマンティクス(意味論)の研究とか、メタプログラミングツール開発とかに役立つみたい! 拡張性も高いから、新しい言語にも対応しやすいし、マジでIT業界をアゲてくれる技術だね😎💖
  4. リアルでの使いみちアイデア💡

    • DSL(ドメイン特化言語)開発に使える! 特定の分野に特化した言語を、簡単に作れちゃうかも🤩
    • コード生成ツールで、繰り返し(くりかえし)の作業を自動化! めっちゃ時短になるじゃん?🙌

続きは「らくらく論文」アプリで

Modular abstract syntax trees (MAST): substitution tensors with second-class sorts

Marcelo P. Fiore / Ohad Kammar / Georg Moser / Sam Staton

We adapt Fiore, Plotkin, and Turi's treatment of abstract syntax with binding, substitution, and holes to account for languages with second-class sorts. These situations include programming calculi such as the Call-by-Value lambda-calculus (CBV) and Levy's Call-by-Push-Value (CBPV). Prohibiting second-class sorts from appearing in variable contexts changes the characterisation of the abstract syntax from monoids in monoidal categories to actions in actegories. We reproduce much of the development through bicategorical arguments. We apply the resulting theory by proving substitution lemmata for varieties of CBV.

cs / cs.PL