let t = 関数型プログラミング言語ML 2
■ このスレッドは過去ログ倉庫に格納されています
0763デフォルトの名無しさん
NGNG「動的」というのは違いましたね。コードを生成するのはコンパイル時でいいのですが、
コンパイル時に与える整数を変えると生成されるコードが変わるとか、単純な繰り返しを避けるとか
そういったプリプロセッサが欲しいです。
C++のtemplateはクラスや関数を作ることしかできませんし、引数も型か整数しか与えられませんし、
繰り返しも再帰で表現するのでinline展開がされなかったらパフォーマンスが酷いことになりそうです。
どちらかというとCのマクロの方が近いのですが単純なテキスト置換でメタ的な場合分けができないので
だめです。でも boost::preprocessorとかいうのもあるので、もしかしたらできるのかも。
> Template Haskellは、コードの構文木にコンパイル時にアクセスできる。
なんか面白そうですね。Template Haskellどころか普通の Haskellもよく知らないんですが、
遅延評価の言語で実行速度は遅いですよね? コンパイルされる言語は速い言語がよいので、
そのプリプロセッサ(もしかしたらパースした後?)だけが欲しいんですよね。
かなりスレ違いなので無視していただいて構いません。すでに教えてもらったことがいっぱいあるので
とりあえず消化します。ありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています