(index ("messages" 0) ("define-method" 189) ("message?" 562) ("message-variadic?" 638) ("message-arity" 755) ("define-protocol" 863) ("protocol-adopts?" 1109) ("protocol-docs" 1241))
(def (sig (procedure "(messages sym ..)" (id messages))) (p "documentation procedure: returns the list of exported symbols when called as thunk or the documentation of its argument sym."))
(def (sig (syntax "(define-method (Msg (x x??)) body ....)" (id define-method))) (p "inserts an anonymous method constructed from argument x, selector x?? and body .... into the method tree of the generic function Msg at the position determined by selector's parents.  The body must be a lambda expression in case of a message with parameters. Reexported from generics."))
(def (sig (procedure "(message? xpr)" (id message?))) (p "type predicate"))
(def (sig (procedure "(message-variadic? Msg)" (id message-variadic?))) (p "is the message function Msg variadic?"))
(def (sig (procedure "(message-arity Msg)" (id message-arity))) (p "returns the arity of the message Msg"))
(def (sig (syntax "(define-protocol NAME Msg ....)" (id define-protocol))) (p "where Msg is either a parametrized message of the form (Name arg ....) or a parameterless message Name. Defines a protocol, NAME, consisting of a list of messages."))
(def (sig (procedure "(protocol-adopts? NAME obj)" (id protocol-adopts?))) (p "can each message of protocol NAME operate on obj?"))
(def (sig (procedure "(protocol-docs NAME)" (id protocol-docs))) (p "returns a readable list of the messages defined in protocol NAME"))
