見出し画像

Retro-gaming and so on

RE: プログラミング学習日記 2022/11/17〜

星田さんの記事に対するコメント。
今回はマクロに付いてのトピックで、簡単に。

 syntax-rules()のカッコの中があったりなかったりってなんだ?と思ったら予約語か!うーん、つまり未定義のシンボルを手軽に使用可能に出来るということかな?

例えばcondelseとか、=>とか、かな。
R7RSの用語で言うと「補助構文」の為のキーワード作成の為の部分が、syntax-rules()のカッコの中のブツです。


 更にSyntax-caseなる、ほぼCommon-lispのマクロと同様の事が出来るという上級タイプがあるのも初めて知った。なるほど#とか上級の香りがしますね・・いや、まずはSyntax-rulesしっかりとやることにしよう。

うん、取り合えずsyntax-rules()で充分です。syntax-rules()だけ覚えておけばイイ。
これも何度か書いてるけど改めて。
syntax-caseはR6RSで登場したんだけど、要するにR7RSだとまだ導入されてないのね。
今あるR7RS-smallだと、そもそもsyntax-caseが存在しない。R7RS-largeが出てくりゃsyntax-caseが含まれるだろうけど、今はわかんない。そしてR7RS-largeがいつ決まるかサッパリわからないんだ。
つまり、出てくるか出てこないか分からん仕様なのに(つまり無駄になる可能性があるのに)一生懸命syntax-caseを覚えよう、ってのは現時点じゃあまり利点がねぇんだ。
しかもぶっちゃけR6RSは「失敗した」仕様だ。って事は殆どの人がsyntax-caseを知らない。外人も知らんのだ。
ってこたぁ、参照文献とかが少ない。使い方が分からんヤツが多い以上、ノウハウがない、って事だな。
と言うわけで、取り敢えず、syntax-rules()にだけ集中しとけばいいです。
  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「RE: プログラミング学習日記」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事