For Development HEAD DRAFTSearch (procedure/syntax/module):

11.61 srfi.229 - 手続きタグ

Module: srfi.229

このsrfiは、手続きに補助的な情報(タグ)を付加できるようにするものです。 タグは手続きを作るときに与えることができて、後で取り出すことができます。 手続きは変更不可なオブジェクトであり、従って既にある手続きにタグを追加したり 取り除いたりすることはできません。(ただ、変更可能な構造をタグとして付加して、 その構造を後で変更することはできます。クロージャに閉じ込まれた環境を 変更できるのと同じです)。

Macro: lambda/tag expr formals body …

[SRFI-229]{srfi.229} exprを評価し、その値をタグとして持つ手続き(lambda formals body …)を 返します。タグはprocedure-tagで取り出すことができます。

Macro: case-lambda/tag expr clause …

[SRFI-229]{srfi.229} 各clauseは、通常のcase-lambdaと同様に (formals body …)という形式です。

まずexprを評価し、その値をタグとして持つ、 (case-lambda clause …)で作られる手続きを返します。 タグはprocedure-tagで取り出すことができます。

Function: procedure/tag? obj

[SRFI-229]{srfi.229} objが手続きであり、タグを持っていたら#tを返します。

Function: procedure-tag proc

[SRFI-229]{srfi.229} procがタグ付き手続きであればそのタグを返します。 procがタグ付き手続きでなければエラーが投げられます。



For Development HEAD DRAFTSearch (procedure/syntax/module):
DRAFT