$ od -c -N 50000 [Erinyes]<LispManual>FnTypes.im!12
0000000   \r  \r  \r   {   B   e   g   i   n       S   u   b   S   e   c
0000020        F   u   n   c   t   i   o   n       T   y   p   e   s   }
0000040   \r   {   T   i   t   l   e       F   u   n   c   t   i   o   n
0000060        T   y   p   e   s   }  \r   {   T   e   x   t  \r  \r   {
0000100    i   n   d   e   x       *   P   R   I   M   A   R   Y   *    
0000120    F   u   n   c   t   i   o   n       t   y   p   e   s   }  \r
0000140   \r   {   T   a   g       F   n   T   y   p   e   s   }  \r  \r
0000160   \r   {   i   n   d   e   x       *   P   R   I   M   A   R   Y
0000200    *       E   x   p   r       d   e   f   i   n   i   t   i   o
0000220    n   s   }  \r   {   i   n   d   e   x       *   P   R   I   M
0000240    A   R   Y   *       A   r   g   u   m   e   n   t       l   i
0000260    s   t   s       o   f       f   u   n   c   t   i   o   n   s
0000300    }  \r   {   i   n   d   e   x       *   P   R   I   M   A   R
0000320    Y   *       F   u   n   c   t   i   o   n       d   e   f   i
0000340    n   i   t   i   o   n   s   }  \r   {   i   n   d   e   x    
0000360    *   P   R   I   M   A   R   Y   *       E   v   a   l   u   a
0000400    t   i   n   g       a   r   g   u   m   e   n   t   s       t
0000420    o       f   u   n   c   t   i   o   n   s   }  \r  \r   I   n
0000440    t   e   r   l   i   s   p       f   u   n   c   t   i   o   n
0000460    s       a   r   e       d   e   f   i   n   e   d       u   s
0000500    i   n   g       l   i   s   t       e   x   p   r   e   s   s
0000520    i   o   n   s       c   a   l   l   e   d       "   e   x   p
0000540    r       d   e   f   i   n   i   t   i   o   n   s   .   "    
0000560        A   n       e   x   p   r       d   e   f   i   n   i   t
0000600    i   o   n       i   s       a       l   i   s   t       o   f
0000620        t   h   e       f   o   r   m       {   l   i   s   p    
0000640    (   {   a   r   g       L   A   M   B   D   A   -   W   O   R
0000660    D   }       {   a   r   g       A   R   G   -   L   I   S   T
0000700    }       {   a   r   g       F   O   R   M   {   s   u   b    
0000720    1   }   }       {   e   l   l   i   p   s   i   s   }       {
0000740    a   r   g       F   O   R   M   {   s   u   b       N   }   }
0000760    )   }   .           {   a   r   g       L   A   M   B   D   A
0001000    -   W   O   R   D   }       d   e   t   e   r   m   i   n   e
0001020    s       w   h   e   t   h   e   r       t   h   e       a   r
0001040    g   u   m   e   n   t   s       t   o       t   h   i   s    
0001060    f   u   n   c   t   i   o   n       w   i   l   l       b   e
0001100        e   v   a   l   u   a   t   e   d       o   r       n   o
0001120    t   ,       {   a   r   g       A   R   G   -   L   I   S   T
0001140    }       d   e   t   e   r   m   i   n   e   s       t   h   e
0001160        n   u   m   b   e   r       a   n   d       n   a   m   e
0001200    s       o   f       a   r   g   u   m   e   n   t   s   ,    
0001220    a   n   d       {   a   r   g       F   O   R   M   {   s   u
0001240    b       1   }   }       {   e   l   l   i   p   s   i   s   }
0001260        {   a   r   g       F   O   R   M   {   s   u   b       N
0001300    }   }       a   r   e       a       s   e   r   i   e   s    
0001320    o   f       f   o   r   m   s       t   o       b   e       e
0001340    v   a   l   u   a   t   e   d       a   f   t   e   r       t
0001360    h   e       a   r   g   u   m   e   n   t   s       a   r   e
0001400        b   o   u   n   d       t   o       t   h   e       l   o
0001420    c   a   l       v   a   r   i   a   b   l   e   s       i   n
0001440        {   a   r   g       A   R   G   -   L   I   S   T   }   .
0001460   \r  \r   I   f       {   a   r   g       L   A   M   B   D   A
0001500    -   W   O   R   D   }       i   s       t   h   e       l   i
0001520    t   a   t   o   m       {   a   t   o   m       L   A   M   B
0001540    D   A   }   ,   {   i   n   d   e   x       *   P   R   I   M
0001560    A   R   Y   *       L   A   M   B   D   A       L   i   t   a
0001600    t   o   m   }       t   h   e   n       t   h   e       a   r
0001620    g   u   m   e   n   t   s       t   o       t   h   e       f
0001640    u   n   c   t   i   o   n       a   r   e       e   v   a   l
0001660    u   a   t   e   d   .           I   f       {   a   r   g    
0001700    L   A   M   B   D   A   -   W   O   R   D   }       i   s    
0001720    t   h   e       l   i   t   a   t   o   m       {   a   t   o
0001740    m       N   L   A   M   B   D   A   }   ,   {   i   n   d   e
0001760    x       *   P   R   I   M   A   R   Y   *       N   L   A   M
0002000    B   D   A       L   i   t   a   t   o   m   }       t   h   e
0002020    n       t   h   e       a   r   g   u   m   e   n   t   s    
0002040    t   o       t   h   e       f   u   n   c   t   i   o   n    
0002060    a   r   e       n   o   t       e   v   a   l   u   a   t   e
0002100    d   .           F   u   n   c   t   i   o   n   s       w   h
0002120    i   c   h       e   v   a   l   u   a   t   e       o   r    
0002140    d   o   n   '   t       e   v   a   l   u   a   t   e       t
0002160    h   e   i   r       a   r   g   u   m   e   n   t   s       a
0002200    r   e       t   h   e   r   e   f   o   r   e       k   n   o
0002220    w   n       a   s       "   l   a   m   b   d   a   "   {   i
0002240    n   d   e   x       *   P   R   I   M   A   R   Y   *       L
0002260    a   m   b   d   a       f   u   n   c   t   i   o   n   s   }
0002300        o   r       "   n   l   a   m   b   d   a   "   {   i   n
0002320    d   e   x       *   P   R   I   M   A   R   Y   *       N   l
0002340    a   m   b   d   a       f   u   n   c   t   i   o   n   s   }
0002360        f   u   n   c   t   i   o   n   s   ,       r   e   s   p
0002400    e   c   t   i   v   e   l   y   .  \r  \r   I   f       {   a
0002420    r   g       A   R   G   -   L   I   S   T   }       i   s    
0002440    {   l   i   s   p       N   I   L   }       o   r       a    
0002460    l   i   s   t       o   f       l   i   t   a   t   o   m   s
0002500    ,       t   h   i   s       i   n   d   i   c   a   t   e   s
0002520        a       f   u   n   c   t   i   o   n       w   i   t   h
0002540        a       f   i   x   e   d       n   u   m   b   e   r    
0002560    o   f       a   r   g   u   m   e   n   t   s   .           E
0002600    a   c   h       l   i   t   a   t   o   m       i   s       t
0002620    h   e       n   a   m   e       o   f       a   n       a   r
0002640    g   u   m   e   n   t       f   o   r       t   h   e       f
0002660    u   n   c   t   i   o   n       d   e   f   i   n   e   d    
0002700    b   y       t   h   i   s       e   x   p   r   e   s   s   i
0002720    o   n   .           T   h   e       p   r   o   c   e   s   s
0002740        o   f       b   i   n   d   i   n   g       t   h   e   s
0002760    e       l   i   t   a   t   o   m   s       t   o       t   h
0003000    e       i   n   d   i   v   i   d   u   a   l       a   r   g
0003020    u   m   e   n   t   s       i   s       c   a   l   l   e   d
0003040        "   s   p   r   e   a   d   i   n   g   "       t   h   e
0003060        a   r   g   u   m   e   n   t   s   ,       a   n   d    
0003100    t   h   e       f   u   n   c   t   i   o   n       i   s    
0003120    c   a   l   l   e   d       a       "   s   p   r   e   a   d
0003140    "       f   u   n   c   t   i   o   n   .   {   i   n   d   e
0003160    x       *   P   R   I   M   A   R   Y   *       S   p   r   e
0003200    a   d       f   u   n   c   t   i   o   n   s   }           I
0003220    f       t   h   e       a   r   g   u   m   e   n   t       l
0003240    i   s   t       i   s       a   n   y       l   i   t   a   t
0003260    o   m       o   t   h   e   r       t   h   a   n       {   l
0003300    i   s   p       N   I   L   }   ,       t   h   i   s       i
0003320    n   d   i   c   a   t   e   s       a       f   u   n   c   t
0003340    i   o   n       w   i   t   h       a       v   a   r   i   a
0003360    b   l   e       n   u   m   b   e   r       o   f       a   r
0003400    g   u   m   e   n   t   s   ,       k   n   o   w   n       a
0003420    s       a       "   n   o   s   p   r   e   a   d   "       f
0003440    u   n   c   t   i   o   n   .   {   i   n   d   e   x       *
0003460    P   R   I   M   A   R   Y   *       N   o   s   p   r   e   a
0003500    d       f   u   n   c   t   i   o   n   s   }  \r  \r   I   f
0003520        {   a   r   g       A   R   G   -   L   I   S   T   }    
0003540    i   s       a   n   y   t   h   i   n   g       o   t   h   e
0003560    r       t   h   a   n       a       l   i   t   a   t   o   m
0003600        o   r       a       l   i   s   t       o   f       l   i
0003620    t   a   t   o   m   s   ,       s   u   c   h       a   s    
0003640    {   l   i   s   p       (   L   A   M   B   D   A       "   F
0003660    O   O   "       {   e   l   l   i   p   s   i   s   }   )   }
0003700    ,       a   t   t   e   m   p   t   i   n   g       t   o    
0003720    u   s   e       t   h   i   s       e   x   p   r       d   e
0003740    f   i   n   i   t   i   o   n       w   i   l   l       g   e
0003760    n   e   r   a   t   e       a   n       {   l   i   s   p    
0004000    A   R   G       N   O   T       L   I   T   A   T   O   M   }
0004020        e   r   r   o   r   .   {   i   n   d   e   x       A   R
0004040    G       N   O   T       L   I   T   A   T   O   M       E   r
0004060    r   o   r   }           I   n       a   d   d   i   t   i   o
0004100    n   ,       i   f       {   l   i   s   p       N   I   L   }
0004120        o   r       {   l   i   s   p       T   }       i   s    
0004140    u   s   e   d       a   s       a   n       a   r   g   u   m
0004160    e   n   t       n   a   m   e   ,       t   h   e       e   r
0004200    r   o   r       {   l   i   s   p       A   T   T   E   M   P
0004220    T       T   O       B   I   N   D       N   I   L       O   R
0004240        T   }       i   s       g   e   n   e   r   a   t   e   d
0004260    .   {   i   n   d   e   x       A   T   T   E   M   P   T    
0004300    T   O       B   I   N   D       N   I   L       O   R       T
0004320        E   r   r   o   r   }  \r  \r  \r   T   h   e   s   e    
0004340    t   w   o       p   a   r   a   m   e   t   e   r   s       (
0004360    l   a   m   b   d   a   /   n   l   a   m   b   d   a       a
0004400    n   d       s   p   r   e   a   d   /   n   o   s   p   r   e
0004420    a   d   )       m   a   y       b   e       s   p   e   c   i
0004440    f   i   e   d       i   n   d   e   p   e   n   d   e   n   t
0004460    l   y   ,       s   o       t   h   e   r   e       a   r   e
0004500        f   o   u   r       m   a   i   n       f   u   n   c   t
0004520    i   o   n       t   y   p   e   s   ,       k   n   o   w   n
0004540        a   s       l   a   m   b   d   a   -   s   p   r   e   a
0004560    d   ,       n   l   a   m   b   d   a   -   s   p   r   e   a
0004600    d   ,       l   a   m   b   d   a   -   n   o   s   p   r   e
0004620    a   d   ,       a   n   d       n   l   a   m   b   d   a   -
0004640    n   o   s   p   r   e   a   d       f   u   n   c   t   i   o
0004660    n   s   .           E   a   c   h       o   n   e       h   a
0004700    s       a       d   i   f   f   e   r   e   n   t       f   o
0004720    r   m   ,       a   n   d       i   s       u   s   e   d    
0004740    f   o   r       a       d   i   f   f   e   r   e   n   t    
0004760    p   u   r   p   o   s   e   .           T   h   e   s   e    
0005000    f   o   u   r       f   u   n   c   t   i   o   n       t   y
0005020    p   e   s       a   r   e       d   e   s   c   r   i   b   e
0005040    d       m   o   r   e       f   u   l   l   y       b   e   l
0005060    o   w   .  \r  \r   N   o   t   e   :           F   o   r    
0005100    l   a   m   b   d   a   -   s   p   r   e   a   d   ,       l
0005120    a   m   b   d   a   -   n   o   s   p   r   e   a   d   ,    
0005140    o   r       n   l   a   m   b   d   a   -   s   p   r   e   a
0005160    d       f   u   n   c   t   i   o   n   s   ,       t   h   e
0005200    r   e       i   s       a   n       u   p   p   e   r       l
0005220    i   m   i   t       t   o       t   h   e       n   u   m   b
0005240    e   r       o   f       a   r   g   u   m   e   n   t   s    
0005260    t   h   a   t       a       f   u   n   c   t   i   o   n    
0005300    c   a   n       h   a   v   e   ,       b   a   s   e   d    
0005320    o   n       t   h   e       n   u   m   b   e   r       o   f
0005340        a   r   g   u   m   e   n   t   s       t   h   a   t    
0005360    c   a   n       b   e       s   t   o   r   e   d       o   n
0005400        t   h   e       s   t   a   c   k       o   n       a   n
0005420    y       o   n   e       f   u   n   c   t   i   o   n       c
0005440    a   l   l   .           C   u   r   r   e   n   t   l   y   ,
0005460        t   h   e       l   i   m   i   t       i   s       8   0
0005500        a   r   g   u   m   e   n   t   s   .           I   f    
0005520    a       f   u   n   c   t   i   o   n       i   s       c   a
0005540    l   l   e   d       w   i   t   h       m   o   r   e       t
0005560    h   a   n       t   h   a   t       m   a   n   y       a   r
0005600    g   u   m   e   n   t   s   ,       t   h   e       e   r   r
0005620    o   r       {   i   n   d   e   x       T   O   O       M   A
0005640    N   Y       A   R   G   U   M   E   N   T   S       E   r   r
0005660    o   r   }   {   l   i   s   p       T   O   O       M   A   N
0005700    Y       A   R   G   U   M   E   N   T   S   }       o   c   c
0005720    u   r   s   .           H   o   w   e   v   e   r   ,       n
0005740    l   a   m   b   d   a   -   n   o   s   p   r   e   a   d    
0005760    f   u   n   c   t   i   o   n   s       c   a   n       b   e
0006000        c   a   l   l   e   d       w   i   t   h       a   n    
0006020    a   r   b   i   t   r   a   r   y       n   u   m   b   e   r
0006040        o   f       a   r   g   u   m   e   n   t   s   ,       s
0006060    i   n   c   e       t   h   e       a   r   g   u   m   e   n
0006100    t   s       a   r   e       n   o   t       i   n   d   i   v
0006120    i   d   u   a   l   l   y       s   a   v   e   d       o   n
0006140        t   h   e       s   t   a   c   k       (   s   e   e    
0006160    {   P   a   g   e   R   e   f       n   l   a   m   b   d   a
0006200    -   n   o   s   p   r   e   a   d       f   u   n   c   t   i
0006220    o   n   s   }   )   .  \r  \r  \r   {   B   e   g   i   n    
0006240    S   u   b   S   e   c       L   a   m   b   d   a   -   S   p
0006260    r   e   a   d       F   u   n   c   t   i   o   n   s   }  \r
0006300    {   T   i   t   l   e       L   a   m   b   d   a   -   S   p
0006320    r   e   a   d       F   u   n   c   t   i   o   n   s   }  \r
0006340    {   T   e   x   t  \r  \r   {   i   n   d   e   x       *   P
0006360    R   I   M   A   R   Y   *       L   a   m   b   d   a   -   s
0006400    p   r   e   a   d       f   u   n   c   t   i   o   n   s   }
0006420   \r  \r   L   a   m   b   d   a   -   s   p   r   e   a   d    
0006440    f   u   n   c   t   i   o   n   s       t   a   k   e       a
0006460        f   i   x   e   d       n   u   m   b   e   r       o   f
0006500        e   v   a   l   u   a   t   e   d       a   r   g   u   m
0006520    e   n   t   s   .           T   h   i   s       i   s       t
0006540    h   e       m   o   s   t       c   o   m   m   o   n       f
0006560    u   n   c   t   i   o   n       t   y   p   e   .           A
0006600        l   a   m   b   d   a   -   s   p   r   e   a   d       e
0006620    x   p   r       d   e   f   i   n   i   t   i   o   n       h
0006640    a   s       t   h   e       f   o   r   m   :  \r  \r   {   l
0006660    i   s   p   c   o   d   e       (   L   A   M   B   D   A    
0006700    (   {   a   r   g       A   R   G   {   s   u   b       1   }
0006720    }       {   e   l   l   i   p   s   i   s   }       {   a   r
0006740    g       A   R   G   {   s   u   b       M   }   }   )       {
0006760    a   r   g       F   O   R   M   {   s   u   b       1   }   }
0007000        {   e   l   l   i   p   s   i   s   }       {   a   r   g
0007020        F   O   R   M   {   s   u   b       N   }   }   )   }  \r
0007040   \r   T   h   e       a   r   g   u   m   e   n   t       l   i
0007060    s   t       {   l   i   s   p       (   {   a   r   g       A
0007100    R   G   {   s   u   b       1   }   }       {   e   l   l   i
0007120    p   s   i   s   }       {   a   r   g       A   R   G   {   s
0007140    u   b       M   }   }   )   }       i   s       a       l   i
0007160    s   t       o   f       l   i   t   a   t   o   m   s       t
0007200    h   a   t       g   i   v   e   s       t   h   e       n   u
0007220    m   b   e   r       a   n   d       n   a   m   e   s       o
0007240    f       t   h   e       f   o   r   m   a   l       a   r   g
0007260    u   m   e   n   t   s       t   o       t   h   e       f   u
0007300    n   c   t   i   o   n   .           I   f       t   h   e    
0007320    a   r   g   u   m   e   n   t       l   i   s   t       i   s
0007340        {   l   i   s   p       (   )   }       o   r       {   a
0007360    t   o   m       N   I   L   }   ,       t   h   i   s       i
0007400    n   d   i   c   a   t   e   s       t   h   a   t       t   h
0007420    e       f   u   n   c   t   i   o   n       t   a   k   e   s
0007440        n   o       a   r   g   u   m   e   n   t   s   .        
0007460    W   h   e   n       a       l   a   m   b   d   a   -   s   p
0007500    r   e   a   d       f   u   n   c   t   i   o   n       i   s
0007520        a   p   p   l   i   e   d       t   o       s   o   m   e
0007540        a   r   g   u   m   e   n   t   s   ,       t   h   e    
0007560    a   r   g   u   m   e   n   t   s       a   r   e       e   v
0007600    a   l   u   a   t   e   d   ,       a   n   d       b   o   u
0007620    n   d       t   o       t   h   e       l   o   c   a   l    
0007640    v   a   r   i   a   b   l   e   s       {   a   r   g       A
0007660    R   G   {   s   u   b       1   }   }       {   e   l   l   i
0007700    p   s   i   s   }       {   a   r   g       A   R   G   {   s
0007720    u   b       M   }   }   .           T   h   e   n   ,       {
0007740    a   r   g       F   O   R   M   {   s   u   b       1   }   }
0007760        {   e   l   l   i   p   s   i   s   }       {   a   r   g
0010000        F   O   R   M   {   s   u   b       N   }   }       a   r
0010020    e       e   v   a   l   u   a   t   e   d       i   n       o
0010040    r   d   e   r   ,       a   n   d       t   h   e       v   a
0010060    l   u   e       o   f       t   h   e       f   u   n   c   t
0010100    i   o   n       i   s       t   h   e       v   a   l   u   e
0010120        o   f       {   a   r   g       F   O   R   M   {   s   u
0010140    b       N   }   }   .  \r  \r  \r   {   l   i   s   p   c   o
0010160    d   e  \r   _       (   D   E   F   I   N   E   Q       (   F
0010200    O   O       (   L   A   M   B   D   A       (   X       Y   )
0010220        (   L   I   S   T       X       Y   )   )   )   )  \r   (
0010240    F   O   O   )  \r   _       (   F   O   O       9   9       (
0010260    P   L   U   S       3       4   )   )  \r   (   9   9       7
0010300    )   }  \r  \r   I   n       t   h   e       a   b   o   v   e
0010320        e   x   a   m   p   l   e   ,       t   h   e       f   u
0010340    n   c   t   i   o   n       {   l   i   s   p       F   O   O
0010360    }       d   e   f   i   n   e   d       b   y       {   l   i
0010400    s   p       (   L   A   M   B   D   A       (   X       Y   )
0010420        (   L   I   S   T       X       Y   )   )   }       i   s
0010440        a   p   p   l   i   e   d       t   o       t   h   e    
0010460    a   r   g   u   m   e   n   t   s       {   l   i   s   p    
0010500    9   9   }       a   n   d       {   l   i   s   p       (   P
0010520    L   U   S       3       4   )   }   ,       t   h   e   s   e
0010540        a   r   g   u   m   e   n   t   s       a   r   e       e
0010560    v   a   l   u   a   t   e   d       (   g   i   v   i   n   g
0010600        9   9       a   n   d       7   )   ,       t   h   e    
0010620    l   o   c   a   l       v   a   r   i   a   b   l   e       {
0010640    l   i   s   p       X   }       i   s       b   o   u   n   d
0010660        t   o       9   9       a   n   d       {   l   i   s   p
0010700        Y   }       t   o       7   ,       {   l   i   s   p    
0010720    (   L   I   S   T       X       Y   )   }       i   s       e
0010740    v   a   l   u   a   t   e   d   ,       r   e   t   u   r   n
0010760    i   n   g       {   l   i   s   p       (   9   9       7   )
0011000    }   ,       a   n   d       t   h   i   s       i   s       r
0011020    e   t   u   r   n   e   d       a   s       t   h   e       v
0011040    a   l   u   e       o   f       t   h   e       f   u   n   c
0011060    t   i   o   n   .  \r  \r  \r   A       s   t   a   n   d   a
0011100    r   d       f   e   a   t   u   r   e       o   f       t   h
0011120    e       I   n   t   e   r   l   i   s   p       s   y   s   t
0011140    e   m       i   s       t   h   a   t       n   o       e   r
0011160    r   o   r       o   c   c   u   r   s       i   f       a    
0011200    s   p   r   e   a   d       f   u   n   c   t   i   o   n    
0011220    i   s       c   a   l   l   e   d       w   i   t   h       t
0011240    o   o       m   a   n   y       o   r       t   o   o       f
0011260    e   w       a   r   g   u   m   e   n   t   s   .           I
0011300    f       a       f   u   n   c   t   i   o   n       i   s    
0011320    c   a   l   l   e   d       w   i   t   h       t   o   o    
0011340    m   a   n   y       a   r   g   u   m   e   n   t   s   ,    
0011360    t   h   e       e   x   t   r   a       a   r   g   u   m   e
0011400    n   t   s       a   r   e       e   v   a   l   u   a   t   e
0011420    d       b   u   t       i   g   n   o   r   e   d   .        
0011440    I   f       a       f   u   n   c   t   i   o   n       i   s
0011460        c   a   l   l   e   d       w   i   t   h       t   o   o
0011500        f   e   w       a   r   g   u   m   e   n   t   s   ,    
0011520    t   h   e       u   n   s   u   p   p   l   i   e   d       o
0011540    n   e   s       w   i   l   l       b   e       d   e   l   i
0011560    v   e   r   e   d       a   s       {   l   i   s   p       N
0011600    I   L   }   .           I   n       f   a   c   t   ,       a
0011620        s   p   r   e   a   d       f   u   n   c   t   i   o   n
0011640        c   a   n   n   o   t       d   i   s   t   i   n   g   u
0011660    i   s   h       b   e   t   w   e   e   n       b   e   i   n
0011700    g       g   i   v   e   n       {   l   i   s   p       N   I
0011720    L   }       a   s       a   n       a   r   g   u   m   e   n
0011740    t   ,       a   n   d       n   o   t       b   e   i   n   g
0011760        g   i   v   e   n       t   h   a   t       a   r   g   u
0012000    m   e   n   t   ,       e   .   g   .   ,       {   l   i   s
0012020    p       (   F   O   O   )   }       a   n   d       {   l   i
0012040    s   p       (   F   O   O       N   I   L   )   }       a   r
0012060    e       {   i   t       e   x   a   c   t   l   y   }       t
0012100    h   e       s   a   m   e       f   o   r       s   p   r   e
0012120    a   d       f   u   n   c   t   i   o   n   s   .           I
0012140    f       i   t       i   s       n   e   c   e   s   s   a   r
0012160    y       t   o       d   i   s   t   i   n   g   u   i   s   h
0012200        b   e   t   w   e   e   n       t   h   e   s   e       t
0012220    w   o       c   a   s   e   s   ,       u   s   e       a   n
0012240        n   l   a   m   b   d   a       f   u   n   c   t   i   o
0012260    n       a   n   d       e   x   p   l   i   c   i   t   l   y
0012300        e   v   a   l   u   a   t   e       t   h   e       a   r
0012320    g   u   m   e   n   t   s       w   i   t   h       t   h   e
0012340        {   f   n       E   V   A   L   }       f   u   n   c   t
0012360    i   o   n       (   {   P   a   g   e   R   e   f       F   n
0012400        E   V   A   L   }   )   .  \r  \r  \r   }   {   E   n   d
0012420        S   u   b   S   e   c       L   a   m   b   d   a   -   S
0012440    p   r   e   a   d       F   u   n   c   t   i   o   n   s   }
0012460   \r  \r  \r  \r   {   B   e   g   i   n       S   u   b   S   e
0012500    c       N   l   a   m   b   d   a   -   S   p   r   e   a   d
0012520        F   u   n   c   t   i   o   n   s   }  \r   {   T   i   t
0012540    l   e       N   l   a   m   b   d   a   -   S   p   r   e   a
0012560    d       F   u   n   c   t   i   o   n   s   }  \r   {   T   e
0012600    x   t  \r  \r   {   i   n   d   e   x       *   P   R   I   M
0012620    A   R   Y   *       N   l   a   m   b   d   a   -   s   p   r
0012640    e   a   d       f   u   n   c   t   i   o   n   s   }  \r  \r
0012660    N   l   a   m   b   d   a   -   s   p   r   e   a   d       f
0012700    u   n   c   t   i   o   n   s       t   a   k   e       a    
0012720    f   i   x   e   d       n   u   m   b   e   r       o   f    
0012740    u   n   e   v   a   l   u   a   t   e   d       a   r   g   u
0012760    m   e   n   t   s   .           A   n       n   l   a   m   b
0013000    d   a   -   s   p   r   e   a   d       e   x   p   r       d
0013020    e   f   i   n   i   t   i   o   n       h   a   s       t   h
0013040    e       f   o   r   m   :  \r  \r   {   l   i   s   p   c   o
0013060    d   e       (   N   L   A   M   B   D   A       (   {   a   r
0013100    g       A   R   G   {   s   u   b       1   }   }       {   e
0013120    l   l   i   p   s   i   s   }       {   a   r   g       A   R
0013140    G   {   s   u   b       M   }   }   )       {   a   r   g    
0013160    F   O   R   M   {   s   u   b       1   }   }       {   e   l
0013200    l   i   p   s   i   s   }       {   a   r   g       F   O   R
0013220    M   {   s   u   b       N   }   }   )   }  \r  \r   N   l   a
0013240    m   b   d   a   -   s   p   r   e   a   d       f   u   n   c
0013260    t   i   o   n   s       a   r   e       e   v   a   l   u   a
0013300    t   e   d       s   i   m   i   l   a   r   l   y       t   o
0013320        l   a   m   b   d   a   -   s   p   r   e   a   d       f
0013340    u   n   c   t   i   o   n   s   ,       e   x   c   e   p   t
0013360        t   h   a   t       t   h   e       a   r   g   u   m   e
0013400    n   t   s       a   r   e       n   o   t       e   v   a   l
0013420    u   a   t   e   d       b   e   f   o   r   e       b   e   i
0013440    n   g       b   o   u   n   d       t   o       t   h   e    
0013460    v   a   r   i   a   b   l   e   s       {   a   r   g       A
0013500    R   G   {   s   u   b       1   }   }       {   e   l   l   i
0013520    p   s   i   s   }       {   a   r   g       A   R   G   {   s
0013540    u   b       M   }   }   .  \r  \r   {   l   i   s   p   c   o
0013560    d   e  \r   _       (   D   E   F   I   N   E   Q       (   F
0013600    O   O       (   N   L   A   M   B   D   A       (   X       Y
0013620    )       (   L   I   S   T       X       Y   )   )   )       )
0013640   \r   (   F   O   O   )  \r   _       (   F   O   O       9   9
0013660        (   P   L   U   S       3       4   )   )  \r   (   9   9
0013700        (   P   L   U   S       3       4   )   )   }  \r  \r   I
0013720    n       t   h   e       a   b   o   v   e       e   x   a   m
0013740    p   l   e   ,       t   h   e       f   u   n   c   t   i   o
0013760    n       {   l   i   s   p       F   O   O   }       d   e   f
0014000    i   n   e   d       b   y       {   l   i   s   p       (   N
0014020    L   A   M   B   D   A       (   X       Y   )       (   L   I
0014040    S   T       X       Y   )   )   }       i   s       a   p   p
0014060    l   i   e   d       t   o       t   h   e       a   r   g   u
0014100    m   e   n   t   s       {   l   i   s   p       9   9   }    
0014120    a   n   d       {   l   i   s   p       (   P   L   U   S    
0014140    3       4   )   }   ,       t   h   e   s   e       a   r   g
0014160    u   m   e   n   t   s       a   r   e       b   o   u   n   d
0014200        u   n   e   v   a   l   u   a   t   e   d       t   o    
0014220    {   l   i   s   p       X   }       a   n   d       {   l   i
0014240    s   p       Y   }   ,       {   l   i   s   p       (   L   I
0014260    S   T       X       Y   )   }       i   s       e   v   a   l
0014300    u   a   t   e   d   ,       r   e   t   u   r   n   i   n   g
0014320        {   l   i   s   p       (   9   9       (   P   L   U   S
0014340        3       4   )   )   }   ,       a   n   d       t   h   i
0014360    s       i   s       r   e   t   u   r   n   e   d       a   s
0014400        t   h   e       v   a   l   u   e       o   f       t   h
0014420    e       f   u   n   c   t   i   o   n   .  \r  \r   N   o   t
0014440    e   :           F   u   n   c   t   i   o   n   s       c   a
0014460    n       b   e       d   e   f   i   n   e   d       s   o    
0014500    t   h   a   t       a   l   l       o   f       t   h   e   i
0014520    r       a   r   g   u   m   e   n   t   s       a   r   e    
0014540    e   v   a   l   u   a   t   e   d       (   l   a   m   b   d
0014560    a       f   u   n   c   t   i   o   n   s   )       o   r    
0014600    n   o   n   e       a   r   e       e   v   a   l   u   a   t
0014620    e   d       (   n   l   a   m   b   d   a       f   u   n   c
0014640    t   i   o   n   s   )   .           I   f       i   t       i
0014660    s       d   e   s   i   r   a   b   l   e       t   o       w
0014700    r   i   t   e       a       f   u   n   c   t   i   o   n    
0014720    w   h   i   c   h       o   n   l   y       e   v   a   l   u
0014740    a   t   e   s       {   i   t       s   o   m   e   }       o
0014760    f       i   t   s       a   r   g   u   m   e   n   t   s    
0015000    (   e   .   g   .       {   f   n       S   E   T   Q   }   )
0015020    ,       t   h   e       f   u   n   c   t   i   o   n       s
0015040    h   o   u   l   d       b   e       d   e   f   i   n   e   d
0015060        a   s       a   n       n   l   a   m   b   d   a   ,    
0015100    w   i   t   h       s   o   m   e       a   r   g   u   m   e
0015120    n   t   s       e   x   p   l   i   c   i   t   l   y       e
0015140    v   a   l   u   a   t   e   d       u   s   i   n   g       t
0015160    h   e       f   u   n   c   t   i   o   n       {   f   n    
0015200    E   V   A   L   }       (   {   P   a   g   e   R   e   f    
0015220    F   n       E   V   A   L   }   )   .           I   f       t
0015240    h   i   s       i   s       d   o   n   e   ,       t   h   e
0015260        u   s   e   r       s   h   o   u   l   d       p   u   t
0015300        t   h   e       l   i   t   a   t   o   m       {   l   i
0015320    s   p       E   V   A   L   }       o   n       t   h   e    
0015340    p   r   o   p   e   r   t   y       l   i   s   t       o   f
0015360        t   h   e       f   u   n   c   t   i   o   n       u   n
0015400    d   e   r       t   h   e       p   r   o   p   e   r   t   y
0015420        {   p   r   o   p       I   N   F   O   }   .   {   i   n
0015440    d   e   x       I   N   F   O       P   r   o   p   }        
0015460    T   h   i   s       i   n   f   o   r   m   s       v   a   r
0015500    i   o   u   s       s   y   s   t   e   m       p   a   c   k
0015520    a   g   e   s       s   u   c   h       a   s       D   W   I
0015540    M   ,       C   L   I   S   P   ,       a   n   d       M   a
0015560    s   t   e   r   s   c   o   p   e       t   h   a   t       t
0015600    h   i   s       f   u   n   c   t   i   o   n       i   n    
0015620    f   a   c   t       {   i   t       d   o   e   s   }       e
0015640    v   a   l   u   a   t   e       i   t   s       a   r   g   u
0015660    m   e   n   t   s   ,       e   v   e   n       t   h   o   u
0015700    g   h       i   t       i   s       a   n       n   l   a   m
0015720    b   d   a   .  \r  \r   {   i   n   d   e   x       *   P   R
0015740    I   M   A   R   Y   *       E   v   a   l   u   a   t   i   n
0015760    g       n   l   a   m   b   d   a       a   r   g   u   m   e
0016000    n   t   s   }  \r  \r   W   a   r   n   i   n   g   :        
0016020    A       f   r   e   q   u   e   n   t       p   r   o   b   l
0016040    e   m       t   h   a   t       o   c   c   u   r   s       w
0016060    h   e   n       e   v   a   l   u   a   t   i   n   g       a
0016100    r   g   u   m   e   n   t   s       t   o       n   l   a   m
0016120    b   d   a       f   u   n   c   t   i   o   n   s       w   i
0016140    t   h       {   f   n       E   V   A   L   }       (   {   P
0016160    a   g   e   R   e   f       F   n       E   V   A   L   }   )
0016200        i   s       t   h   a   t       t   h   e       f   o   r
0016220    m       b   e   i   n   g       e   v   a   l   u   a   t   e
0016240    d       m   a   y       r   e   f   e   r   e   n   c   e    
0016260    v   a   r   i   a   b   l   e   s       t   h   a   t       a
0016300    r   e       n   o   t       a   c   c   e   s   s   a   b   l
0016320    e       w   i   t   h   i   n       t   h   e       n   l   a
0016340    m   b   d   a       f   u   n   c   t   i   o   n   .        
0016360    T   h   i   s       i   s       u   s   u   a   l   l   y    
0016400    n   o   t       a       p   r   o   b   l   e   m       w   h
0016420    e   n       i   n   t   e   r   p   r   e   t   i   n   g    
0016440    c   o   d   e   ,       b   u   t       w   h   e   n       t
0016460    h   e       c   o   d   e       i   s       c   o   m   p   i
0016500    l   e   d   ,       t   h   e       v   a   l   u   e   s    
0016520    o   f       "   l   o   c   a   l   "       v   a   r   i   a
0016540    b   l   e   s       m   a   y       n   o   t       b   e    
0016560    a   c   c   e   s   s   a   b   l   e       o   n       t   h
0016600    e       s   t   a   c   k       (   s   e   e       {   P   a
0016620    g   e   R   e   f       T   e   r   m       L   o   c   a   l
0016640    v   a   r   s   }   )   .           T   h   e       s   y   s
0016660    t   e   m       n   l   a   m   b   d   a       f   u   n   c
0016700    t   i   o   n   s       t   h   a   t       e   v   a   l   u
0016720    a   t   e       t   h   e   i   r       a   r   g   u   m   e
0016740    n   t   s       (   s   u   c   h       a   s       {   f   n
0016760        S   E   T   Q   }   )       a   r   e       e   x   p   a
0017000    n   d   e   d       i   n   -   l   i   n   e       b   y    
0017020    t   h   e       c   o   m   p   i   l   e   r   ,       s   o
0017040        t   h   i   s       i   s       n   o   t       a       p
0017060    r   o   b   l   e   m   .           U   s   i   n   g       t
0017100    h   e       m   a   c   r   o       f   a   c   i   l   i   t
0017120    y       (   {   P   a   g   e   R   e   f       T   a   g    
0017140    M   a   c   r   o   s   }   )       i   s       r   e   c   o
0017160    m   m   e   n   d   e   d       i   n       c   a   s   e   s
0017200        w   h   e   r   e       i   t       i   s       n   e   c
0017220    e   s   s   a   r   y       t   o       e   v   a   l   u   a
0017240    t   e       s   o   m   e       a   r   g   u   m   e   n   t
0017260    s       t   o       a   n       n   l   a   m   b   d   a    
0017300    f   u   n   c   t   i   o   n   .  \r  \r   }   {   E   n   d
0017320        S   u   b   S   e   c       N   l   a   m   b   d   a   -
0017340    S   p   r   e   a   d       F   u   n   c   t   i   o   n   s
0017360    }  \r  \r  \r  \r   {   B   e   g   i   n       S   u   b   S
0017400    e   c       L   a   m   b   d   a   -   N   o   s   p   r   e
0017420    a   d       F   u   n   c   t   i   o   n   s   }  \r   {   T
0017440    i   t   l   e       L   a   m   b   d   a   -   N   o   s   p
0017460    r   e   a   d       F   u   n   c   t   i   o   n   s   }  \r
0017500    {   T   e   x   t  \r  \r   {   i   n   d   e   x       *   P
0017520    R   I   M   A   R   Y   *       L   a   m   b   d   a   -   n
0017540    o   s   p   r   e   a   d       f   u   n   c   t   i   o   n
0017560    s   }  \r  \r   L   a   m   b   d   a   -   n   o   s   p   r
0017600    e   a   d       f   u   n   c   t   i   o   n   s       t   a
0017620    k   e       a       v   a   r   i   a   b   l   e       n   u
0017640    m   b   e   r       o   f       e   v   a   l   u   a   t   e
0017660    d       a   r   g   u   m   e   n   t   s   .           A    
0017700    l   a   m   b   d   a   -   n   o   s   p   r   e   a   d    
0017720    e   x   p   r       d   e   f   i   n   i   t   i   o   n    
0017740    h   a   s       t   h   e       f   o   r   m   :  \r  \r   {
0017760    l   i   s   p   c   o   d   e       (   L   A   M   B   D   A
0020000        {   a   r   g       V   A   R   }       {   a   r   g    
0020020    F   O   R   M   {   s   u   b       1   }   }       {   e   l
0020040    l   i   p   s   i   s   }       {   a   r   g       F   O   R
0020060    M   {   s   u   b       N   }   }   )   }  \r  \r   {   a   r
0020100    g       V   A   R   }       m   a   y       b   e       a   n
0020120    y       l   i   t   a   t   o   m   ,       e   x   c   e   p
0020140    t       {   a   t   o   m       N   I   L   }       a   n   d
0020160        {   a   t   o   m       T   }   .           W   h   e   n
0020200        a       l   a   m   b   d   a   -   n   o   s   p   r   e
0020220    a   d       f   u   n   c   t   i   o   n       i   s       a
0020240    p   p   l   i   e   d       t   o       s   o   m   e       a
0020260    r   g   u   m   e   n   t   s   ,       e   a   c   h       o
0020300    f       t   h   e   s   e       a   r   g   u   m   e   n   t
0020320    s       i   s       e   v   a   l   u   a   t   e   d       a
0020340    n   d       t   h   e       v   a   l   u   e   s       s   t
0020360    o   r   e   d       o   n       t   h   e       s   t   a   c
0020400    k   .           {   a   r   g       V   A   R   }       i   s
0020420        t   h   e   n       b   o   u   n   d       t   o       t
0020440    h   e       {   i   t       n   u   m   b   e   r   }       o
0020460    f       a   r   g   u   m   e   n   t   s       w   h   i   c
0020500    h       h   a   v   e       b   e   e   n       e   v   a   l
0020520    u   a   t   e   d   .           F   o   r       e   x   a   m
0020540    p   l   e   ,       i   f       {   l   i   s   p       F   O
0020560    O   }       i   s       d   e   f   i   n   e   d       b   y
0020600        {   l   i   s   p       (   L   A   M   B   D   A       X
0020620        {   e   l   l   i   p   s   i   s   }   )   }   ,       w
0020640    h   e   n       {   l   i   s   p       (   F   O   O       A
0020660        B       C   )   }       i   s       e   v   a   l   u   a
0020700    t   e   d   ,       {   l   i   s   p       A   }   ,       {
0020720    l   i   s   p       B   }   ,       a   n   d       {   l   i
0020740    s   p       C   }       a   r   e       e   v   a   l   u   a
0020760    t   e   d       a   n   d       {   l   i   s   p       X   }
0021000        i   s       b   o   u   n   d       t   o       3   .    
0021020        {   a   r   g       V   A   R   }       s   h   o   u   l
0021040    d       {   i   t       n   e   v   e   r   }       b   e    
0021060    r   e   s   e   t   .  \r  \r   T   h   e       f   o   l   l
0021100    o   w   i   n   g       f   u   n   c   t   i   o   n   s    
0021120    a   r   e       u   s   e   d       f   o   r       a   c   c
0021140    e   s   s   i   n   g       t   h   e       a   r   g   u   m
0021160    e   n   t   s       o   f       l   a   m   b   d   a   -   n
0021200    o   s   p   r   e   a   d       f   u   n   c   t   i   o   n
0021220    s   :  \r  \r  \r   {   F   n   D   e   f       {   F   n   N
0021240    a   m   e       A   R   G   }       {   F   n   A   r   g   s
0021260        V   A   R       M   }  \r   {   T   y   p   e       N   L
0021300    A   M   B   D   A   }  \r   {   T   e   x   t  \r   R   e   t
0021320    u   r   n   s       t   h   e       {   a   r   g       M   }
0021340    t   h       a   r   g   u   m   e   n   t       f   o   r    
0021360    t   h   e       l   a   m   b   d   a   -   n   o   s   p   r
0021400    e   a   d       f   u   n   c   t   i   o   n       w   h   o
0021420    s   e       a   r   g   u   m   e   n   t       l   i   s   t
0021440        i   s       {   a   r   g       V   A   R   }   .        
0021460    {   a   r   g       V   A   R   }       i   s       t   h   e
0021500        {   i   t       n   a   m   e   }       o   f       t   h
0021520    e       a   t   o   m   i   c       a   r   g   u   m   e   n
0021540    t       l   i   s   t       t   o       a       l   a   m   b
0021560    d   a   -   n   o   s   p   r   e   a   d       f   u   n   c
0021600    t   i   o   n   ,       a   n   d       i   s       n   o   t
0021620        e   v   a   l   u   a   t   e   d   ;       {   a   r   g
0021640        M   }       i   s       t   h   e       n   u   m   b   e
0021660    r       o   f       t   h   e       d   e   s   i   r   e   d
0021700        a   r   g   u   m   e   n   t   ,       a   n   d       i
0021720    s       e   v   a   l   u   a   t   e   d   .           T   h
0021740    e       v   a   l   u   e       o   f       {   i   n   d   e
0021760    x       A   R   G       F   N   }   {   f   n       A   R   G
0022000    }       i   s       u   n   d   e   f   i   n   e   d       f
0022020    o   r       {   a   r   g       M   }       l   e   s   s    
0022040    t   h   a   n       o   r       e   q   u   a   l       t   o
0022060        0       o   r       g   r   e   a   t   e   r       t   h
0022100    a   n       t   h   e       {   i   t       v   a   l   u   e
0022120    }       o   f       {   a   r   g       V   A   R   }   .  \r
0022140   \r   {   n   o   t   e       {   f   n       A   R   G   }    
0022160    c   o   m   p   i   l   e   s       o   p   e   n       i   f
0022200        {   a   r   g       V   A   R   }       i   s       b   o
0022220    u   n   d       l   o   c   a   l   l   y       i   n       t
0022240    h   e       f   u   n   c   t   i   o   n       i   n       w
0022260    h   i   c   h       t   h   e       c   a   l   l       t   o
0022300        {   f   n       A   R   G   }       a   p   p   e   a   r
0022320    s   .           O   t   h   e   r   w   i   s   e   ,       {
0022340    f   n       A   R   G   }       c   o   m   p   i   l   e   s
0022360        c   l   o   s   e   d       a   n   d       e   v   a   l
0022400    u   a   t   e   s       i   t   s       f   i   r   s   t    
0022420    a   r   g   u   m   e   n   t       o   n       e   a   c   h
0022440        c   a   l   l   .           N   o   t   e       t   h   a
0022460    t       t   h   i   s       m   e   a   n   s       t   h   a
0022500    t       t   h   e       v   a   l   u   e       o   f       {
0022520    a   r   g       V   A   R   }       m   u   s   t       b   e
0022540        a       {   l   i   s   p       S   P   E   C   V   A   R
0022560    }   .           <   <   <   a   l   w   a   y   s   ?       O
0022600    r       j   u   s   t       w   h   e   n       y   o   u    
0022620    w   a   n   t       t   o       u   s   e       i   t       f
0022640    r   o   m       a       f   u   n   c   t   i   o   n       c
0022660    a   l   l   e   d       f   r   o   m       a       l   a   m
0022700    b   d   a   -   n   o   s   p   r   e   a   d   ?   >   >   >
0022720    }  \r   }   }  \r  \r  \r   {   F   n   D   e   f       {   F
0022740    n   N   a   m   e       S   E   T   A   R   G   }       {   F
0022760    n   A   r   g   s       V   A   R       M       X   }  \r   {
0023000    T   y   p   e       N   L   A   M   B   D   A   }  \r   {   T
0023020    e   x   t  \r   S   e   t   s       t   h   e       {   a   r
0023040    g       M   }   t   h       a   r   g   u   m   e   n   t    
0023060    f   o   r       t   h   e       l   a   m   b   d   a   -   n
0023100    o   s   p   r   e   a   d       f   u   n   c   t   i   o   n
0023120        w   h   o   s   e       a   r   g   u   m   e   n   t    
0023140    l   i   s   t       i   s       {   a   r   g       V   A   R
0023160    }       t   o       {   a   r   g       X   }   .           {
0023200    a   r   g       V   A   R   }       i   s       n   o   t    
0023220    e   v   a   l   u   a   t   e   d   ;       {   a   r   g    
0023240    M   }       a   n   d       {   a   r   g       X   }       a
0023260    r   e       e   v   a   l   u   a   t   e   d   .           {
0023300    a   r   g       M   }       s   h   o   u   l   d       b   e
0023320        b   e   t   w   e   e   n       1       a   n   d       t
0023340    h   e       v   a   l   u   e       o   f       {   a   r   g
0023360        V   A   R   }   .  \r   }   }  \r  \r  \r   I   n       t
0023400    h   e       e   x   a   m   p   l   e       b   e   l   o   w
0023420    ,       t   h   e       f   u   n   c   t   i   o   n       {
0023440    l   i   s   p       F   O   O   }       i   s       d   e   f
0023460    i   n   e   d       t   o       c   o   l   l   e   c   t    
0023500    a   n   d       r   e   t   u   r   n       a       l   i   s
0023520    t       o   f       a   l   l       o   f       t   h   e    
0023540    e   v   a   l   u   a   t   e   d       a   r   g   u   m   e
0023560    n   t   s       i   t       i   s       g   i   v   e   n    
0023600    (   t   h   e       v   a   l   u   e       o   f       t   h
0023620    e       {   l   i   s   p       f   o   r   }       s   t   a
0023640    t   e   m   e   n   t   )   .  \r  \r   {   l   i   s   p   c
0023660    o   d   e  \r   _       (   D   E   F   I   N   E   Q       (
0023700    F   O   O  \r                                                
0023720        (   L   A   M   B   D   A       X  \r                    
0023740                                                (   f   o   r    
0023760    A   R   G   N   U   M       f   r   o   m       1       t   o
0024000        X       c   o   l   l   e   c   t       (   A   R   G    
0024020    X       A   R   G   N   U   M   )   ]  \r   (   F   O   O   )
0024040   \r   _       (   F   O   O       9   9       (   P   L   U   S
0024060        3       4   )   )  \r   (   9   9       7   )  \r   _    
0024100    (   F   O   O       9   9       (   P   L   U   S       3    
0024120    4   )       (   T   I   M   E   S       3       4   )   )  \r
0024140    (   9   9       7       1   2   )   }  \r  \r  \r  \r   }   {
0024160    E   n   d       S   u   b   S   e   c       L   a   m   b   d
0024200    a   -   N   o   s   p   r   e   a   d       F   u   n   c   t
0024220    i   o   n   s   }  \r  \r  \r  \r   {   B   e   g   i   n    
0024240    S   u   b   S   e   c       N   l   a   m   b   d   a   -   N
0024260    o   s   p   r   e   a   d       F   u   n   c   t   i   o   n
0024300    s   }  \r   {   T   i   t   l   e       N   l   a   m   b   d
0024320    a   -   N   o   s   p   r   e   a   d       F   u   n   c   t
0024340    i   o   n   s   }  \r   {   T   e   x   t  \r  \r   {   i   n
0024360    d   e   x       *   P   R   I   M   A   R   Y   *       N   l
0024400    a   m   b   d   a   -   n   o   s   p   r   e   a   d       f
0024420    u   n   c   t   i   o   n   s   }  \r  \r   N   l   a   m   b
0024440    d   a   -   n   o   s   p   r   e   a   d       f   u   n   c
0024460    t   i   o   n   s       t   a   k   e       a       v   a   r
0024500    i   a   b   l   e       n   u   m   b   e   r       o   f    
0024520    u   n   e   v   a   l   u   a   t   e   d       a   r   g   u
0024540    m   e   n   t   s   .           A   n       n   l   a   m   b
0024560    d   a   -   n   o   s   p   r   e   a   d       e   x   p   r
0024600        d   e   f   i   n   i   t   i   o   n       h   a   s    
0024620    t   h   e       f   o   r   m   :  \r  \r   {   l   i   s   p
0024640    c   o   d   e       (   N   L   A   M   B   D   A       {   a
0024660    r   g       V   A   R   }       {   a   r   g       F   O   R
0024700    M   {   s   u   b       1   }   }       {   e   l   l   i   p
0024720    s   i   s   }       {   a   r   g       F   O   R   M   {   s
0024740    u   b       N   }   }   )   }  \r  \r   {   a   r   g       V
0024760    A   R   }       m   a   y       b   e       a   n   y       l
0025000    i   t   a   t   o   m   ,       e   x   c   e   p   t       {
0025020    a   t   o   m       N   I   L   }       a   n   d       {   a
0025040    t   o   m       T   }   .           T   h   o   u   g   h    
0025060    s   i   m   i   l   a   r       i   n       f   o   r   m    
0025100    t   o       l   a   m   b   d   a   -   n   o   s   p   r   e
0025120    a   d       e   x   p   r       d   e   f   i   n   i   t   i
0025140    o   n   s   ,       a   n       n   l   a   m   b   d   a   -
0025160    n   o   s   p   r   e   a   d       i   s       e   v   a   l
0025200    u   a   t   e   d       q   u   i   t   e       d   i   f   f
0025220    e   r   e   n   t   l   y   .           W   h   e   n       a
0025240    n       n   l   a   m   b   d   a   -   n   o   s   p   r   e
0025260    a   d       f   u   n   c   t   i   o   n       i   s       a
0025300    p   p   l   i   e   d       t   o       s   o   m   e       a
0025320    r   g   u   m   e   n   t   s   ,       {   a   r   g       V
0025340    A   R   }       i   s       s   i   m   p   l   y       b   o
0025360    u   n   d       t   o       a       l   i   s   t       o   f
0025400        t   h   e       u   n   e   v   a   l   u   a   t   e   d
0025420        a   r   g   u   m   e   n   t   s   .           T   h   e
0025440        u   s   e   r       m   a   y       p   i   c   k       a
0025460    p   a   r   t       t   h   i   s       l   i   s   t   ,    
0025500    a   n   d       e   v   a   l   u   a   t   e       d   i   f
0025520    f   e   r   e   n   t       a   r   g   u   m   e   n   t   s
0025540    .  \r  \r  \r   I   n       t   h   e       e   x   a   m   p
0025560    l   e       b   e   l   o   w   ,       {   l   i   s   p    
0025600    F   O   O   }       i   s       d   e   f   i   n   e   d    
0025620    t   o       r   e   t   u   r   n       t   h   e       r   e
0025640    v   e   r   s   e       o   f       t   h   e       l   i   s
0025660    t       o   f       a   r   g   u   m   e   n   t   s       i
0025700    t       i   s       g   i   v   e   n       (   u   n   e   v
0025720    a   l   u   a   t   e   d   )   :  \r  \r   {   l   i   s   p
0025740    c   o   d   e  \r   _       (   D   E   F   I   N   E   Q    
0025760    (   F   O   O       (   N   L   A   M   B   D   A       X    
0026000    (   R   E   V   E   R   S   E       X   )   )   )   )  \r   (
0026020    F   O   O   )  \r   _       (   F   O   O       9   9       (
0026040    P   L   U   S       3       4   )   )  \r   (   (   P   L   U
0026060    S       3       4   )       9   9   )  \r   _       (   F   O
0026100    O       9   9       (   P   L   U   S       3       4   )    
0026120    (   T   I   M   E   S       3       4   )   )  \r   (   (   T
0026140    I   M   E   S       3       4   )       (   P   L   U   S    
0026160    3       4   )       9   9   )   }  \r  \r  \r   N   o   t   e
0026200    :           T   h   e       w   a   r   n   i   n   g       a
0026220    b   o   u   t       e   v   a   l   u   a   t   i   n   g    
0026240    a   r   g   u   m   e   n   t   s       t   o       n   l   a
0026260    m   b   d   a       f   u   n   c   t   i   o   n   s       (
0026300    {   P   a   g   e   R   e   f       T   e   r   m       E   v
0026320    a   l   u   a   t   i   n   g       n   l   a   m   b   d   a
0026340        a   r   g   u   m   e   n   t   s   }   )       a   l   s
0026360    o       a   p   p   l   i   e   s       t   o       n   l   a
0026400    m   b   d   a   -   n   o   s   p   r   e   a   d       f   u
0026420    n   c   t   i   o   n   .  \r  \r   }   {   E   n   d       S
0026440    u   b   S   e   c       N   l   a   m   b   d   a   -   N   o
0026460    s   p   r   e   a   d       F   u   n   c   t   i   o   n   s
0026500    }  \r  \r  \r  \r  \r   {   B   e   g   i   n       S   u   b
0026520    S   e   c       C   o   m   p   i   l   e   d       F   u   n
0026540    c   t   i   o   n   s   }  \r   {   T   i   t   l   e       C
0026560    o   m   p   i   l   e   d       F   u   n   c   t   i   o   n
0026600    s   }  \r   {   T   e   x   t  \r  \r   {   i   n   d   e   x
0026620        *   P   R   I   M   A   R   Y   *       C   o   m   p   i
0026640    l   e   d       f   u   n   c   t   i   o   n       o   b   j
0026660    e   c   t   s   }  \r  \r   F   u   n   c   t   i   o   n   s
0026700        d   e   f   i   n   e   d       b   y       e   x   p   r
0026720        d   e   f   i   n   i   t   i   o   n   s       c   a   n
0026740        b   e       c   o   m   p   i   l   e   d       b   y    
0026760    t   h   e       I   n   t   e   r   l   i   s   p       c   o
0027000    m   p   i   l   e   r       (   {   P   a   g   e   R   e   f
0027020        T   a   g       C   O   M   P   I   L   E   R   }   )   .
0027040            T   h   e       c   o   m   p   i   l   e   r       p
0027060    r   o   d   u   c   e   s       c   o   m   p   i   l   e   d
0027100        c   o   d   e       o   b   j   e   c   t   s       (   o
0027120    f       d   a   t   a       t   y   p   e       {   i   n   d
0027140    e   x       C   C   O   D   E   P       (   d   a   t   a    
0027160    t   y   p   e   )   }   {   l   i   s   p       C   C   O   D
0027200    E   P   }   )       w   h   i   c   h       e   x   e   c   u
0027220    t   e       m   o   r   e       q   u   i   c   k   l   y    
0027240    t   h   a   n       t   h   e       c   o   r   r   e   s   p
0027260    o   n   d   i   n   g       e   x   p   r       d   e   f   i
0027300    n   i   t   i   o   n       c   o   d   e   .           F   u
0027320    n   c   t   i   o   n   s       d   e   f   i   n   e   d    
0027340    b   y       c   o   m   p   i   l   e   d       c   o   d   e
0027360        o   b   j   e   c   t   s       m   a   y       h   a   v
0027400    e       t   h   e       s   a   m   e       f   o   u   r    
0027420    t   y   p   e   s       a   s       e   x   p   r       d   e
0027440    f   i   n   i   t   i   o   n   s       (   l   a   m   b   d
0027460    a   /   n   o   l   a   m   b   d   a   ,       s   p   r   e
0027500    a   d   /   n   o   s   p   r   e   a   d   )   .           F
0027520    u   n   c   t   i   o   n   s       c   r   e   a   t   e   d
0027540        b   y       t   h   e       c   o   m   p   i   l   e   r
0027560        a   r   e       r   e   f   e   r   r   e   d       t   o
0027600        a   s       c   o   m   p   i   l   e   d       f   u   n
0027620    c   t   i   o   n   s   .  \r  \r   }   {   E   n   d       S
0027640    u   b   S   e   c       C   o   m   p   i   l   e   d       F
0027660    u   n   c   t   i   o   n   s   }  \r  \r  \r  \r   {   B   e
0027700    g   i   n       S   u   b   S   e   c       F   u   n   c   t
0027720    i   o   n       T   y   p   e       F   u   n   c   t   i   o
0027740    n   s   }  \r   {   T   i   t   l   e       F   u   n   c   t
0027760    i   o   n       T   y   p   e       F   u   n   c   t   i   o
0030000    n   s   }  \r   {   T   e   x   t  \r  \r   T   h   e   r   e
0030020        a   r   e       a       v   a   r   i   e   t   y       o
0030040    f       f   u   n   c   t   i   o   n   s       u   s   e   d
0030060        f   o   r       e   x   a   m   i   n   i   n   g       t
0030100    h   e       t   y   p   e   ,       a   r   g   u   m   e   n
0030120    t       l   i   s   t   ,       e   t   c   .       o   f    
0030140    f   u   n   c   t   i   o   n   s   .           T   h   e   s
0030160    e       f   u   n   c   t   i   o   n   s       m   a   y    
0030200    b   e       g   i   v   e   n       e   i   t   h   e   r    
0030220    a       l   i   t   a   t   o   m   ,       i   n       w   h
0030240    i   c   h       c   a   s   e       t   h   e   y       o   b
0030260    t   a   i   n       t   h   e       f   u   n   c   t   i   o
0030300    n       d   e   f   i   n   i   t   i   o   n       f   r   o
0030320    m       t   h   e       l   i   t   a   t   o   m   '   s    
0030340    d   e   f   i   n   i   t   i   o   n       c   e   l   l   ,
0030360        o   r       a       f   u   n   c   t   i   o   n       d
0030400    e   f   i   n   i   t   i   o   n       i   t   s   e   l   f
0030420    .  \r  \r  \r  \r   {   F   n   D   e   f       {   F   n   N
0030440    a   m   e       F   N   T   Y   P   }       {   F   n   A   r
0030460    g   s       F   N   }  \r   {   T   e   x   t  \r   R   e   t
0030500    u   r   n   s       {   l   i   s   p       N   I   L   }    
0030520    i   f       {   a   r   g       F   N   }       i   s       n
0030540    o   t       a       f   u   n   c   t   i   o   n       d   e
0030560    f   i   n   i   t   i   o   n       o   r       t   h   e    
0030600    n   a   m   e       o   f       a       d   e   f   i   n   e
0030620    d       f   u   n   c   t   i   o   n   .           O   t   h
0030640    e   r   w   i   s   e       {   f   n       F   N   T   Y   P
0030660    }       r   e   t   u   r   n   s       o   n   e       o   f
0030700        t   h   e       f   o   l   l   o   w   i   n   g       l
0030720    i   t   a   t   o   m   s   ,       d   e   p   e   n   d   i
0030740    n   g       o   n       t   h   e       t   y   p   e       o
0030760    f       f   u   n   c   t   i   o   n       d   e   f   i   n
0031000    i   t   i   o   n   :  \r  \r   {   B   e   g   i   n       L
0031020    a   b   e   l   e   d   L   i   s   t       F   N   T   Y   P
0031040        r   e   t   u   r   n   s   }  \r  \r   {   L   a   b   e
0031060    l       {   l   i   s   p       E   X   P   R   }   {   i   n
0031100    d   e   x       *   P   R   I   M   A   R   Y   *       E   X
0031120    P   R       L   i   t   a   t   o   m   }   }  \r   {   T   e
0031140    x   t  \r   L   a   m   b   d   a   -   s   p   r   e   a   d
0031160        e   x   p   r       d   e   f   i   n   i   t   i   o   n
0031200    .  \r   }  \r  \r   {   L   a   b   e   l       {   l   i   s
0031220    p       C   E   X   P   R   }   {   i   n   d   e   x       *
0031240    P   R   I   M   A   R   Y   *       C   E   X   P   R       L
0031260    i   t   a   t   o   m   }   }  \r   {   T   e   x   t  \r   L
0031300    a   m   b   d   a   -   s   p   r   e   a   d       c   o   m
0031320    p   i   l   e   d       d   e   f   i   n   i   t   i   o   n
0031340    .  \r   }  \r  \r   {   L   a   b   e   l       {   l   i   s
0031360    p       F   E   X   P   R   }   {   i   n   d   e   x       *
0031400    P   R   I   M   A   R   Y   *       F   E   X   P   R       L
0031420    i   t   a   t   o   m   }   }  \r   {   T   e   x   t  \r   N
0031440    l   a   m   b   d   a   -   s   p   r   e   a   d       e   x
0031460    p   r       d   e   f   i   n   i   t   i   o   n   .  \r   }
0031500   \r  \r   {   L   a   b   e   l       {   l   i   s   p       C
0031520    F   E   X   P   R   }   {   i   n   d   e   x       *   P   R
0031540    I   M   A   R   Y   *       C   F   E   X   P   R       L   i
0031560    t   a   t   o   m   }   }  \r   {   T   e   x   t  \r   N   l
0031600    a   m   b   d   a   -   s   p   r   e   a   d       c   o   m
0031620    p   i   l   e   d       d   e   f   i   n   i   t   i   o   n
0031640    .  \r   }  \r  \r   {   L   a   b   e   l       {   l   i   s
0031660    p       E   X   P   R   *   }   {   i   n   d   e   x       *
0031700    P   R   I   M   A   R   Y   *       E   X   P   R   *       L
0031720    i   t   a   t   o   m   }   }  \r   {   T   e   x   t  \r   L
0031740    a   m   b   d   a   -   n   o   s   p   r   e   a   d       e
0031760    x   p   r       d   e   f   i   n   i   t   i   o   n   .  \r
0032000    }  \r  \r   {   L   a   b   e   l       {   l   i   s   p    
0032020    C   E   X   P   R   *   }   {   i   n   d   e   x       *   P
0032040    R   I   M   A   R   Y   *       C   E   X   P   R   *       L
0032060    i   t   a   t   o   m   }   }  \r   {   T   e   x   t  \r   L
0032100    a   m   b   d   a   -   n   o   s   p   r   e   a   d       c
0032120    o   m   p   i   l   e   d       d   e   f   i   n   i   t   i
0032140    o   n   .  \r   }  \r  \r   {   L   a   b   e   l       {   l
0032160    i   s   p       F   E   X   P   R   *   }   {   i   n   d   e
0032200    x       *   P   R   I   M   A   R   Y   *       F   E   X   P
0032220    R   *       L   i   t   a   t   o   m   }   }  \r   {   T   e
0032240    x   t  \r   N   l   a   m   b   d   a   -   n   o   s   p   r
0032260    e   a   d       e   x   p   r       d   e   f   i   n   i   t
0032300    i   o   n   .  \r   }  \r  \r   {   L   a   b   e   l       {
0032320    l   i   s   p       C   F   E   X   P   R   *   }   {   i   n
0032340    d   e   x       *   P   R   I   M   A   R   Y   *       C   F
0032360    E   X   P   R   *       L   i   t   a   t   o   m   }   }  \r
0032400    {   T   e   x   t  \r   N   l   a   m   b   d   a   -   n   o
0032420    s   p   r   e   a   d       c   o   m   p   i   l   e   d    
0032440    d   e   f   i   n   i   t   i   o   n   .  \r   }  \r  \r   {
0032460    L   a   b   e   l       {   l   i   s   p       F   U   N   A
0032500    R   G   }   {   i   n   d   e   x       F   U   N   A   R   G
0032520        L   i   t   a   t   o   m   }   }  \r   {   T   e   x   t
0032540   \r   {   f   n       F   N   T   Y   P   }       r   e   t   u
0032560    r   n   s       t   h   e       l   i   t   a   t   o   m    
0032600    {   a   t   o   m       F   U   N   A   R   G   }   {   i   n
0032620    d   e   x           F   U   N   A   R   G       L   i   t   a
0032640    t   o   m   }       i   f       {   a   r   g       F   N   }
0032660        i   s       a       {   l   i   s   p       F   U   N   A
0032700    R   G   }       e   x   p   r   e   s   s   i   o   n   .    
0032720        S   e   e       {   P   a   g   e   R   e   f       F   n
0032740        F   U   N   C   T   I   O   N   }   .  \r   }  \r  \r   {
0032760    E   n   d       L   a   b   e   l   e   d   L   i   s   t    
0033000    F   N   T   Y   P       r   e   t   u   r   n   s   }  \r  \r
0033020    {   l   i   s   p       E   X   P   R   }   ,       {   l   i
0033040    s   p       F   E   X   P   R   }   ,       {   l   i   s   p
0033060        E   X   P   R   *   }   ,       a   n   d       {   l   i
0033100    s   p       F   E   X   P   R   *   }       i   n   d   i   c
0033120    a   t   e       t   h   a   t       {   a   r   g       F   N
0033140    }       i   s       d   e   f   i   n   e   d       b   y    
0033160    a   n       e   x   p   r       d   e   f   i   n   i   t   i
0033200    o   n   .           {   l   i   s   p       C   E   X   P   R
0033220    }   ,       {   l   i   s   p       C   F   E   X   P   R   }
0033240    ,       {   l   i   s   p       C   E   X   P   R   *   }   ,
0033260        a   n   d       {   l   i   s   p       C   F   E   X   P
0033300    R   *   }       i   n   d   i   c   a   t   e       t   h   a
0033320    t       {   a   r   g       F   N   }       i   s       d   e
0033340    f   i   n   e   d       b   y       a       c   o   m   p   i
0033360    l   e   d       d   e   f   i   n   i   t   i   o   n   ,    
0033400    a   s       i   n   d   i   c   a   t   e   d       b   y    
0033420    t   h   e       p   r   e   f   i   x       {   l   i   s   p
0033440        C   }   .           T   h   e       s   u   f   f   i   x
0033460        {   l   i   s   p       *   }       i   n   d   i   c   a
0033500    t   e   s       t   h   a   t       {   a   r   g       F   N
0033520    }       h   a   s       a   n       i   n   d   e   f   i   n
0033540    i   t   e       n   u   m   b   e   r       o   f       a   r
0033560    g   u   m   e   n   t   s   ,       i   .   e   .   ,       i
0033600    s       a       n   o   s   p   r   e   a   d       f   u   n
0033620    c   t   i   o   n   s   .           T   h   e       p   r   e
0033640    f   i   x       {   l   i   s   p       F   }       i   n   d
0033660    i   c   a   t   e   s       u   n   e   v   a   l   u   a   t
0033700    e   d       a   r   g   u   m   e   n   t   s   .           T
0033720    h   u   s   ,       f   o   r       e   x   a   m   p   l   e
0033740    ,       a       {   l   i   s   p       C   F   E   X   P   R
0033760    *   }       i   s       a       c   o   m   p   i   l   e   d
0034000        n   o   s   p   r   e   a   d   -   n   l   a   m   b   d
0034020    a       f   u   n   c   t   i   o   n   .  \r   }   }  \r  \r
0034040   \r   {   F   n   D   e   f       {   F   n   N   a   m   e    
0034060    E   X   P   R   P   }       {   F   n   A   r   g   s       F
0034100    N   }  \r   {   T   e   x   t  \r   R   e   t   u   r   n   s
0034120        {   l   i   s   p       T   }       i   f       {   l   i
0034140    s   p       (   F   N   T   Y   P       {   a   r   g       F
0034160    N   }   )   }       i   s       e   i   t   h   e   r       {
0034200    l   i   s   p       E   X   P   R   }   ,       {   l   i   s
0034220    p       F   E   X   P   R   }   ,       {   l   i   s   p    
0034240    E   X   P   R   *   }   ,       o   r       {   l   i   s   p
0034260        F   E   X   P   R   *   }   ;       {   l   i   s   p    
0034300    N   I   L   }       o   t   h   e   r   w   i   s   e   .   {
0034320    i   n   d   e   x       E   X   P   R       L   i   t   a   t
0034340    o   m   }   {   i   n   d   e   x       F   E   X   P   R    
0034360    L   i   t   a   t   o   m   }   {   i   n   d   e   x       E
0034400    X   P   R   *       L   i   t   a   t   o   m   }   {   i   n
0034420    d   e   x       F   E   X   P   R   *       L   i   t   a   t
0034440    o   m   }  \r   H   o   w   e   v   e   r   ,       {   l   i
0034460    s   p       (   E   X   P   R   P       {   a   r   g       F
0034500    N   }   )   }       i   s       a   l   s   o       t   r   u
0034520    e       i   f       {   a   r   g       F   N   }       i   s
0034540        (   h   a   s   )       a       l   i   s   t       d   e
0034560    f   i   n   i   t   i   o   n   ,       e   v   e   n       i
0034600    f       i   t       d   o   e   s       n   o   t       b   e
0034620    g   i   n       w   i   t   h       {   a   t   o   m       L
0034640    A   M   B   D   A   }       o   r       {   a   t   o   m    
0034660    N   L   A   M   B   D   A   }   .           I   n       o   t
0034700    h   e   r       w   o   r   d   s   ,       {   f   n       E
0034720    X   P   R   P   }       i   s       n   o   t       q   u   i
0034740    t   e       a   s       s   e   l   e   c   t   i   v   e    
0034760    a   s       {   f   n       F   N   T   Y   P   }   .  \r   }
0035000    }  \r  \r  \r   {   F   n   D   e   f       {   F   n   N   a
0035020    m   e       C   C   O   D   E   P   }       {   F   n   A   r
0035040    g   s       F   N   }  \r   {   T   e   x   t  \r   R   e   t
0035060    u   r   n   s       {   l   i   s   p       T   }       i   f
0035100        {   i   n   d   e   x       F   N   T   Y   P       F   N
0035120    }   {   l   i   s   p       (   F   N   T   Y   P       {   a
0035140    r   g       F   N   }   )   }       i   s       e   i   t   h
0035160    e   r  \r   {   l   i   s   p       C   E   X   P   R   }   ,
0035200        {   l   i   s   p       C   F   E   X   P   R   }   ,    
0035220    {   l   i   s   p       C   E   X   P   R   *   }   ,       o
0035240    r       {   l   i   s   p       C   F   E   X   P   R   *   }
0035260    ;       {   l   i   s   p       N   I   L   }       o   t   h
0035300    e   r   w   i   s   e   .   {   i   n   d   e   x       C   E
0035320    X   P   R       L   i   t   a   t   o   m   }   {   i   n   d
0035340    e   x       C   F   E   X   P   R       L   i   t   a   t   o
0035360    m   }   {   i   n   d   e   x       C   E   X   P   R   *    
0035400    L   i   t   a   t   o   m   }   {   i   n   d   e   x       C
0035420    F   E   X   P   R   *       L   i   t   a   t   o   m   }  \r
0035440    }   }  \r  \r   {   F   n   D   e   f       {   F   n   N   a
0035460    m   e       A   R   G   T   Y   P   E   }       {   F   n   A
0035500    r   g   s       F   N   }  \r   {   T   e   x   t  \r   {   a
0035520    r   g       F   N   }       i   s       t   h   e       n   a
0035540    m   e       o   f       a       f   u   n   c   t   i   o   n
0035560        o   r       i   t   s       d   e   f   i   n   i   t   i
0035600    o   n   .           {   f   n       A   R   G   T   Y   P   E
0035620    }       r   e   t   u   r   n   s       0   ,       1   ,    
0035640    2   ,       o   r       3   ,       o   r       {   l   i   s
0035660    p       N   I   L   }       i   f       {   a   r   g       F
0035700    N   }       i   s       n   o   t       a       f   u   n   c
0035720    t   i   o   n   .           T   h   e       i   n   t   e   r
0035740    p   r   e   t   a   t   i   o   n       o   f       t   h   i
0035760    s       v   a   l   u   e       i   s   :  \r  \r   {   B   e
0036000    g   i   n       L   a   b   e   l   e   d   L   i   s   t    
0036020    i   n   t   e   r   p   r   e   t   a   t   i   o   n       o
0036040    f       A   R   G   T   Y   P   E   }  \r  \r   {   N   a   m
0036060    e       0   }  \r   {   t   e   x   t       L   a   m   b   d
0036100    a   -   s   p   r   e   a   d       f   u   n   c   t   i   o
0036120    n       (   {   l   i   s   p       E   X   P   R   }   ,    
0036140    {   l   i   s   p       C   E   X   P   R   }   )   {   i   n
0036160    d   e   x       E   X   P   R       L   i   t   a   t   o   m
0036200    }   {   i   n   d   e   x       C   E   X   P   R       L   i
0036220    t   a   t   o   m   }  \r   }  \r  \r   {   N   a   m   e    
0036240    1   }  \r   {   t   e   x   t       N   l   a   m   b   d   a
0036260    -   s   p   r   e   a   d       f   u   n   c   t   i   o   n
0036300        (   {   l   i   s   p       F   E   X   P   R   }   ,    
0036320    {   l   i   s   p       C   F   E   X   P   R   }   )  \r   {
0036340    i   n   d   e   x       F   E   X   P   R       L   i   t   a
0036360    t   o   m   }   {   i   n   d   e   x       C   F   E   X   P
0036400    R       L   i   t   a   t   o   m   }  \r   }  \r  \r   {   N
0036420    a   m   e       2   }  \r   {   t   e   x   t       L   a   m
0036440    b   d   a   -   n   o   s   p   r   e   a   d       f   u   n
0036460    c   t   i   o   n       (   {   l   i   s   p       E   X   P
0036500    R   *   }   ,       {   l   i   s   p       C   E   X   P   R
0036520    *   }   )  \r   {   i   n   d   e   x       E   X   P   R   *
0036540        L   i   t   a   t   o   m   }   {   i   n   d   e   x    
0036560    C   E   X   P   R   *       L   i   t   a   t   o   m   }  \r
0036600    }  \r  \r   {   N   a   m   e       3   }  \r   {   t   e   x
0036620    t       N   l   a   m   b   d   a   -   n   o   s   p   r   e
0036640    a   d       f   u   n   c   t   i   o   n       (   {   l   i
0036660    s   p       F   E   X   P   R   *   }   ,       {   l   i   s
0036700    p       C   F   E   X   P   R   *   }   )  \r   {   i   n   d
0036720    e   x       F   E   X   P   R   *       L   i   t   a   t   o
0036740    m   }   {   i   n   d   e   x       C   F   E   X   P   R   *
0036760        L   i   t   a   t   o   m   }  \r   }  \r  \r   {   E   n
0037000    d       L   a   b   e   l   e   d   L   i   s   t       i   n
0037020    t   e   r   p   r   e   t   a   t   i   o   n       o   f    
0037040    A   R   G   T   Y   P   E   }  \r  \r  \r   i   .   e   .   ,
0037060        {   f   n       A   R   G   T   Y   P   E   }       c   o
0037100    r   r   e   s   p   o   n   d   s       t   o       t   h   e
0037120        {   i   t       r   o   w   s   }       o   f       {   f
0037140    n       F   N   T   Y   P   }   '   s   .  \r   }   }  \r  \r
0037160   \r  \r   {   F   n   D   e   f       {   F   n   N   a   m   e
0037200        N   A   R   G   S   }       {   F   n   A   r   g   s    
0037220    F   N   }  \r   {   T   e   x   t  \r   R   e   t   u   r   n
0037240    s       t   h   e       n   u   m   b   e   r       o   f    
0037260    a   r   g   u   m   e   n   t   s       o   f       {   a   r
0037300    g       F   N   }   ,       o   r       {   l   i   s   p    
0037320    N   I   L   }       i   f       {   a   r   g       F   N   }
0037340        i   s       n   o   t       a       f   u   n   c   t   i
0037360    o   n   .           I   f       {   a   r   g       F   N   }
0037400        i   s       a       n   o   s   p   r   e   a   d       f
0037420    u   n   c   t   i   o   n   ,       t   h   e       v   a   l
0037440    u   e       o   f       {   f   n       N   A   R   G   S   }
0037460        i   s       1   .  \r  \r   {   n   o   t   e       w   h
0037500    y       d   o   e   s   n   '   t       N   A   R   G   S    
0037520    c   h   e   c   k       L   A   M   B   D   A   S   P   L   S
0037540    T   ,       t   o       b   e       c   o   n   s   i   s   t
0037560    a   n   t       w   i   t   h       A   R   G   L   I   S   T
0037600    ?   ?   }  \r   }   }  \r  \r  \r   {   F   n   D   e   f    
0037620    {   F   n   N   a   m   e       A   R   G   L   I   S   T   }
0037640        {   F   n   A   r   g   s       F   N   }  \r   {   T   e
0037660    x   t  \r   R   e   t   u   r   n   s       t   h   e       "
0037700    a   r   g   u   m   e   n   t       l   i   s   t   "       f
0037720    o   r       {   a   r   g       F   N   }   .           N   o
0037740    t   e       t   h   a   t       t   h   e       "   a   r   g
0037760    u   m   e   n   t       l   i   s   t   "       i   s       a
0040000        l   i   t   a   t   o   m       f   o   r       n   o   s
0040020    p   r   e   a   d       f   u   n   c   t   i   o   n   s   .
0040040            S   i   n   c   e       {   l   i   s   p       N   I
0040060    L   }       i   s       a       p   o   s   s   i   b   l   e
0040100        v   a   l   u   e       f   o   r       {   f   n       A
0040120    R   G   L   I   S   T   }   ,       a   n       e   r   r   o
0040140    r       i   s       g   e   n   e   r   a   t   e   d   ,    
0040160    {   l   i   s   p       A   R   G   S       N   O   T       A
0040200    V   A   I   L   A   B   L   E   }   ,   {   i   n   d   e   x
0040220        A   R   G   S       N   O   T       A   V   A   I   L   A
0040240    B   L   E       E   r   r   o   r   }       i   f       {   a
0040260    r   g       F   N   }       i   s       n   o   t       a    
0040300    f   u   n   c   t   i   o   n   .  \r  \r   I   f       {   a
0040320    r   g       F   N   }       i   s       a       c   o   m   p
0040340    i   l   e   d       f   u   n   c   t   i   o   n   ,       t
0040360    h   e       a   r   g   u   m   e   n   t       l   i   s   t
0040400        i   s       c   o   n   s   t   r   u   c   t   e   d   ,
0040420        i   .   e   .   ,       e   a   c   h       c   a   l   l
0040440        t   o       {   f   n       A   R   G   L   I   S   T   }
0040460        r   e   q   u   i   r   e   s       m   a   k   i   n   g
0040500        a       n   e   w       l   i   s   t   .           F   o
0040520    r       f   u   n   c   t   i   o   n   s       d   e   f   i
0040540    n   e   d       b   y       e   x   p   r       d   e   f   i
0040560    n   i   t   i   o   n   s   ,       l   i   s   t   s       b
0040600    e   g   i   n   n   i   n   g       w   i   t   h       {   a
0040620    t   o   m       L   A   M   B   D   A   }       o   r       {
0040640    a   t   o   m       N   L   A   M   B   D   A   }   ,       t
0040660    h   e       a   r   g   u   m   e   n   t       l   i   s   t
0040700        i   s       s   i   m   p   l   y       {   f   n       C
0040720    A   D   R   }       o   f       {   f   n       G   E   T   D
0040740    }   .           I   f       {   a   r   g       F   N   }    
0040760    h   a   s       a   n       e   x   p   r       d   e   f   i
0041000    n   i   t   i   o   n   ,       a   n   d       {   f   n    
0041020    C   A   R   }       o   f       t   h   e       d   e   f   i
0041040    n   i   t   i   o   n       i   s       n   o   t       {   l
0041060    i   s   p       L   A   M   B   D   A   }       o   r       {
0041100    l   i   s   p       N   L   A   M   B   D   A   }   ,       {
0041120    f   n       A   R   G   L   I   S   T   }       w   i   l   l
0041140        c   h   e   c   k       t   o       s   e   e       i   f
0041160        {   f   n       C   A   R   }       o   f       t   h   e
0041200        d   e   f   i   n   i   t   i   o   n       i   s       a
0041220        m   e   m   b   e   r       o   f       {   i   n   d   e
0041240    x       L   A   M   B   D   A   S   P   L   S   T       V   a
0041260    r   }   {   v   a   r       L   A   M   B   D   A   S   P   L
0041300    S   T   }       (   {   P   a   g   e   R   e   f       V   a
0041320    r       L   A   M   B   D   A   S   P   L   S   T   }   )   .
0041340            I   f       i   t       i   s   ,       {   f   n    
0041360    A   R   G   L   I   S   T   }       p   r   e   s   u   m   e
0041400    s       t   h   i   s       i   s       a       f   u   n   c
0041420    t   i   o   n       o   b   j   e   c   t       t   h   e    
0041440    u   s   e   r       i   s       d   e   f   i   n   i   n   g
0041460        v   i   a       {   v   a   r       D   W   I   M   U   S
0041500    E   R   F   O   R   M   S   }       (   {   P   a   g   e   R
0041520    e   f       V   a   r       D   W   I   M   U   S   E   R   F
0041540    O   R   M   S   }   )   ,       a   n   d       s   i   m   p
0041560    l   y       r   e   t   u   r   n   s       {   f   n       C
0041600    A   D   R   }       o   f       t   h   e       d   e   f   i
0041620    n   i   t   i   o   n       a   s       i   t   s       a   r
0041640    g   u   m   e   n   t       l   i   s   t   .           O   t
0041660    h   e   r   w   i   s   e       {   f   n       A   R   G   L
0041700    I   S   T   }       g   e   n   e   r   a   t   e   s       a
0041720    n       e   r   r   o   r       a   s       d   e   s   c   r
0041740    i   b   e   d       a   b   o   v   e   .  \r   }   }  \r  \r
0041760   \r  \r   {   F   n   D   e   f       {   F   n   N   a   m   e
0042000        S   M   A   R   T   A   R   G   L   I   S   T   }       {
0042020    F   n   A   r   g   s       F   N       E   X   P   L   A   I
0042040    N   F   L   G       T   A   I   L   }  \r   {   T   e   x   t
0042060   \r   A       "   s   m   a   r   t   "       v   e   r   s   i
0042100    o   n       o   f       {   f   n       A   R   G   L   I   S
0042120    T   }       t   h   a   t       t   r   i   e   s       v   a
0042140    r   i   o   u   s       s   t   r   a   t   e   g   i   e   s
0042160        t   o       g   e   t       t   h   e       a   r   g   l
0042200    i   s   t       o   f       {   a   r   g       F   N   }   .
0042220   \r  \r   F   i   r   s   t   ,       {   f   n       S   M   A
0042240    R   T   A   R   G   L   I   S   T   }       c   h   e   c   k
0042260    s       t   h   e       p   r   o   p   e   r   t   y       l
0042300    i   s   t       o   f       {   a   r   g       F   N   }    
0042320    u   n   d   e   r       t   h   e       p   r   o   p   e   r
0042340    t   y       {   l   i   s   p       A   R   G   N   A   M   E
0042360    S   }   {   i   n   d   e   x       *   P   R   I   M   A   R
0042400    Y   *       A   R   G   N   A   M   E   S       P   r   o   p
0042420    }   .           F   o   r       s   p   r   e   a   d       f
0042440    u   n   c   t   i   o   n   s   ,       t   h   e       a   r
0042460    g   u   m   e   n   t       l   i   s   t       i   t   s   e
0042500    l   f       i   s       s   t   o   r   e   d   .           F
0042520    o   r       n   o   s   p   r   e   a   d       f   u   n   c
0042540    t   i   o   n   s   ,       t   h   e       f   o   r   m    
0042560    i   s       {   l   i   s   p       (   N   I   L       {   a
0042600    r   g       A   R   G   L   I   S   T   {   s   u   b       1
0042620    }   }       .       {   a   r   g       A   R   G   L   I   S
0042640    T   {   s   u   b       2   }   }   )   }   ,       w   h   e
0042660    r   e       {   a   r   g       A   R   G   L   I   S   T   {
0042700    s   u   b       1   }   }       i   s       t   h   e       v
0042720    a   l   u   e       {   f   n       S   M   A   R   T   A   R
0042740    G   L   I   S   T   }       s   h   o   u   l   d       r   e
0042760    t   u   r   n       w   h   e   n       {   a   r   g       E
0043000    X   P   L   A   I   N   F   L   G   }   =   {   l   i   s   p
0043020        T   }   ,       a   n   d       {   a   r   g       A   R
0043040    G   L   I   S   T   {   s   u   b       2   }   }       t   h
0043060    e       v   a   l   u   e       w   h   e   n       {   a   r
0043100    g       E   X   P   L   A   I   N   F   L   G   }   =   {   l
0043120    i   s   p       N   I   L   }   .           F   o   r       e
0043140    x   a   m   p   l   e   ,       {   l   i   s   p       (   G
0043160    E   T   P   R   O   P       '   D   E   F   I   N   E   Q    
0043200    '   A   R   G   N   A   M   E   S   )   }       =       {   l
0043220    i   s   p       (   N   I   L       (   X   1       X   I    
0043240    .   .   .       X   N   )       .       X   )   }   .        
0043260    T   h   i   s       a   l   l   o   w   s       t   h   e    
0043300    u   s   e   r       t   o       s   p   e   c   i   f   y    
0043320    s   p   e   c   i   a   l       a   r   g   u   m   e   n   t
0043340        l   i   s   t   s   .  \r  \r   S   e   c   o   n   d   ,
0043360        i   f       {   a   r   g       F   N   }       i   s    
0043400    n   o   t       d   e   f   i   n   e   d       a   s       a
0043420        f   u   n   c   t   i   o   n   ,       {   f   n       S
0043440    M   A   R   T   A   R   G   L   I   S   T   }       a   t   t
0043460    e   m   p   t   s       s   p   e   l   l   i   n   g       c
0043500    o   r   r   e   c   t   i   o   n       o   n       {   a   r
0043520    g       F   N   }       b   y       c   a   l   l   i   n   g
0043540        {   f   n       F   N   C   H   E   C   K   }   {   i   n
0043560    d   e   x       F   N   C   H   E   C   K       F   N   }    
0043600    (   {   P   a   g   e   R   e   f       F   n       F   N   C
0043620    H   E   C   K   }   )   ,       p   a   s   s   i   n   g    
0043640    {   a   r   g       T   A   I   L   }       t   o       b   e
0043660        u   s   e   d       f   o   r       t   h   e       c   a
0043700    l   l       t   o       {   f   n       F   I   X   S   P   E
0043720    L   L   }   .           I   f       u   n   s   u   c   c   e
0043740    s   s   f   u   l   ,       a   n       e   r   r   o   r    
0043760    w   i   l   l       b   e       g   e   n   e   r   a   t   e
0044000    d   ,       {   l   i   s   p       {   a   r   g       F   N
0044020    }       N   O   T       A       F   U   N   C   T   I   O   N
0044040    }   .   {   i   n   d   e   x       N   O   T       A       F
0044060    U   N   C   T   I   O   N       E   r   r   o   r   }  \r  \r
0044100    T   h   i   r   d   ,       i   f       {   a   r   g       F
0044120    N   }       i   s       k   n   o   w   n       t   o       t
0044140    h   e       f   i   l   e       p   a   c   k   a   g   e    
0044160    (   {   P   a   g   e   R   e   f       T   e   r   m       F
0044200    i   l   e       P   a   c   k   a   g   e   }   )       b   u
0044220    t       n   o   t       l   o   a   d   e   d       i   n   ,
0044240        {   f   n       S   M   A   R   T   A   R   G   L   I   S
0044260    T   }       w   i   l   l       o   b   t   a   i   n       t
0044300    h   e       a   r   g   l   i   s   t       i   n   f   o   r
0044320    m   a   t   i   o   n       f   r   o   m       t   h   e    
0044340    f   i   l   e   .  \r  \r   O   t   h   e   r   w   i   s   e
0044360    ,       {   f   n       S   M   A   R   T   A   R   G   L   I
0044400    S   T   }       s   i   m   p   l   y       r   e   t   u   r
0044420    n   s       {   l   i   s   p       (   A   R   G   L   I   S
0044440    T       {   a   r   g       F   N   }   )   }   .  \r  \r   {
0044460    f   n       S   M   A   R   T   A   R   G   L   I   S   T   }
0044500        i   s       u   s   e   d       b   y       {   f   n    
0044520    B   R   E   A   K   }       (   {   P   a   g   e   R   e   f
0044540        F   n       B   R   E   A   K   }   )       a   n   d    
0044560    {   f   n       A   D   V   I   S   E   }       (   {   P   a
0044600    g   e   R   e   f       F   n       A   D   V   I   S   E   }
0044620    )       w   i   t   h       {   a   r   g       E   X   P   L
0044640    A   I   N   F   L   G   }   =   {   l   i   s   p       N   I
0044660    L   }       f   o   r       c   o   n   s   t   r   u   c   t
0044700    i   n   g       e   q   u   i   v   a   l   e   n   t       e
0044720    x   p   r       d   e   f   i   n   i   t   i   o   n   s   ,
0044740        a   n   d       b   y       t   h   e       T   T   Y   I
0044760    N       i   n   -   l   i   n   e       c   o   m   m   a   n
0045000    d       {   l   i   s   p       ?   =   }       (   {   P   a
0045020    g   e   R   e   f       (   i   n       T   T   Y   I   N   )
0045040        ?   =   }   )   ,       w   i   t   h       {   a   r   g
0045060        E   X   P   L   A   I   N   F   L   G   }   =   {   l   i
0045100    s   p       T   }   .  \r   }   }  \r  \r  \r  \r  \r   }   {
0045120    E   n   d       S   u   b   S   e   c       F   u   n   c   t
0045140    i   o   n       T   y   p   e       F   u   n   c   t   i   o
0045160    n   s   }  \r  \r  \r  \r   }   {   E   n   d       S   u   b
0045200    S   e   c       F   u   n   c   t   i   o   n       T   y   p
0045220    e   s   }  \r  \r  \r  \0  \0  \0  \0  \0 004  \0 003  \0   ?
0045240   \0   1   (   D   E   F   A   U   L   T   F   O   N   T       1
0045260        (   G   A   C   H   A       1   0   )       (   G   A   C
0045300    H   A       8   )       (   T   E   R   M   I   N   A   L    
0045320    8   )   )  \0  \n  \0  \0  \0  \0  \0  \0  \0  \0  \0   ?  \0
0045340    1   (   D   E   F   A   U   L   T   F   O   N   T       1    
0045360    (   G   A   C   H   A       1   0   )       (   G   A   C   H
0045400    A       8   )       (   T   E   R   M   I   N   A   L       8
0045420    )   )  \0  \n  \0  \0  \0  \0  \0  \0  \0  \0  \0 023  \0 005
0045440    G   A   C   H   A  \0  \n  \0  \0  \0  \0  \0  \0  \0  \0  \0
0045460   \0  \0 302  \0  \0  \0  \0 003  \0  \0  \0   '  \0  \0  \0  \0
0045500  001  \0  \0  \t   W  \0  \0  \0  \0 003  \0  \0  \0   ;  \0  \0
0045520   \0  \0 002  \0  \0 001 030  \0  \0  \0  \0 003  \0  \0  \0    
0045540   \0  \0  \0  \0 002  \0  \0   > 343  \0  \0  \0  \0 003  \0  \0
0045560    J 226  \0  \a   z 272                                        
0045566