タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

メタプログラミングに関するgt-r-blazeのブックマーク (2)

  • メタプログラミング - Wikipedia

    メタプログラミング (英語: metaprogramming) [注釈 1]とはプログラミング技法の一種で、一般に「プログラムを記述するプログラム」を書くこと、またはそのプログラムを指す[1]。対象言語に埋め込まれたマクロ言語によって行われることもある。 概要[編集] 一般に、スクリプト言語はメタプログラミングが得意だとされている。コンパイル型言語は実行前にソースコードを一括で変換するという特性上、翻訳と実行を繰り返すスクリプト言語よりも実行時の割り込みや変換の自由度が低い[2]。 代表的なメタプログラミングの例はLispのマクロである。Lispはデータ、コードが全てS式で表現されるが、マクロによりS式が言語処理系に解釈される前に別なS式へと変換することができる。これにより例えば、 という記述から 構造体定義 point型 コンストラクタ make-point (省略時の初期値は0, 0)

  • 最近の流行、メタプログラミング(とDSL)について - Qiita

    流行について Clojure(LISP系)、Ruby、elixirをはじめ最近開発されたり注目されている言語では、メタプログラミングの要素を持つものが増えてきている。また、ScalaMacroが実装されるようになったり、既存の言語でも言語拡張によりその要素を取り込もうとする流れがある。 これは、最近のプログラミング言語においてはメタプログラミングが流行となっているといってよいだろう。 ここでそのメタプログラミングについて、さらっとした理解をしていこう。 メタプログラミングとは メタプログラミング (metaprogramming) とはプログラミング技法の一種で、ロジックを直接コーディングするのではなく、あるパターンをもったロジックを生成する高位ロジックによってプログラミングを行う方法、またその高位ロジックを定義する方法のこと。主に対象言語に埋め込まれたマクロ言語によって行われる。 (w

    最近の流行、メタプログラミング(とDSL)について - Qiita
  • 1