タグ

Programmingとdefine-syntaxに関するkarahiyoのブックマーク (1)

  • Scheme 入門 15. 構文の定義

    15. 構文の定義 (マクロ) 1. 初めに 今回は Lisp 語族に特徴的機能である、自前の構文を定義する方法(マクロ)について 説明します。マクロが定義できるようになると、プログラムがさらに簡潔に 書けるようになります。 マクロとは式の変換です。 式が評価される前に、または、コンパイル時に式が変換されます。 そして、変換後の式が初めからソースコードに書いてあったかのように処理が行われます。 Common Lisp のマクロ定義はかなり複雑ですが、R6RS に準拠した Scheme では syntax-rules という形式によって比較的簡単に定義できます。 syntax-rules を使うと変数補足などのわずらわしいことを気にしないで、 ”この式をこういう式に変換しろ”ということを直接的に書くことができます。 ただし、syntax-rules で記述できないマクロを書くのは Commo

  • 1