タグ

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

タグの絞り込みを解除

Lipsに関するEhrenのブックマーク (1)

  • なぜマクロの使いどころは分かり辛いのか

    実は超古典的なLispの文脈に於いては、関数定義の種類と言うのは4種類くらいあったんです。 このうち、可変長引数を用いる関数に関しては、現代のLispでは関数定義で方法を変える代わりにレストパラメータで解決するようになりました。問題は、古典的Lispでは引数を評価しない関数が存在した、と言う辺りです。 同書からちょっと引用してみましょうか。 EXPR型の関数は、定義した引数(仮引数)の個数と実際の引数(実引数)の個数が一致して、しかも実引数の値を求めるために評価(evaluation)が行われます。書で扱ったプログラムはほとんど全部EXPR型で定義されています。最も常識的な関数型です。 しかし、EXPR型ではうまく定義されない関数もあります。これらを定義するにはEXPR型以外の型が必要となります。 そして、同書では関数QUOTEの定義を紹介しています(ここに注目!QUOTEは関数なんです

  • 1