User Tools

====== Function PPRINT-DISPATCH ====== ====Syntax==== * **pprint-dispatch** //object// ''&optional'' //table// → //function, found-p// ====Arguments and Values==== * //object// - an //[[CL:Glossary:object]]//. * //table// - a //[[CL:Glossary:pprint dispatch table]]//, or **[[CL:Constant Variables:nil]]**. The default is the //[[CL:Glossary:value]]// of [[CL:Variables:star-print-pprint-dispatch-star|*print-pprint-dispatch*]]. * //function// - a //[[CL:Glossary:function designator]]//. * //found-p// - a //[[CL:Glossary:generalized boolean]]//. ====Description==== Retrieves the highest priority function in //table// that is associated with a //[[CL:Glossary:type specifier]]// that matches //object//. The function is chosen by finding all of the //[[CL:Glossary:type specifier|type specifiers]]// in //table// that match the //object// and selecting the highest priority function associated with any of these //[[CL:Glossary:type specifier|type specifiers]]//. If there is more than one highest priority function, an arbitrary choice is made. If no //[[CL:Glossary:type specifier|type specifiers]]// match the //object//, a function is returned that prints //object// using **[[CL:Functions:print-object]]**. The //[[CL:Glossary:secondary value]]//, //found-p//, is //[[CL:Glossary:true]]// if a matching //[[CL:Glossary:type specifier]]// was found in //table//, or //[[CL:Glossary:false]]// otherwise. If //table// is **[[CL:Constant Variables:nil]]**, retrieval is done in the //[[CL:Glossary:initial pprint dispatch table]]//. ====Examples==== None. ====Side Effects==== None. ====Affected By==== The state of the //table//. ====Exceptional Situations==== Should signal an error of type **[[CL:Types:type-error]]** if //[[CL:Glossary:table]]// is neither a //[[CL:Glossary:pprint-dispatch-table]]// nor **[[CL:Constant Variables:nil]]**. ====See Also==== None. ====Notes==== <blockquote> ([[CL:Special Operators:let]] (([[CL:Variables:star-print-pretty-star|*print-pretty*]] [[CL:Constant Variables:t]])) ([[CL:Functions:write]] object :stream s)) ≡ ([[CL:Functions:funcall]] (pprint-dispatch object) s object) </blockquote> \issue{PRETTY-PRINT-INTERFACE} \issue{GENERALIZE-PRETTY-PRINTER:UNIFY}