<!-- Common Lisp HyperSpec (TM), version 7.0 generated by Kent M. Pitman on Mon, 11-Apr-2005 2:31am EDT -->
<HTML>
<HEAD>
<TITLE>CLHS: Glossary-Section M</TITLE>
<LINK HREF="../Data/clhs.css" REL="stylesheet" TYPE="text/css" />
<META HTTP-EQUIV="Author" CONTENT="Kent M. Pitman">
<META HTTP-EQUIV="Organization" CONTENT="LispWorks Ltd.">
<LINK REL=TOP HREF="../Front/index.htm">
<LINK REL=COPYRIGHT HREF="../Front/Help.htm#Legal">
<LINK REL=DISCLAIMER HREF="../Front/Help.htm#Disclaimer">
<LINK REL=PREV HREF="26_glo_l.htm">
<LINK REL=UP HREF="26_a.htm">
<LINK REL=NEXT HREF="26_glo_n.htm">
</HEAD>
<BODY>
<H1><A REV=MADE HREF="http://www.lispworks.com/"><IMG WIDTH=80 HEIGHT=65 ALT="[LISPWORKS]" SRC="../Graphics/LWSmall.gif" ALIGN=Bottom></A><A REL=TOP HREF="../Front/index.htm"><font color="red"><b>MailScanner has detected a possible fraud attempt from ".." claiming to be</b></font> <IMG WIDTH=237 HEIGHT=65 ALT="[Common Lisp HyperSpec (TM)]" SRC="../Graphics/CLHS_Sm.gif" ALIGN=Bottom></A> <A REL=PREV HREF="26_glo_l.htm"><IMG WIDTH=40 HEIGHT=40 ALT="[Previous]" SRC="../Graphics/Prev.gif" ALIGN=Bottom></A><A REL=UP HREF="26_a.htm"><IMG WIDTH=40 HEIGHT=40 ALT="[Up]" SRC="../Graphics/Up.gif" ALIGN=Bottom></A><A REL=NEXT HREF="26_glo_n.htm"><IMG WIDTH=40 HEIGHT=40 ALT="[Next]" SRC="../Graphics/Next.gif" ALIGN=Bottom></A></H1>

<HR>

<B>M</B> <P>
<P><A NAME="macro"></B><B>macro</A> <I>n.</I> 1. a <A REL=DEFINITION HREF="#macro_form"></I><I>macro form</A> 2. a <A REL=DEFINITION HREF="#macro_function"></I><I>macro function</A>. 3. a <A REL=DEFINITION HREF="#macro_name"></I><I>macro name</A>. <P>
<P><A NAME="macro_character"></B><B>macro character</A> <I>n.</I> a <A REL=DEFINITION HREF="26_glo_c.htm#character"></I><I>character</A> which, when encountered by the <A REL=DEFINITION HREF="26_glo_l.htm#lisp_reader"></I><I>Lisp reader</A> in its main dispatch loop, introduces a <A REL=DEFINITION HREF="26_glo_r.htm#reader_macro"></I><I>reader macro</A>[1]. (<A REL=DEFINITION HREF="#macro_character"></I><I>Macro characters</A> have nothing to do with <A REL=DEFINITION HREF="#macro"></I><I>macros</A>.) <P>
<P><A NAME="macro_expansion"></B><B>macro expansion</A> <I>n.</I> 1. the process of translating a <A REL=DEFINITION HREF="#macro_form"></I><I>macro form</A> into another <A REL=DEFINITION HREF="26_glo_f.htm#form"></I><I>form</A>. 2. the <A REL=DEFINITION HREF="26_glo_f.htm#form"></I><I>form</A> resulting from this process. <P>
<P><A NAME="macro_form"></B><B>macro form</A> <I>n.</I> a <A REL=DEFINITION HREF="26_glo_f.htm#form"></I><I>form</A> that stands for another <A REL=DEFINITION HREF="26_glo_f.htm#form"></I><I>form</A> (e.g., for the purposes of abstraction, information hiding, or syntactic convenience); that is, either a <A REL=DEFINITION HREF="26_glo_c.htm#compound_form"></I><I>compound form</A> whose first element is a <A REL=DEFINITION HREF="#macro_name"></I><I>macro name</A>, or a <A REL=DEFINITION HREF="26_glo_f.htm#form"></I><I>form</A> that is a <A REL=DEFINITION HREF="26_glo_s.htm#symbol"></I><I>symbol</A> that names a <A REL=DEFINITION HREF="26_glo_s.htm#symbol_macro"></I><I>symbol macro</A>. <P>
<P><A NAME="macro_function"></B><B>macro function</A> <I>n.</I> a <A REL=DEFINITION HREF="26_glo_f.htm#function"></I><I>function</A> of two arguments, a <A REL=DEFINITION HREF="26_glo_f.htm#form"></I><I>form</A> and an <A REL=DEFINITION HREF="26_glo_e.htm#environment"></I><I>environment</A>, that implements <A REL=DEFINITION HREF="#macro_expansion"></I><I>macro expansion</A> by producing a <A REL=DEFINITION HREF="26_glo_f.htm#form"></I><I>form</A> to be evaluated in place of the original argument <A REL=DEFINITION HREF="26_glo_f.htm#form"></I><I>form</A>. <P>
<P><A NAME="macro_lambda_list"></B><B>macro lambda list</A> <I>n.</I> an <A REL=DEFINITION HREF="26_glo_e.htm#extended_lambda_list"></I><I>extended lambda list</A> used in <A REL=DEFINITION HREF="26_glo_f.htm#form"></I><I>forms</A> that <A REL=DEFINITION HREF="26_glo_e.htm#establish"></I><I>establish</A> <A REL=DEFINITION HREF="#macro"></I><I>macro</A> definitions, such as <A REL=DEFINITION HREF="m_defmac.htm#defmacro"></B><B>defmacro</A> and <A REL=DEFINITION HREF="s_flet_.htm#macrolet"></B><B>macrolet</A>. See <A REL=CHILD HREF="03_dd.htm">Section 3.4.4 (Macro Lambda Lists)</A>. <P>
<P><A NAME="macro_name"></B><B>macro name</A> <I>n.</I> a <A REL=DEFINITION HREF="26_glo_n.htm#name"></I><I>name</A> for which <A REL=DEFINITION HREF="f_macro_.htm#macro-function"></B><B>macro-function</A> returns <A REL=DEFINITION HREF="26_glo_t.htm#true"></I><I>true</A> and which when used as the first element of a <A REL=DEFINITION HREF="26_glo_c.htm#compound_form"></I><I>compound form</A> identifies that <A REL=DEFINITION HREF="26_glo_f.htm#form"></I><I>form</A> as a <A REL=DEFINITION HREF="#macro_form"></I><I>macro form</A>. <P>
<P><A NAME="macroexpand_hook"></B><B>macroexpand hook</A> <I>n.</I> the <A REL=DEFINITION HREF="26_glo_f.htm#function"></I><I>function</A> that is the <A REL=DEFINITION HREF="26_glo_v.htm#value"></I><I>value</A> of <A REL=DEFINITION HREF="v_mexp_h.htm#STmacroexpand-hookST"></B><B>*macroexpand-hook*</A>. <P>
<P><A NAME="mapping"></B><B>mapping</A> <I>n.</I> 1. a type of iteration in which a <A REL=DEFINITION HREF="26_glo_f.htm#function"></I><I>function</A> is successively applied to <A REL=DEFINITION HREF="26_glo_o.htm#object"></I><I>objects</A> taken from corresponding entries in collections such as <A REL=DEFINITION HREF="26_glo_s.htm#sequence"></I><I>sequences</A> or <A REL=DEFINITION HREF="26_glo_h.htm#hash_table"></I><I>hash tables</A>. 2. <I>Math.</I> a relation between two sets in which each element of the first set (the ``domain'') is assigned one element of the second set (the ``range''). <P>
<P><A NAME="metaclass"></B><B>metaclass</A> <I>n.</I> 1. a <A REL=DEFINITION HREF="26_glo_c.htm#class"></I><I>class</A> whose instances are <A REL=DEFINITION HREF="26_glo_c.htm#class"></I><I>classes</A>. 2. (of an <A REL=DEFINITION HREF="26_glo_o.htm#object"></I><I>object</A>) the <A REL=DEFINITION HREF="26_glo_c.htm#class"></I><I>class</A> of the <A REL=DEFINITION HREF="26_glo_c.htm#class"></I><I>class</A> of the <A REL=DEFINITION HREF="26_glo_o.htm#object"></I><I>object</A>. <P>
<P><A NAME="metaobject_protocol"></B><B>Metaobject Protocol</A> <I>n.</I> one of many possible descriptions of how a <A REL=DEFINITION HREF="26_glo_c.htm#conforming_implementation"></I><I>conforming implementation</A> might implement various aspects of the object system. This description is beyond the scope of this document, and no <A REL=DEFINITION HREF="26_glo_c.htm#conforming_implementation"></I><I>conforming implementation</A> is required to adhere to it except as noted explicitly in this specification. Nevertheless, its existence helps to establish normative practice, and implementors with no reason to diverge from it are encouraged to consider making their <A REL=DEFINITION HREF="26_glo_i.htm#implementation"></I><I>implementation</A> adhere to it where possible. It is described in detail in <A REL=CITATION HREF="http://www.parc.xerox.com/spl/groups/eca/pubs/complete.html#Kiczales:AMOP"></I><I>The Art of the Metaobject Protocol</A>. <P>
<P><A NAME="method"></B><B>method</A> <I>n.</I> an <A REL=DEFINITION HREF="26_glo_o.htm#object"></I><I>object</A> that is part of a <A REL=DEFINITION HREF="26_glo_g.htm#generic_function"></I><I>generic function</A> and which provides information about how that <A REL=DEFINITION HREF="26_glo_g.htm#generic_function"></I><I>generic function</A> should behave when its <A REL=DEFINITION HREF="26_glo_a.htm#argument"></I><I>arguments</A> are <A REL=DEFINITION HREF="26_glo_o.htm#object"></I><I>objects</A> of certain <A REL=DEFINITION HREF="26_glo_c.htm#class"></I><I>classes</A> or with certain identities. <P>
<P><A NAME="method_combination"></B><B>method combination</A> <I>n.</I> 1. generally, the composition of a set of <A REL=DEFINITION HREF="#method"></I><I>methods</A> to produce an <A REL=DEFINITION HREF="26_glo_e.htm#effective_method"></I><I>effective method</A> for a <A REL=DEFINITION HREF="26_glo_g.htm#generic_function"></I><I>generic function</A>. 2. an object of <A REL=DEFINITION HREF="26_glo_t.htm#type"></I><I>type</A> <A REL=DEFINITION HREF="t_meth_1.htm#method-combination"></B><B>method-combination</A>, which represents the details of how the <A REL=DEFINITION HREF="#method_combination"></I><I>method combination</A>[1] for one or more specific <A REL=DEFINITION HREF="26_glo_g.htm#generic_function"></I><I>generic functions</A> is to be performed. <P>
<P><A NAME="method-defining_form"></B><B>method-defining form</A> <I>n.</I> a <A REL=DEFINITION HREF="26_glo_f.htm#form"></I><I>form</A> that defines a <A REL=DEFINITION HREF="#method"></I><I>method</A> for a <A REL=DEFINITION HREF="26_glo_g.htm#generic_function"></I><I>generic function</A>, whether explicitly or implicitly. See <A REL=CHILD HREF="07_fa.htm">Section 7.6.1 (Introduction to Generic Functions)</A>. <P>
<P><A NAME="method-defining_operator"></B><B>method-defining operator</A> <I>n.</I> an <A REL=DEFINITION HREF="26_glo_o.htm#operator"></I><I>operator</A> corresponding to a <I>method-defining</I> <A REL=DEFINITION HREF="26_glo_f.htm#form"></I><I>form</A>. See <A REL=DEFINITION HREF="07_fa.htm#stdmethdefops">Figure 7-1</A>. <P>
<P><A NAME="minimal_compilation"></B><B>minimal compilation</A> <I>n.</I> actions the <A REL=DEFINITION HREF="26_glo_c.htm#compiler"></I><I>compiler</A> must take at compile time. See <A REL=CHILD HREF="03_bb.htm">Section 3.2.2 (Compilation Semantics)</A>. <P>
<P><A NAME="modified_lambda_list"></B><B>modified lambda list</A> <I>n.</I> a list resembling an <A REL=DEFINITION HREF="26_glo_o.htm#ordinary_lambda_list"></I><I>ordinary lambda list</A> in form and purpose, but which deviates in syntax or functionality from the definition of an <A REL=DEFINITION HREF="26_glo_o.htm#ordinary_lambda_list"></I><I>ordinary lambda list</A>. See <A REL=DEFINITION HREF="26_glo_o.htm#ordinary_lambda_list"></I><I>ordinary lambda list</A>. ``<A REL=DEFINITION HREF="m_deftp.htm#deftype"></B><B>deftype</A> uses a modified lambda list.'' <P>
<P><A NAME="most_recent"></B><B>most recent</A> <I>adj.</I> innermost; that is, having been <I>established</I> (and not yet <I>disestablished</I>) more recently than any other of its kind. <P>
<P><A NAME="multiple_escape"></B><B>multiple escape</A> <I>n.</I>, <I>adj.</I> 1. <I>n.</I> the <A REL=DEFINITION HREF="26_glo_s.htm#syntax_type"></I><I>syntax type</A> of a <A REL=DEFINITION HREF="26_glo_c.htm#character"></I><I>character</A> that is used in pairs to indicate that the enclosed <A REL=DEFINITION HREF="26_glo_c.htm#character"></I><I>characters</A> are to be treated as <A REL=DEFINITION HREF="26_glo_a.htm#alphabetic"></I><I>alphabetic</A>[2] <A REL=DEFINITION HREF="26_glo_c.htm#character"></I><I>characters</A> with their <A REL=DEFINITION HREF="26_glo_c.htm#case"></I><I>case</A> preserved. For details, see <A REL=CHILD HREF="02_ade.htm">Section 2.1.4.5 (Multiple Escape Characters)</A>. 2. <I>adj.</I> (of a <A REL=DEFINITION HREF="26_glo_c.htm#character"></I><I>character</A>) having the <A REL=DEFINITION HREF="#multiple_escape"></I><I>multiple escape</A> <A REL=DEFINITION HREF="26_glo_s.htm#syntax_type"></I><I>syntax type</A>. 3. <I>n.</I> a <A REL=DEFINITION HREF="#multiple_escape"></I><I>multiple escape</A>[2] <A REL=DEFINITION HREF="26_glo_c.htm#character"></I><I>character</A>. (In the <A REL=DEFINITION HREF="26_glo_s.htm#standard_readtable"></I><I>standard readtable</A>, <A REL=DEFINITION HREF="26_glo_v.htm#vertical-bar"></I><I>vertical-bar</A> is a <A REL=DEFINITION HREF="#multiple_escape"></I><I>multiple escape</A> <A REL=DEFINITION HREF="26_glo_c.htm#character"></I><I>character</A>.) <P>
<P><A NAME="multiple_values"></B><B>multiple values</A> <I>n.</I> 1. more than one <A REL=DEFINITION HREF="26_glo_v.htm#value"></I><I>value</A>. ``The function <A REL=DEFINITION HREF="f_floorc.htm#truncate"></B><B>truncate</A> returns multiple values.'' 2. a variable number of <A REL=DEFINITION HREF="26_glo_v.htm#value"></I><I>values</A>, possibly including zero or one. ``The function <A REL=DEFINITION HREF="f_values.htm#values"></B><B>values</A> returns multiple values.'' 3. a fixed number of values other than one. ``The macro <A REL=DEFINITION HREF="m_multip.htm#multiple-value-bind"></B><B>multiple-value-bind</A> is among the few operators in Common Lisp which can detect and manipulate multiple values.'' <P>
<HR>

<A REL=NAVIGATOR HREF="../Front/StartPts.htm"><font color="red"><b>MailScanner has detected a possible fraud attempt from ".." claiming to be</b></font> <IMG WIDTH=80 HEIGHT=40 ALT="[Starting Points]" SRC="../Graphics/StartPts.gif" ALIGN=Bottom></A><A REL=TOC HREF="../Front/Contents.htm"><font color="red"><b>MailScanner has detected a possible fraud attempt from ".." claiming to be</b></font> <IMG WIDTH=80 HEIGHT=40 ALT="[Contents]" SRC="../Graphics/Contents.gif" ALIGN=Bottom></A><A REL=INDEX HREF="../Front/X_Master.htm"><font color="red"><b>MailScanner has detected a possible fraud attempt from ".." claiming to be</b></font> <IMG WIDTH=80 HEIGHT=40 ALT="[Index]" SRC="../Graphics/Index.gif" ALIGN=Bottom></A><A REL=INDEX HREF="../Front/X_Symbol.htm"><font color="red"><b>MailScanner has detected a possible fraud attempt from ".." claiming to be</b></font> <IMG WIDTH=80 HEIGHT=40 ALT="[Symbols]" SRC="../Graphics/Symbols.gif" ALIGN=Bottom></A><A REL=GLOSSARY HREF="../Body/26_a.htm"><font color="red"><b>MailScanner has detected a possible fraud attempt from ".." claiming to be</b></font> <IMG WIDTH=80 HEIGHT=40 ALT="[Glossary]" SRC="../Graphics/Glossary.gif" ALIGN=Bottom></A><A HREF="../Front/X3J13Iss.htm"><font color="red"><b>MailScanner has detected a possible fraud attempt from ".." claiming to be</b></font> <IMG WIDTH=80 HEIGHT=40 ALT="[Issues]" SRC="../Graphics/Issues.gif" ALIGN=Bottom></A><BR>

<A REL=COPYRIGHT HREF="../Front/Help.htm#Legal"></I><font color="red"><b>MailScanner has detected a possible fraud attempt from ".." claiming to be</b></font> <I>Copyright 1996-2005, LispWorks Ltd.  All rights reserved.</A><P>
</BODY>
</HTML>