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

11.35 srfi.173 - Hooks (srfi)

Module: srfi.173

This module provides hooks, which manages a list of closures to be called.

It is based on Guile’s hooks, which Gauche supports in gauche.hook module (see gauche.hook - Hooks). This srfi is a thin layer on top of gauche.hook.

The following procedures are the same as gauche.hook:

make-hook     hook?      hook->list
Function: hook-add! hook proc

[SRFI-173]{srfi.173} Add a procedure proc to a hook hook. The procedure must accept the number of arguments that matches the arity of the hook. It is the same as (add-hook! hook proc) of gauche.hook.

Function: hook-delete! hook proc

[SRFI-173]{srfi.173} Delete proc from hook. If proc isn’t in hook, do nothing. It is the same as (delete-hook! hook proc) of gauche.hook.

Function: hook-reset! hook

[SRFI-173]{srfi.173} Remove all the procedures registered in hook. It is the same as (reset-hook! hook) of gauche.hook.

Function: hook-run hook args …

[SRFI-173]{srfi.173} Apply all the procedures from hook to the args. The order of the procedure isn’t specified in the srfi, though Gauche preserves the order (see run-hook (see gauche.hook - Hooks).

Function: list->hook arity list

[SRFI-173]{srfi.173} Creates a new hook with specified arity (which is a non-negative exact integer), which has the procedures in list. All the procedures must accept arity number of arguments.

Function: list->hook! hook list

[SRFI-173]{srfi.173} Replace the list of procedures in hook with procedures in list. All the procedures must accept the number of arguments the same as hook’s arity.



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