プログラミング言語におけるマクロ

C言語の弱い部分はプリプロセッサである。
#if しかないが、せめて FOR文 ぐらい書けてほしい。

他にも FOPENして FSCAN して、ファイルの中身を配列初期値にしたり、三角関数や指数関数でループを回りながらテーブル初期値を算出したりしたい。
定数係数の重みを計算しながら、加算順序や構造体内をソーティングしたりしたい。
似たような関数をループで生成したい。

まあ、自作プリプロセッサを作れば済む話なんだが、なかなかスキルが及ばない。

ハードウェア記述言語の Verilog では、generate文がそこそこいい感じであるが、それでもまだまだ痒いところに手が届かない。

On Lisp: Advanced techniques for common Lisp

On Lisp: Advanced techniques for common Lisp

グレアム,ポール, グレアム,ポール, 野田 開
5,999円(01/14 19:47時点)
Amazonの情報を掲載しています

最強なのはLISPであろうか。コードとデータの区別がないので、マクロとプログラムが同じ言語で書かれていて区別はない。
しかも、コンパイル済みバイナリはインタプリタを含むし、インタプリタからコンパイルできるしでやりたい放題である。覚えたいが難しい言語である。

最近RTLを覚えたせいか、マクロの重要性を非常に痛感している。
いつか自分で言語を作るときはLSIP並みに自由度のあるマクロを搭載して、且つ、C言語やにやさしい言語にしたいものだ。

ハッカーと画家 コンピュータ時代の創造者たち

ハッカーと画家 コンピュータ時代の創造者たち

ポール グレアム
2,640円(01/15 01:09時点)
Amazonの情報を掲載しています

コメント

タイトルとURLをコピーしました