$ od -c -N 50000 [Erinyes]<LispManual>FnEval.im!6
0000000   \r  \r  \r   {   B   e   g   i   n       S   u   b   S   e   c
0000020        E   v   a   l   u   a   t   i   n   g       F   u   n   c
0000040    t   i   o   n   s       a   n   d       E   x   p   r   e   s
0000060    s   i   o   n   s   }  \r   {   T   i   t   l   e       F   u
0000100    n   c   t   i   o   n       E   v   a   l   u   a   t   i   o
0000120    n   }  \r   {   T   e   x   t  \r  \r   {   i   n   d   e   x
0000140        *   P   R   I   M   A   R   Y   *       E   v   a   l   u
0000160    a   t   i   n   g       f   u   n   c   t   i   o   n   s   }
0000200   \r   {   i   n   d   e   x       *   P   R   I   M   A   R   Y
0000220    *       E   v   a   l   u   a   t   i   n   g       e   x   p
0000240    r   e   s   s   i   o   n   s   }  \r   {   i   n   d   e   x
0000260        *   P   R   I   M   A   R   Y   *       I   n   t   e   r
0000300    p   r   e   t   i   n   g       e   x   p   r   e   s   s   i
0000320    o   n   s   }  \r  \r  \r   {   n   o   t   e       i   t    
0000340    s   e   e   m   s       t   h   a   t       f   o   r   m   s
0000360        l   i   k   e       (       (   L   A   M   B   D   A    
0000400    (   X   )       (   I   P   L   U   S       X       X   )   )
0000420        5   )       e   v   a   l   u   a   t   e   ,       a   t
0000440        t   o   p       l   e   v   e   l       o   r       i   n
0000460        a       p   r   o   g   r   a   m       (   t   h   i   s
0000500        i   s       w   h   a   t       E   X   P   A   N   D   M
0000520    A   C   R   O       o   f       a       L   A   M   B   D   A
0000540        m   a   c   r   o       g   i   v   e   s   )   .        
0000560    i   s       t   h   i   s       h   a   n   d   l   e   d    
0000600    b   y       t   h   e       e   r   r   o   r       c   o   r
0000620    r   e   c   t   i   o   n       m   e   c   h   a   n   i   s
0000640    m   ,       o   r       i   s       t   h   e       e   v   a
0000660    l   u   a   t   i   o   n       o   f       "   f   u   n   c
0000700    t   i   o   n       o   b   j   e   c   t   s   "       j   u
0000720    s   t       a       r   e   g   u   l   a   r       p   a   r
0000740    t       o   f       t   h   e       i   n   t   e   r   p   r
0000760    e   t   e   r   ?           I   f       s   o   ,       t   h
0001000    i   s       s   h   o   u   l   d       b   e       d   o   c
0001020    u   m   e   n   t   e   d   .   }  \r  \r  \r   U   s   u   a
0001040    l   l   y   ,       f   u   n   c   t   i   o   n       a   p
0001060    p   l   i   c   a   t   i   o   n       i   s       d   o   n
0001100    e       a   u   t   o   m   a   t   i   c   a   l   l   y    
0001120    b   y       t   h   e       I   n   t   e   r   l   i   s   p
0001140        i   n   t   e   r   p   r   e   t   e   r   .           I
0001160    f       a       f   o   r   m       i   s       t   y   p   e
0001200    d       i   n   t   o       I   n   t   e   r   l   i   s   p
0001220        w   h   o   s   e       {   f   n       C   A   R   }    
0001240    i   s       a       f   u   n   c   t   i   o   n   ,       t
0001260    h   i   s       f   u   n   c   t   i   o   n       i   s    
0001300    a   p   p   l   i   e   d       t   o       t   h   e       a
0001320    r   g   u   m   e   n   t   s       i   n       t   h   e    
0001340    {   f   n       C   D   R   }       o   f       t   h   e    
0001360    f   o   r   m   .           T   h   e   s   e       a   r   g
0001400    u   m   e   n   t   s       a   r   e       e   v   a   l   u
0001420    a   t   e   d       o   r       n   o   t   ,       a   n   d
0001440        b   o   u   n   d       t   o       t   h   e       f   u
0001460    n   c   t   i   o   n       p   a   r   a   m   e   t   e   r
0001500    s   ,       a   s       d   e   t   e   r   m   i   n   e   d
0001520        b   y       t   h   e       t   y   p   e       o   f    
0001540    t   h   e       f   u   n   c   t   i   o   n   ,       a   n
0001560    d       t   h   e       b   o   d   y       o   f       t   h
0001600    e       f   u   n   c   t   i   o   n       i   s       e   v
0001620    a   l   u   a   t   e   d   .           T   h   i   s       s
0001640    e   q   u   e   n   c   e       i   s       r   e   p   e   a
0001660    t   e   d       a   s       e   a   c   h       f   o   r   m
0001700        i   n       t   h   e       b   o   d   y       o   f    
0001720    t   h   e       f   u   n   c   t   i   o   n       i   s    
0001740    e   v   a   l   u   a   t   e   d   .  \r  \r  \r   T   h   e
0001760    r   e       a   r   e       s   o   m   e       s   i   t   u
0002000    a   t   i   o   n   s       w   h   e   r   e       i   t    
0002020    i   s       n   e   c   e   s   s   a   r   y       t   o    
0002040    e   x   p   l   i   c   i   t   l   y       c   a   l   l    
0002060    t   h   e       e   v   a   l   u   a   t   o   r   ,       a
0002100    n   d       I   n   t   e   r   l   i   s   p       s   u   p
0002120    p   l   i   e   s       a       n   u   m   b   e   r       o
0002140    f       f   u   n   c   t   i   o   n   s       t   h   a   t
0002160        w   i   l   l       d   o       t   h   i   s   .        
0002200    T   h   e   s   e       f   u   n   c   t   i   o   n   s    
0002220    t   a   k   e       "   f   u   n   c   t   i   o   n   a   l
0002240        a   r   g   u   m   e   n   t   s   "   ,       w   h   i
0002260    c   h       m   a   y       e   i   t   h   e   r       b   e
0002300        l   i   t   a   t   o   m   s       w   i   t   h       f
0002320    u   n   c   t   i   o   n       d   e   f   i   n   i   t   i
0002340    o   n   s   ,       o   r       e   x   p   r       d   e   f
0002360    i   n   i   t   i   o   n       f   o   r   m   s       s   u
0002400    c   h       a   s       {   l   i   s   p       (   L   A   M
0002420    B   D   A       (   X   )       {   e   l   l   i   p   s   i
0002440    s   }   )   }   ,       o   r       {   l   i   s   p       F
0002460    U   N   A   R   G   }       e   x   p   r   e   s   s   i   o
0002500    n   s       (   s   e   e       {   P   a   g   e   R   e   f
0002520        T   e   r   m       F   u   n   c   t   i   o   n   a   l
0002540        A   r   g   u   m   e   n   t   s   }   )   .  \r  \r   {
0002560    i   n   d   e   x       A   p   p   l   y   i   n   g       f
0002600    u   n   c   t   i   o   n   s       t   o       a   r   g   u
0002620    m   e   n   t   s   }  \r  \r   {   F   n   D   e   f       {
0002640    F   n   N   a   m   e       A   P   P   L   Y   }       {   F
0002660    n   A   r   g   s       F   N       A   R   G   L   I   S   T
0002700        {   a   n   o   n   a   r   g   }   }  \r   {   T   e   x
0002720    t  \r   A   p   p   l   i   e   s       t   h   e       f   u
0002740    n   c   t   i   o   n       {   a   r   g       F   N   }    
0002760    t   o       t   h   e       a   r   g   u   m   e   n   t   s
0003000        i   n       t   h   e       l   i   s   t       {   a   r
0003020    g       A   R   G   L   I   S   T   }   ,       a   n   d    
0003040    r   e   t   u   r   n   s       i   t   s       v   a   l   u
0003060    e   .           {   f   n       A   P   P   L   Y   }       i
0003100    s       a       l   a   m   b   d   a       f   u   n   c   t
0003120    i   o   n   ,       s   o       i   t   s       a   r   g   u
0003140    m   e   n   t   s       a   r   e       e   v   a   l   u   a
0003160    t   e   d   ,       b   u   t       t   h   e       i   n   d
0003200    i   v   i   d   u   a   l       e   l   e   m   e   n   t   s
0003220        o   f       {   a   r   g       A   R   G   L   I   S   T
0003240    }       a   r   e       n   o   t       e   v   a   l   u   a
0003260    t   e   d   .           T   h   e   r   e   f   o   r   e   ,
0003300        l   a   m   b   d   a       a   n   d       n   l   a   m
0003320    b   d   a       f   u   n   c   t   i   o   n   s       a   r
0003340    e       t   r   e   a   t   e   d       t   h   e       s   a
0003360    m   e       b   y       {   f   n       A   P   P   L   Y   }
0003400    {   e   m   d   a   s   h   }   l   a   m   b   d   a       f
0003420    u   n   c   t   i   o   n   s       t   a   k   e       t   h
0003440    e   i   r       a   r   g   u   m   e   n   t   s       f   r
0003460    o   m       {   a   r   g       A   R   G   L   I   S   T   }
0003500        w   i   t   h   o   u   t       e   v   a   l   u   a   t
0003520    i   n   g       t   h   e   m   .           F   o   r       e
0003540    x   a   m   p   l   e   :  \r  \r   {   l   i   s   p   c   o
0003560    d   e  \r   _   (   A   P   P   L   Y       '   A   P   P   E
0003600    N   D       '   (   (   P   L   U   S       1       2       3
0003620    )       (   4       5       6   )   )   )  \r   (   P   L   U
0003640    S       1       2       3       4       5       6   )   }  \r
0003660   \r  \r   N   o   t   e       t   h   a   t       {   a   r   g
0003700        F   N   }       m   a   y       e   x   p   l   i   c   i
0003720    t   l   y       e   v   a   l   u   a   t   e       o   n   e
0003740        o   r       m   o   r   e       o   f       i   t   s    
0003760    a   r   g   u   m   e   n   t   s       i   t   s   e   l   f
0004000    .           F   o   r       e   x   a   m   p   l   e   ,    
0004020    t   h   e       s   y   s   t   e   m       f   u   n   c   t
0004040    i   o   n       {   f   n       S   E   T   Q   }       i   s
0004060        a   n       n   l   a   m   b   d   a       f   u   n   c
0004100    t   i   o   n       t   h   a   t       e   x   p   l   i   c
0004120    i   t   l   y       e   v   a   l   u   a   t   e   s       i
0004140    t   s       s   e   c   o   n   d       a   r   g   u   m   e
0004160    n   t   .           T   h   e   r   e   f   o   r   e   ,    
0004200    {   l   i   s   p       (   A   P   P   L   Y       '   S   E
0004220    T   Q       '   (   F   O   O       (   A   D   D   1       3
0004240    )   )   )   }       w   i   l   l       s   e   t       {   l
0004260    i   s   p       F   O   O   }       t   o       4   ,       i
0004300    n   s   t   e   a   d       o   f       s   e   t   t   i   n
0004320    g       i   t       t   o       t   h   e       e   x   p   r
0004340    e   s   s   i   o   n       {   l   i   s   p       (   A   D
0004360    D   1       3   )   }   .  \r  \r   {   f   n       A   P   P
0004400    L   Y   }       c   a   n       b   e       u   s   e   d    
0004420    f   o   r       m   a   n   i   p   u   l   a   t   i   n   g
0004440        e   x   p   r       d   e   f   i   n   i   t   i   o   n
0004460    s   ,       f   o   r       e   x   a   m   p   l   e   :  \r
0004500   \r   {   l   i   s   p   c   o   d   e  \r   _   (   A   P   P
0004520    L   Y       '   (   L   A   M   B   D   A       (   X       Y
0004540    )       (   I   T   I   M   E   S       X       Y   )   )    
0004560    '   (   3       4   )   )  \r   1   2   }  \r   }   }  \r  \r
0004600   \r   {   F   n   D   e   f       {   F   n   N   a   m   e    
0004620    A   P   P   L   Y   *   }       {   F   n   A   r   g   s    
0004640    F   N       A   R   G   {   S   U   B       1   }       A   R
0004660    G   {   S   U   B       2   }       {   e   l   l   i   p   s
0004700    i   s   }       A   R   G   {   S   U   B       N   }   }  \r
0004720    {   T   y   p   e       N   O   S   P   R   E   A   D   }  \r
0004740    {   T   e   x   t  \r   N   o   s   p   r   e   a   d       v
0004760    e   r   s   i   o   n       o   f       {   f   n       A   P
0005000    P   L   Y   }   .           A   p   p   l   i   e   s       t
0005020    h   e       f   u   n   c   t   i   o   n       {   a   r   g
0005040        F   N   }       t   o       t   h   e       a   r   g   u
0005060    m   e   n   t   s       {   a   r   g       A   R   G   {   S
0005100    U   B       1   }   }       {   a   r   g       A   R   G   {
0005120    S   U   B       2   }   }       {   e   l   l   i   p   s   i
0005140    s   }       {   a   r   g       A   R   G   {   S   U   B    
0005160    N   }   }   .           F   o   r       e   x   a   m   p   l
0005200    e   ,  \r  \r   {   l   i   s   p   c   o   d   e  \r   _   (
0005220    A   P   P   L   Y   *       '   A   P   P   E   N   D       '
0005240    (   P   L   U   S       1       2       3   )       '   (   4
0005260        5       6   )   )  \r   (   P   L   U   S       1       2
0005300        3       4       5       6   )   }  \r   }   }  \r  \r  \r
0005320   \r   {   F   n   D   e   f       {   F   n   N   a   m   e    
0005340    E   V   A   L   }       {   F   n   A   r   g   s       X    
0005360    {   a   n   o   n   a   r   g   }   }  \r   {   T   e   x   t
0005400   \r   {   f   n       E   V   A   L   }       e   v   a   l   u
0005420    a   t   e   s       t   h   e       e   x   p   r   e   s   s
0005440    i   o   n       {   a   r   g       X   }       a   n   d    
0005460    r   e   t   u   r   n   s       t   h   i   s       v   a   l
0005500    u   e   ,       i   .   e   .   ,       {   f   n       E   V
0005520    A   L   }       p   r   o   v   i   d   e   s       a       w
0005540    a   y       o   f       c   a   l   l   i   n   g       t   h
0005560    e       I   n   t   e   r   l   i   s   p       i   n   t   e
0005600    r   p   r   e   t   e   r   .           N   o   t   e       t
0005620    h   a   t       {   f   n       E   V   A   L   }       i   s
0005640        i   t   s   e   l   f       a       l   a   m   b   d   a
0005660        f   u   n   c   t   i   o   n   ,       s   o       {   i
0005700    t       i   t   s   }       a   r   g   u   m   e   n   t    
0005720    i   s       f   i   r   s   t       e   v   a   l   u   a   t
0005740    e   d   ,       e   .   g   .   ,  \r  \r   {   l   i   s   p
0005760    c   o   d   e  \r   _   (   S   E   T   Q       F   O   O    
0006000    '   (   A   D   D   1       3   )   )  \r   (   A   D   D   1
0006020        3   )  \r   _   (   E   V   A   L       F   O   O   )  \r
0006040    4  \r   _   (   E   V   A   L       '   F   O   O   )  \r   (
0006060    A   D   D   1       3   )   }  \r   }   }  \r  \r  \r   {   i
0006100    n   d   e   x       E   v   a   l   u   a   t   i   n   g    
0006120    a   r   g   u   m   e   n   t   s       t   o       f   u   n
0006140    c   t   i   o   n   s   }  \r  \r   {   F   n   D   e   f    
0006160    {   F   n   N   a   m   e       Q   U   O   T   E   }       {
0006200    F   n   A   r   g   s       X   }       {   T   y   p   e    
0006220    N   O   S   P   R   E   A   D       N   L   A   M   B   D   A
0006240    }  \r   {   T   e   x   t  \r   {   f   n       Q   U   O   T
0006260    E   }       p   r   e   v   e   n   t   s       i   t   s    
0006300    a   r   g   u   m   e   n   t   s       f   r   o   m       b
0006320    e   i   n   g       e   v   a   l   u   a   t   e   d   .    
0006340        I   t   s       v   a   l   u   e       i   s       {   a
0006360    r   g       X   }       i   t   s   e   l   f   ,       e   .
0006400    g   .   ,       {   l   i   s   p       (   Q   U   O   T   E
0006420        F   O   O   )   }       i   s       {   l   i   s   p    
0006440    F   O   O   }   .  \r  \r   I   n   t   e   r   l   i   s   p
0006460        f   u   n   c   t   i   o   n   s       c   a   n       e
0006500    i   t   h   e   r       e   v   a   l   u   a   t   e       o
0006520    r       n   o   t       e   v   a   l   u   a   t   e       t
0006540    h   e   i   r       a   r   g   u   m   e   n   t   s   .    
0006560        {   f   n       Q   U   O   T   E   }       c   a   n    
0006600    b   e       u   s   e   d       i   n       t   h   o   s   e
0006620        c   a   s   e   s       w   h   e   r   e       i   t    
0006640    i   s       d   e   s   i   r   a   b   l   e       t   o    
0006660    s   p   e   c   i   f   y       a   r   g   u   m   e   n   t
0006700    s       u   n   e   v   a   l   u   a   t   e   d   .  \r  \r
0006720    {   i   n   d   e   x       '       (   R   e   a   d       m
0006740    a   c   r   o   )   }   N   o   t   e   :           T   h   e
0006760        c   h   a   r   a   c   t   e   r       s   i   n   g   l
0007000    e   -   q   u   o   t   e       (   '   )       i   s       d
0007020    e   f   i   n   e   d       w   i   t   h       a       r   e
0007040    a   d       m   a   c   r   o       s   o       i   t       r
0007060    e   t   u   r   n   s       t   h   e       n   e   x   t    
0007100    e   x   p   r   e   s   s   i   o   n   ,       w   r   a   p
0007120    p   e   d       i   n       a       c   a   l   l       t   o
0007140        {   l   i   s   p       Q   U   O   T   E   }       (   {
0007160    P   a   g   e   R   e   f       (   R   e   a   d       m   a
0007200    c   r   o   )       '   }   )   .           F   o   r       e
0007220    x   a   m   p   l   e   ,       {   l   i   s   p       '   F
0007240    O   O   }       r   e   a   d   s       a   s       {   l   i
0007260    s   p       (   Q   U   O   T   E       F   O   O   )   }   .
0007300            T   h   i   s       i   s       t   h   e       f   o
0007320    r   m       u   s   e   d       f   o   r       e   x   a   m
0007340    p   l   e   s       i   n       t   h   i   s       m   a   n
0007360    u   a   l   .  \r  \r   S   i   n   c   e       g   i   v   i
0007400    n   g       {   f   n       Q   U   O   T   E   }       m   o
0007420    r   e       t   h   a   n       o   n   e       a   r   g   u
0007440    m   e   n   t       i   s       a   l   m   o   s   t       a
0007460    l   w   a   y   s       a       p   a   r   e   n   t   h   e
0007500    s   e   s       e   r   r   o   r   ,       a   n   d       o
0007520    n   e       t   h   a   t       w   o   u   l   d       o   t
0007540    h   e   r   w   i   s   e       g   o       u   n   d   e   t
0007560    e   c   t   e   d   ,       {   f   n       Q   U   O   T   E
0007600    }       i   t   s   e   l   f       g   e   n   e   r   a   t
0007620    e   s       a   n       e   r   r   o   r       i   n       t
0007640    h   i   s       c   a   s   e   ,       {   l   i   s   p    
0007660    P   A   R   E   N   T   H   E   S   I   S       E   R   R   O
0007700    R   }   .   {   i   n   d   e   x       P   A   R   E   N   T
0007720    H   E   S   I   S       E   R   R   O   R       E   r   r   o
0007740    r   }  \r   }   }  \r  \r  \r   {   F   n   D   e   f       {
0007760    F   n   N   a   m   e       K   W   O   T   E   }       {   F
0010000    n   A   r   g   s       X   }  \r   {   T   e   x   t  \r   V
0010020    a   l   u   e       i   s       a   n       e   x   p   r   e
0010040    s   s   i   o   n       w   h   i   c   h       w   h   e   n
0010060        e   v   a   l   u   a   t   e   d       y   i   e   l   d
0010100    s       {   a   r   g       X   }   .           I   f       {
0010120    a   r   g       X   }       i   s       {   l   i   s   p    
0010140    N   I   L   }       o   r       a       n   u   m   b   e   r
0010160    ,       t   h   i   s       i   s       {   a   r   g       X
0010200    }       i   t   s   e   l   f   .           O   t   h   e   r
0010220    w   i   s   e   ,       {   l   i   s   p       (   L   I   S
0010240    T       (   Q   U   O   T   E       Q   U   O   T   E   )    
0010260    {   a   r   g       X   }   )   }   .           F   o   r    
0010300    e   x   a   m   p   l   e   ,  \r  \r   {   l   i   s   p   c
0010320    o   d   e       (   K   W   O   T   E       5   )           =
0010340    >           5   }  \r  \r   {   l   i   s   p   c   o   d   e
0010360        (   K   W   O   T   E       (   C   O   N   S       '   A
0010400        '   B   )   )           =   >           (   Q   U   O   T
0010420    E       (   A       .       B   )   )   }  \r   }   }  \r  \r
0010440   \r   {   F   n   D   e   f       {   N   a   m   e       N   L
0010460    A   M   B   D   A   .   A   R   G   S   }       {   A   r   g
0010500    s       X   }  \r   {   T   e   x   t  \r   T   h   i   s    
0010520    f   u   n   c   t   i   o   n       i   n   t   e   r   p   r
0010540    e   t   s       i   t   s       a   r   g   u   m   e   n   t
0010560        a   s       a       l   i   s   t       o   f       u   n
0010600    e   v   a   l   u   a   t   e   d       N   l   a   m   b   d
0010620    a       a   r   g   u   m   e   n   t   s   .           I   f
0010640        a   n   y       o   f       t   h   e       e   l   e   m
0010660    e   n   t   s       i   n       t   h   i   s       l   i   s
0010700    t       a   r   e       o   f       t   h   e       f   o   r
0010720    m       {   l   i   s   p       (   Q   U   O   T   E       {
0010740    e   l   l   i   p   s   i   s   }   )   }   ,       t   h   e
0010760        e   n   c   l   o   s   i   n   g       {   f   n       Q
0011000    U   O   T   E   }       i   s       s   t   r   i   p   p   e
0011020    d       o   f   f   .           A   c   t   u   a   l   l   y
0011040    ,       {   f   n       N   L   A   M   B   D   A   .   A   R
0011060    G   S   }       s   t   o   p   s       p   r   o   c   e   s
0011100    s   i   n   g       t   h   e       l   i   s   t       a   f
0011120    t   e   r       t   h   e       f   i   r   s   t       n   o
0011140    n   -   q   u   o   t   e   d       a   r   g   u   m   e   n
0011160    t   .           T   h   e   r   e   f   o   r   e   ,       w
0011200    h   e   r   e   a   s       {   l   i   s   p       (   N   L
0011220    A   M   B   D   A   .   A   R   G   S       '   (   (   Q   U
0011240    O   T   E       F   O   O   )       B   A   R   )   )   }    
0011260    -   >       {   l   i   s   p       (   F   O   O       B   A
0011300    R   )   }   ,       {   l   i   s   p       (   N   L   A   M
0011320    B   D   A   .   A   R   G   S       '   (   F   O   O       (
0011340    Q   U   O   T   E       B   A   R   )   )   )   }       -   >
0011360        {   l   i   s   p       (   F   O   O       (   Q   U   O
0011400    T   E       B   A   R   )   )   }   .  \r  \r   {   f   n    
0011420    N   L   A   M   B   D   A   .   A   R   G   S   }       i   s
0011440        c   a   l   l   e   d       b   y       a       n   u   m
0011460    b   e   r       o   f       n   l   a   m   b   d   a       f
0011500    u   n   c   t   i   o   n   s       i   n       t   h   e    
0011520    s   y   s   t   e   m   ,       t   o       i   n   t   e   r
0011540    p   r   e   t       t   h   e   i   r       a   r   g   u   m
0011560    e   n   t   s   .           F   o   r       i   n   s   t   a
0011600    n   c   e   ,       t   h   e       f   u   n   c   t   i   o
0011620    n       {   f   n       B   R   E   A   K   }       c   a   l
0011640    l   s       {   f   n       N   L   A   M   B   D   A   .   A
0011660    R   G   S   }       s   o       t   h   a   t       {   l   i
0011700    s   p       (   B   R   E   A   K       '   F   O   O   )   }
0011720        w   i   l   l       b   r   e   a   k       t   h   e    
0011740    f   u   n   c   t   i   o   n       {   l   i   s   p       F
0011760    O   O   }   ,       r   a   t   h   e   r       t   h   a   n
0012000        t   h   e       f   u   n   c   t   i   o   n       {   f
0012020    n       Q   U   O   T   E   }   .  \r   }   }  \r  \r  \r   {
0012040    i   n   d   e   x       *   P   R   I   M   A   R   Y   *    
0012060    A   s   s   o   c   i   a   t   i   o   n       l   i   s   t
0012100    s       i   n       E   V   A   L   A   }  \r  \r   {   F   n
0012120    D   e   f       {   F   n   N   a   m   e       E   V   A   L
0012140    A   }       {   F   n   A   r   g   s       X       A   }  \r
0012160    {   T   e   x   t  \r   S   i   m   u   l   a   t   e   s    
0012200    a   s   s   o   c   i   a   t   i   o   n       l   i   s   t
0012220        v   a   r   i   a   b   l   e       l   o   o   k   u   p
0012240    .           {   a   r   g       X   }       i   s       a    
0012260    f   o   r   m   ,       {   a   r   g       A   }       i   s
0012300        a       l   i   s   t       o   f       t   h   e       f
0012320    o   r   m   :  \r  \r   {   l   i   s   p   c   o   d   e    
0012340    (       (   {   a   r   g       N   A   M   E   {   s   u   b
0012360        1   }   }       .       {   a   r   g       V   A   L   {
0012400    s   u   b       1   }   }   )       (   {   a   r   g       N
0012420    A   M   E   {   s   u   b       2   }   }       .       {   a
0012440    r   g       V   A   L   {   s   u   b       2   }   }   )    
0012460    {   e   l   l   i   p   s   i   s   }       (   {   a   r   g
0012500        N   A   M   E   {   s   u   b       N   }   }       .    
0012520    {   a   r   g       V   A   L   {   s   u   b       N   }   }
0012540    )       )   }  \r  \r   T   h   e       v   a   r   i   a   b
0012560    l   e       n   a   m   e   s       a   n   d       v   a   l
0012600    u   e   s       i   n       {   a   r   g       A   }       a
0012620    r   e       "   s   p   r   e   a   d   "       o   n       t
0012640    h   e       s   t   a   c   k   ,       a   n   d       t   h
0012660    e   n       {   a   r   g       X   }       i   s       e   v
0012700    a   l   u   a   t   e   d   .           T   h   e   r   e   f
0012720    o   r   e   ,       a   n   y       v   a   r   i   a   b   l
0012740    e   s       a   p   p   e   a   r   i   n   g       f   r   e
0012760    e       i   n       {   a   r   g       X   }   ,       t   h
0013000    a   t       a   l   s   o       a   p   p   e   a   r   s    
0013020    a   s       {   f   n       C   A   R   }       o   f       a
0013040    n       e   l   e   m   e   n   t       o   f       {   a   r
0013060    g       A   }       w   i   l   l       b   e       g   i   v
0013100    e   n       t   h   e       v   a   l   u   e       i   n    
0013120    t   h   e       {   f   n       C   D   R   }       o   f    
0013140    t   h   a   t       e   l   e   m   e   n   t   .  \r  \r   {
0013160    B   e   g   i   n       N   o   t   e   }  \r   i   n       I
0013200    n   t   e   r   l   i   s   p   -   1   0   ,       A   B   C
0013220    ,       e   v   a   l   a   (   f   o   o       (   (   f   o
0013240    o       .       a   )       (   f   o   o       .       b   )
0013260    )           -   >       B  \r   i   n       I   n   t   e   r
0013300    l   i   s   p   -   D   ,       e   v   a   l   a   (   f   o
0013320    o       (   (   f   o   o       .       a   )       (   f   o
0013340    o       .       b   )   )           -   >       A  \r   d   o
0013360    c   ?   ?  \r   {   E   n   d       N   o   t   e   }  \r   }
0013400    }  \r  \r  \r  \r   {   i   n   d   e   x       *   P   R   I
0013420    M   A   R   Y   *       E   v   a   l   u   a   t   i   n   g
0013440        d   a   t   a       t   y   p   e   s   }  \r   {   i   n
0013460    d   e   x       *   P   R   I   M   A   R   Y   *       D   a
0013500    t   a       t   y   p   e       e   v   a   l   u   a   t   i
0013520    n   g   }  \r  \r   {   F   n   D   e   f       {   F   n   N
0013540    a   m   e       D   E   F   E   V   A   L   }       {   F   n
0013560    A   r   g   s       T   Y   P   E       F   N   }  \r   {   T
0013600    e   x   t  \r   S   p   e   c   i   f   i   e   s       h   o
0013620    w       a       d   a   t   u   m       o   f       a       p
0013640    a   r   t   i   c   u   l   a   r       t   y   p   e       i
0013660    s       t   o       b   e       e   v   a   l   u   a   t   e
0013700    d   .           I   n   t   e   n   d   e   d       p   r   i
0013720    m   a   r   i   l   y       f   o   r       u   s   e   r    
0013740    d   e   f   i   n   e   d       d   a   t   a       t   y   p
0013760    e   s   ,       b   u   t       w   o   r   k   s       f   o
0014000    r       a   l   l       d   a   t   a       t   y   p   e   s
0014020        e   x   c   e   p   t       l   i   s   t   s   ,       l
0014040    i   t   e   r   a   l       a   t   o   m   s   ,       a   n
0014060    d       n   u   m   b   e   r   s   .           {   a   r   g
0014100        T   Y   P   E   }       i   s       a       t   y   p   e
0014120        n   a   m   e   .           {   a   r   g       F   N   }
0014140        i   s       a       f   u   n   c   t   i   o   n       o
0014160    b   j   e   c   t   ,       i   .   e   .       n   a   m   e
0014200        o   f       a       f   u   n   c   t   i   o   n       o
0014220    r       a       l   a   m   b   d   a       e   x   p   r   e
0014240    s   s   i   o   n   .           W   h   e   n   e   v   e   r
0014260        t   h   e       i   n   t   e   r   p   r   e   t   e   r
0014300        e   n   c   o   u   n   t   e   r   s       a       d   a
0014320    t   u   m       o   f       t   h   e       i   n   d   i   c
0014340    a   t   e   d       t   y   p   e   ,       {   a   r   g    
0014360    F   N   }       i   s       a   p   p   l   i   e   d       t
0014400    o       t   h   e       d   a   t   u   m       a   n   d    
0014420    i   t   s       v   a   l   u   e       r   e   t   u   r   n
0014440    e   d       a   s       t   h   e       r   e   s   u   l   t
0014460        o   f       t   h   e       e   v   a   l   u   a   t   i
0014500    o   n   .           {   f   n       D   E   F   E   V   A   L
0014520    }       r   e   t   u   r   n   s       t   h   e       p   r
0014540    e   v   i   o   u   s       e   v   a   l   i   n   g       f
0014560    u   n   c   t   i   o   n       f   o   r       t   h   i   s
0014600        t   y   p   e   .           I   f       {   a   r   g    
0014620    F   N   }   =   {   l   i   s   p       N   I   L   }   ,    
0014640    {   f   n       D   E   F   E   V   A   L   }       r   e   t
0014660    u   r   n   s       t   h   e       c   u   r   r   e   n   t
0014700        e   v   a   l   i   n   g       f   u   n   c   t   i   o
0014720    n       w   i   t   h   o   u   t       c   h   a   n   g   i
0014740    n   g       i   t   .           I   f       {   a   r   g    
0014760    F   N   }   =   {   l   i   s   p       T   }   ,       t   h
0015000    e       e   v   a   l   i   n   g       f   u   n   c   t   i
0015020    o   n       i   s       s   e   t       b   a   c   k       t
0015040    o       t   h   e       s   y   s   t   e   m       d   e   f
0015060    a   u   l   t       (   w   h   i   c   h       f   o   r    
0015100    a   l   l       d   a   t   a       t   y   p   e   s       e
0015120    x   c   e   p   t       l   i   s   t   s       i   s       t
0015140    o       r   e   t   u   r   n       t   h   e       d   a   t
0015160    u   m       i   t   s   e   l   f   )   .  \r  \r   N   o   t
0015200    e   :           {   v   a   r       C   O   M   P   I   L   E
0015220    T   Y   P   E   L   S   T   }       (   {   P   a   g   e   R
0015240    e   f       V   a   r       C   O   M   P   I   L   E   T   Y
0015260    P   E   L   S   T   }   )       {   i   n   d   e   x       C
0015300    O   M   P   I   L   E   T   Y   P   E   L   S   T       V   a
0015320    r   }       p   e   r   m   i   t   s       t   h   e       u
0015340    s   e   r       t   o       s   p   e   c   i   f   y       h
0015360    o   w       a       d   a   t   u   m       o   f       a    
0015400    p   a   r   t   i   c   u   l   a   r       t   y   p   e    
0015420    i   s       t   o       b   e       c   o   m   p   i   l   e
0015440    d   .  \r   }   }  \r  \r  \r   {   F   n   D   e   f       {
0015460    F   n   N   a   m   e       E   V   A   L   H   O   O   K   }
0015500        {   F   n   A   r   g   s       F   O   R   M       E   V
0015520    A   L   H   O   O   K   F   N   }  \r   {   T   e   x   t  \r
0015540    {   f   n       E   V   A   L   H   O   O   K   }       e   v
0015560    a   l   u   a   t   e   s       t   h   e       e   x   p   r
0015600    e   s   s   i   o   n       {   a   r   g       F   O   R   M
0015620    }   ,       a   n   d       r   e   t   u   r   n   s       i
0015640    t   s       v   a   l   u   e   .           W   h   i   l   e
0015660        e   v   a   l   u   a   t   i   n   g       {   a   r   g
0015700        F   O   R   M   }   ,       t   h   e       f   u   n   c
0015720    t   i   o   n       {   f   n       E   V   A   L   }       b
0015740    e   h   a   v   e   s       i   n       a       s   p   e   c
0015760    i   a   l       w   a   y   .           W   h   e   n   e   v
0016000    e   r       a       l   i   s   t       o   t   h   e   r    
0016020    t   h   a   n       {   a   r   g       F   O   R   M   }    
0016040    i   t   s   e   l   f       i   s       t   o       b   e    
0016060    e   v   a   l   u   a   t   e   d   ,       w   h   e   t   h
0016100    e   r       i   m   p   l   i   c   i   t   l   y       o   r
0016120        v   i   a       a   n       e   x   p   l   i   c   i   t
0016140        c   a   l   l       t   o       {   f   n       E   V   A
0016160    L   }   ,       {   a   r   g       E   V   A   L   H   O   O
0016200    K   F   N   }       i   s       i   n   v   o   k   e   d    
0016220    (   i   t       s   h   o   u   l   d       b   e       a    
0016240    f   u   n   c   t   i   o   n   )   ,       w   i   t   h    
0016260    t   h   e       f   o   r   m       t   o       b   e       e
0016300    v   a   l   u   a   t   e   d       a   s       i   t   s    
0016320    a   r   g   u   m   e   n   t   .           {   a   r   g    
0016340    E   V   A   L   H   O   O   K   F   N   }       i   s       t
0016360    h   e   n       r   e   s   p   o   n   s   i   b   l   e    
0016400    f   o   r       e   v   a   l   u   a   t   i   n   g       t
0016420    h   e       f   o   r   m   ;       w   h   a   t   e   v   e
0016440    r       i   s       r   e   t   u   r   n   e   d       i   s
0016460        a   s   s   u   m   e   d       t   o       b   e       t
0016500    h   e       r   e   s   u   l   t       o   f       e   v   a
0016520    l   u   a   t   i   n   g       t   h   e       f   o   r   m
0016540    .           D   u   r   i   n   g       t   h   e       e   x
0016560    e   c   u   t   i   o   n       o   f       {   a   r   g    
0016600    E   V   A   L   H   O   O   K   F   N   }   ,       t   h   i
0016620    s       s   p   e   c   i   a   l       e   v   a   l   u   a
0016640    t   i   o   n       i   s       t   u   r   n   e   d       o
0016660    f   f   .           (   N   o   t   e       t   h   a   t    
0016700    {   f   n       E   V   A   L   H   O   O   K   }       d   o
0016720    e   s       n   o   t       e   f   f   e   c   t       t   h
0016740    e       e   v   a   l   u   a   t   i   o   n   s       o   f
0016760        v   a   r   i   a   b   l   e   s   ,       o   n   l   y
0017000        o   f       l   i   s   t   s   )   .  \r  \r   H   e   r
0017020    e       i   s       a   n       e   x   a   m   p   l   e    
0017040    o   f       a       s   i   m   p   l   e       t   r   a   c
0017060    i   n   g       r   o   u   t   i   n   e       t   h   a   t
0017100        u   s   e   s       t   h   e       {   f   n       E   V
0017120    A   L   H   O   O   K   }       f   e   a   t   u   r   e   :
0017140   \r  \r   {   l   i   s   p   c   o   d   e  \r   _   (   D   E
0017160    F   I   N   E   Q       (   P   R   I   N   T   H   O   O   K
0017200        (   F   O   R   M   )      \r  \t   (   p   r   i   n   t
0017220    o   u   t       T       "   e   v   a   l   :       "       F
0017240    O   R   M       T   )      \r  \t   (   E   V   A   L   H   O
0017260    O   K       F   O   R   M       (   F   U   N   C   T   I   O
0017300    N       P   R   I   N   T   H   O   O   K   ]  \r   (   P   R
0017320    I   N   T   H   O   O   K   )   }  \r  \r   U   s   i   n   g
0017340        {   l   i   s   p       P   R   I   N   T   H   O   O   K
0017360    }   ,       o   n   e       m   i   g   h   t       s   e   e
0017400        t   h   e       f   o   l   l   o   w   i   n   g       i
0017420    n   t   e   r   a   c   t   i   o   n   :  \r  \r   {   l   i
0017440    s   p   c   o   d   e  \r   _   (   E   V   A   L   H   O   O
0017460    K       '   (   L   I   S   T       (   C   O   N   S       1
0017500        2   )       (   C   O   N   S       3       4   )   )    
0017520    '   P   R   I   N   T   H   O   O   K   )  \r   e   v   a   l
0017540    :       (   C   O   N   S       1       2   )  \r   e   v   a
0017560    l   :       (   C   O   N   S       3       4   )  \r   (   (
0017600    1       .       2   )       (   3       .       4   )   )   }
0017620   \r   }   }  \r  \r  \r  \r  \r   }   {   E   n   d       S   u
0017640    b   S   e   c       E   v   a   l   u   a   t   i   n   g    
0017660    F   u   n   c   t   i   o   n   s       a   n   d       E   x
0017700    p   r   e   s   s   i   o   n   s   }  \r  \r  \r  \r   {   B
0017720    e   g   i   n       S   u   b   S   e   c       I   t   e   r
0017740    a   t   i   n   g       a   n   d       M   a   p   p   i   n
0017760    g       F   u   n   c   t   i   o   n   s   }  \r   {   T   i
0020000    t   l   e       I   t   e   r   a   t   i   n   g       a   n
0020020    d       M   a   p   p   i   n   g       F   u   n   c   t   i
0020040    o   n   s   }  \r   {   T   e   x   t  \r  \r   T   h   e    
0020060    f   u   n   c   t   i   o   n   s       b   e   l   o   w    
0020100    a   r   e       u   s   e   d       t   o       e   v   a   l
0020120    u   a   t   e       a       f   o   r   m       o   r       a
0020140    p   p   l   y       a       f   u   n   c   t   i   o   n    
0020160    r   e   p   e   a   t   e   d   l   y   .           {   f   n
0020200        R   P   T   }   ,       {   f   n       R   P   T   Q   }
0020220    ,       a   n   d       {   f   n       F   R   P   T   Q   }
0020240        e   v   a   l   u   a   t   e       a   n       e   x   p
0020260    r   e   s   s   i   o   n       a       s   p   e   c   i   f
0020300    i   e   d       n   u   m   b   e   r       o   f       t   i
0020320    m   e   s   .           {   f   n       M   A   P   }   ,    
0020340    {   f   n       M   A   P   C   A   R   }   ,       {   f   n
0020360        M   A   P   L   I   S   T   }   ,       e   t   c   .    
0020400    a   p   p   l   y       a       g   i   v   e   n       f   u
0020420    n   c   t   i   o   n       r   e   p   e   a   t   e   d   l
0020440    y       t   o       d   i   f   f   e   r   e   n   t       e
0020460    l   e   m   e   n   t   s       o   f       a       l   i   s
0020500    t   ,       p   o   s   s   i   b   l   y       c   o   n   s
0020520    t   r   u   c   t   i   n   g       a   n   o   t   h   e   r
0020540        l   i   s   t   .  \r  \r   T   h   e   s   e       f   u
0020560    n   c   t   i   o   n   s       a   l   l   o   w       e   f
0020600    f   i   c   i   e   n   t       i   t   e   r   a   t   i   v
0020620    e       c   o   m   p   u   t   a   t   i   o   n   s   ,    
0020640    b   u   t       t   h   e   y       a   r   e       d   i   f
0020660    f   i   c   u   l   t       t   o       u   s   e   .        
0020700    F   o   r       p   r   o   g   r   a   m   m   i   n   g    
0020720    i   t   e   r   a   t   i   v   e       c   o   m   p   u   t
0020740    a   t   i   o   n   s   ,       i   t       i   s       u   s
0020760    u   a   l   l   y       b   e   t   t   e   r       t   o    
0021000    u   s   e       t   h   e       C   L   I   S   P       I   t
0021020    e   r   a   t   i   v   e       S   t   a   t   e   m   e   n
0021040    t       f   a   c   i   l   i   t   y       (   {   P   a   g
0021060    e   R   e   f       T   a   g       I   t   e   r   a   t   i
0021100    v   e   S   t   a   t   e   m   e   n   t   }   )   ,       w
0021120    h   i   c   h       p   r   o   v   i   d   e   s       a    
0021140    m   o   r   e       g   e   n   e   r   a   l       a   n   d
0021160        c   o   m   p   l   e   t   e       f   a   c   i   l   i
0021200    t   y       f   o   r       e   x   p   r   e   s   s   i   n
0021220    g       i   t   e   r   a   t   i   v   e       s   t   a   t
0021240    e   m   e   n   t   s   .           W   h   e   n   e   v   e
0021260    r       p   o   s   s   i   b   l   e   ,       C   L   I   S
0021300    P       t   r   a   n   s   l   a   t   e   s       i   t   e
0021320    r   a   t   i   v   e       s   t   a   t   e   m   e   n   t
0021340    s       i   n   t   o       e   x   p   r   e   s   s   i   o
0021360    n   s       u   s   i   n   g       t   h   e       f   u   n
0021400    c   t   i   o   n   s       b   e   l   o   w   ,       s   o
0021420        t   h   e   r   e       i   s       n   o       e   f   f
0021440    i   c   i   e   n   c   y       l   o   s   s   .  \r  \r  \r
0021460    {   F   n   D   e   f       {   F   n   N   a   m   e       R
0021500    P   T   }       {   F   n   A   r   g   s       N       F   O
0021520    R   M   }  \r   {   T   e   x   t  \r   E   v   a   l   u   a
0021540    t   e   s       t   h   e       e   x   p   r   e   s   s   i
0021560    o   n       {   a   r   g       F   O   R   M   }   ,       {
0021600    a   r   g       N   }       t   i   m   e   s   .           R
0021620    e   t   u   r   n   s       t   h   e       v   a   l   u   e
0021640        o   f       t   h   e       l   a   s   t       e   v   a
0021660    l   u   a   t   i   o   n   .           I   f       {   a   r
0021700    g       N   }       l   e   s   s       t   h   a   n       o
0021720    r       e   q   u   a   l       t   o       0   ,       {   a
0021740    r   g       F   O   R   M   }       i   s       n   o   t    
0021760    e   v   a   l   u   a   t   e   d   ,       a   n   d       {
0022000    f   n       R   P   T   }       r   e   t   u   r   n   s    
0022020    {   l   i   s   p       N   I   L   }   .  \r  \r   B   e   f
0022040    o   r   e       e   a   c   h       e   v   a   l   u   a   t
0022060    i   o   n   ,       t   h   e       l   o   c   a   l       v
0022100    a   r   i   a   b   l   e       {   l   i   s   p       R   P
0022120    T   N   }       i   s       b   o   u   n   d       t   o    
0022140    t   h   e       n   u   m   b   e   r       o   f       e   v
0022160    a   l   u   a   t   i   o   n   s       y   e   t       t   o
0022200        t   a   k   e       p   l   a   c   e   .           T   h
0022220    i   s       v   a   r   i   a   b   l   e       c   a   n    
0022240    b   e       r   e   f   e   r   e   n   c   e   d       w   i
0022260    t   h   i   n       {   a   r   g       F   O   R   M   }   .
0022300            F   o   r       e   x   a   m   p   l   e   ,       {
0022320    l   i   s   p       (   R   P   T       1   0       '   (   P
0022340    R   I   N   T       R   P   T   N   )   )   }       w   i   l
0022360    l       p   r   i   n   t       t   h   e       n   u   m   b
0022400    e   r   s       1   0   ,       9   ,       {   e   l   l   i
0022420    p   s   i   s   }       1   ,       a   n   d       r   e   t
0022440    u   r   n       1   .  \r  \r   {   n   o   t   e       R   T
0022460    P   N       c   a   n       a   l   s   o       b   e       s
0022500    e   t       w   i   t   h   i   n       t   h   e       f   o
0022520    r   m   ,       c   h   a   n   g   i   n   g       t   h   e
0022540        n   u   m   b   e   r       o   f       i   t   e   r   a
0022560    t   i   o   n   s   }  \r   }   }  \r  \r  \r  \r   {   F   n
0022600    D   e   f       {   F   n   N   a   m   e       R   P   T   Q
0022620    }       {   F   n   A   r   g   s       N       F   O   R   M
0022640    {   S   U   B       1   }       F   O   R   M   {   S   U   B
0022660        2   }       {   e   l   l   i   p   s   i   s   }       F
0022700    O   R   M   {   S   U   B       N   }   }  \r   {   T   y   p
0022720    e       N   O   S   P   R   E   A   D       N   L   A   M   B
0022740    D   A   }  \r   {   T   e   x   t  \r   N   l   a   m   b   d
0022760    a   -   n   o   s   p   r   e   a   d       v   e   r   s   i
0023000    o   n       o   f       {   f   n       R   P   T   }   :    
0023020    {   a   r   g       N   }       i   s       e   v   a   l   u
0023040    a   t   e   d   ,       {   a   r   g       F   O   R   M   {
0023060    S   U   B       i   }   }       a   r   e       n   o   t   .
0023100            R   e   t   u   r   n   s       t   h   e       v   a
0023120    l   u   e       o   f       t   h   e       l   a   s   t    
0023140    e   v   a   l   u   a   t   i   o   n       o   f       {   a
0023160    r   g       F   O   R   M   {   S   U   B       N   }   }   .
0023200            }   }  \r  \r  \r   {   F   n   D   e   f       {   F
0023220    n   N   a   m   e       F   R   P   T   Q   }       {   F   n
0023240    A   r   g   s       N       F   O   R   M   {   S   U   B    
0023260    1   }       F   O   R   M   {   S   U   B       2   }       {
0023300    e   l   l   i   p   s   i   s   }       F   O   R   M   {   S
0023320    U   B       N   }   }  \r   {   T   y   p   e       N   O   S
0023340    P   R   E   A   D       N   L   A   M   B   D   A   }  \r   {
0023360    T   e   x   t  \r   F   a   s   t   e   r       v   e   r   s
0023400    i   o   n       o   f       {   f   n       R   P   T   Q   }
0023420    .           D   o   e   s       n   o   t       b   i   n   d
0023440        {   l   i   s   p       R   P   T   N   }   .  \r   }   }
0023460   \r  \r  \r   {   F   n   D   e   f       {   F   n   N   a   m
0023500    e       M   A   P   }       {   F   n   A   r   g   s       M
0023520    A   P   X       M   A   P   F   N   1       M   A   P   F   N
0023540    2   }  \r   {   T   e   x   t  \r   I   f       {   a   r   g
0023560        M   A   P   F   N   2   }       i   s       {   l   i   s
0023600    p       N   I   L   }   ,       {   f   n       M   A   P   }
0023620        a   p   p   l   i   e   s       t   h   e       f   u   n
0023640    c   t   i   o   n       {   a   r   g       M   A   P   F   N
0023660    1   }       t   o       s   u   c   c   e   s   s   i   v   e
0023700        t   a   i   l   s       o   f       t   h   e       l   i
0023720    s   t       {   a   r   g       M   A   P   X   }   .        
0023740    T   h   a   t       i   s   ,       f   i   r   s   t       i
0023760    t       c   o   m   p   u   t   e   s       {   l   i   s   p
0024000        (   {   a   r   g       M   A   P   F   N   1   }       {
0024020    a   r   g       M   A   P   X   }   )   }   ,       a   n   d
0024040        t   h   e   n       {   l   i   s   p       (   {   a   r
0024060    g       M   A   P   F   N   1   }       (   C   D   R       {
0024100    a   r   g       M   A   P   X   }   )   )   }   ,       e   t
0024120    c   .   ,       u   n   t   i   l       {   a   r   g       M
0024140    A   P   X   }       b   e   c   o   m   e   s       a       n
0024160    o   n   -   l   i   s   t   .           I   f       {   a   r
0024200    g       M   A   P   F   N   2   }       i   s       p   r   o
0024220    v   i   d   e   d   ,       {   l   i   s   p       (   {   a
0024240    r   g       M   A   P   F   N   2   }       {   a   r   g    
0024260    M   A   P   X   }   )   }       i   s       u   s   e   d    
0024300    i   n   s   t   e   a   d       o   f       {   l   i   s   p
0024320        (   C   D   R       {   a   r   g       M   A   P   X   }
0024340    )   }       f   o   r       t   h   e       n   e   x   t    
0024360    c   a   l   l       f   o   r       {   a   r   g       M   A
0024400    P   F   N   1   }   ,       e   .   g   .   ,       i   f    
0024420    {   a   r   g       M   A   P   F   N   2   }       w   e   r
0024440    e       {   f   n       C   D   D   R   }   ,       a   l   t
0024460    e   r   n   a   t   e       e   l   e   m   e   n   t   s    
0024500    o   f       t   h   e       l   i   s   t       w   o   u   l
0024520    d       b   e       s   k   i   p   p   e   d   .           {
0024540    f   n       M   A   P   }       r   e   t   u   r   n   s    
0024560    {   l   i   s   p       N   I   L   }   .  \r   }   }  \r  \r
0024600   \r   {   F   n   D   e   f       {   F   n   N   a   m   e    
0024620    M   A   P   C   }       {   F   n   A   r   g   s       M   A
0024640    P   X       M   A   P   F   N   1       M   A   P   F   N   2
0024660    }  \r   {   T   e   x   t  \r   I   d   e   n   t   i   c   a
0024700    l       t   o       {   f   n       M   A   P   }   ,       e
0024720    x   c   e   p   t       t   h   a   t       {   l   i   s   p
0024740        (   {   a   r   g       M   A   P   F   N   1   }       (
0024760    C   A   R       {   a   r   g       M   A   P   X   }   )   )
0025000    }       i   s       c   o   m   p   u   t   e   d       a   t
0025020        e   a   c   h       i   t   e   r   a   t   i   o   n    
0025040    i   n   s   t   e   a   d       o   f       {   l   i   s   p
0025060        (   {   a   r   g       M   A   P   F   N   1   }       {
0025100    a   r   g       M   A   P   X   }   )   }   ,       i   .   e
0025120    .   ,       {   f   n       M   A   P   C   }       w   o   r
0025140    k   s       o   n       e   l   e   m   e   n   t   s   ,    
0025160    {   f   n       M   A   P   }       o   n       t   a   i   l
0025200    s   .           {   f   n       M   A   P   C   }       r   e
0025220    t   u   r   n   s       {   l   i   s   p       N   I   L   }
0025240    .  \r   }   }  \r  \r  \r   {   F   n   D   e   f       {   F
0025260    n   N   a   m   e       M   A   P   L   I   S   T   }       {
0025300    F   n   A   r   g   s       M   A   P   X       M   A   P   F
0025320    N   1       M   A   P   F   N   2   }  \r   {   T   e   x   t
0025340   \r   S   u   c   c   e   s   s   i   v   e   l   y       c   o
0025360    m   p   u   t   e   s       t   h   e       s   a   m   e    
0025400    v   a   l   u   e   s       t   h   a   t       {   f   n    
0025420    M   A   P   }       w   o   u   l   d       c   o   m   p   u
0025440    t   e   ,       a   n   d       r   e   t   u   r   n   s    
0025460    a       l   i   s   t       c   o   n   s   i   s   t   i   n
0025500    g       o   f       t   h   o   s   e       v   a   l   u   e
0025520    s   .  \r   }   }  \r  \r  \r   {   F   n   D   e   f       {
0025540    F   n   N   a   m   e       M   A   P   C   A   R   }       {
0025560    F   n   A   r   g   s       M   A   P   X       M   A   P   F
0025600    N   1       M   A   P   F   N   2   }  \r   {   T   e   x   t
0025620   \r   C   o   m   p   u   t   e   s       t   h   e       s   a
0025640    m   e       v   a   l   u   e   s       t   h   a   t       {
0025660    f   n       M   A   P   C   }       w   o   u   l   d       c
0025700    o   m   p   u   t   e   ,       a   n   d       r   e   t   u
0025720    r   n   s       a       l   i   s   t       c   o   n   s   i
0025740    s   t   i   n   g       o   f       t   h   o   s   e       v
0025760    a   l   u   e   s   ,       e   .   g   .   ,       {   l   i
0026000    s   p       (   M   A   P   C   A   R       X       '   F   N
0026020    T   Y   P   )   }       i   s       a       l   i   s   t    
0026040    o   f       {   f   n       F   N   T   Y   P   }   s       f
0026060    o   r       e   a   c   h       e   l   e   m   e   n   t    
0026100    o   n       {   l   i   s   p       X   }   .  \r   }   }  \r
0026120   \r  \r   {   F   n   D   e   f       {   F   n   N   a   m   e
0026140        M   A   P   C   O   N   }       {   F   n   A   r   g   s
0026160        M   A   P   X       M   A   P   F   N   1       M   A   P
0026200    F   N   2   }  \r   {   T   e   x   t  \r   C   o   m   p   u
0026220    t   e   s       t   h   e       s   a   m   e       v   a   l
0026240    u   e   s       a   s       {   f   n       M   A   P   }    
0026260    a   n   d       {   f   n       M   A   P   L   I   S   T   }
0026300        b   u   t       {   f   n       N   C   O   N   C   }   s
0026320        t   h   e   s   e       v   a   l   u   e   s       t   o
0026340        f   o   r   m       a       l   i   s   t       w   h   i
0026360    c   h       i   t       r   e   t   u   r   n   s   .  \r   }
0026400    }  \r  \r  \r   {   F   n   D   e   f       {   F   n   N   a
0026420    m   e       M   A   P   C   O   N   C   }       {   F   n   A
0026440    r   g   s       M   A   P   X       M   A   P   F   N   1    
0026460    M   A   P   F   N   2   }  \r   {   T   e   x   t  \r   C   o
0026500    m   p   u   t   e   s       t   h   e       s   a   m   e    
0026520    v   a   l   u   e   s       a   s       {   f   n       M   A
0026540    P   C   }       a   n   d       {   f   n       M   A   P   C
0026560    A   R   }   ,       b   u   t       {   f   n       N   C   O
0026600    N   C   }   s       t   h   e       v   a   l   u   e   s    
0026620    t   o       f   o   r   m       a       l   i   s   t       w
0026640    h   i   c   h       i   t       r   e   t   u   r   n   s   .
0026660   \r   }   }  \r  \r  \r   N   o   t   e       t   h   a   t    
0026700    {   f   n       M   A   P   C   A   R   }       c   r   e   a
0026720    t   e   s       a       n   e   w       l   i   s   t       w
0026740    h   i   c   h       i   s       a       m   a   p   p   i   n
0026760    g       o   f       t   h   e       o   l   d       l   i   s
0027000    t       i   n       t   h   a   t       e   a   c   h       e
0027020    l   e   m   e   n   t       o   f       t   h   e       n   e
0027040    w       l   i   s   t       i   s       t   h   e       r   e
0027060    s   u   l   t       o   f       a   p   p   l   y   i   n   g
0027100        a       f   u   n   c   t   i   o   n       t   o       t
0027120    h   e       c   o   r   r   e   s   p   o   n   d   i   n   g
0027140        e   l   e   m   e   n   t       o   n       t   h   e    
0027160    o   r   i   g   i   n   a   l       l   i   s   t   .        
0027200    {   f   n       M   A   P   C   O   N   C   }       i   s    
0027220    u   s   e   d       w   h   e   n       t   h   e   r   e    
0027240    a   r   e       a       {   i   t       v   a   r   i   a   b
0027260    l   e   }       n   u   m   b   e   r       o   f       e   l
0027300    e   m   e   n   t   s       (   i   n   c   l   u   d   i   n
0027320    g       n   o   n   e   )       t   o       b   e       i   n
0027340    s   e   r   t   e   d       a   t       e   a   c   h       i
0027360    t   e   r   a   t   i   o   n   .           E   x   a   m   p
0027400    l   e   s   :  \r  \r   {   l   i   s   p   c   o   d   e  \r
0027420    (   M   A   P   C   O   N   C       '   (   A       B       C
0027440        N   I   L       D       N   I   L   )  \r                
0027460                        '   (   L   A   M   B   D   A       (   Y
0027500    )       (   i   f       (   N   U   L   L       Y   )       t
0027520    h   e   n       N   I   L       e   l   s   e       (   L   I
0027540    S   T       Y   )   )   )   )  \r           =   >           (
0027560    A       B       C       D   )   }  \r  \r   T   h   i   s    
0027600    {   f   n       M   A   P   C   O   N   C   }       r   e   t
0027620    u   r   n   s       a       l   i   s   t       c   o   n   s
0027640    i   s   t   i   n   g       o   f       {   a   r   g       M
0027660    A   P   X   }       w   i   t   h       a   l   l       {   l
0027700    i   s   p       N   I   L   }   s       r   e   m   o   v   e
0027720    d   .  \r  \r   {   l   i   s   p   c   o   d   e  \r   (   M
0027740    A   P   C   O   N   C       '   (   (   A       B   )       C
0027760        (   D       E       F   )       (   G   )       H       I
0030000    )  \r                                       '   (   L   A   M
0030020    B   D   A       (   Y   )       (   i   f       (   L   I   S
0030040    T   P       Y   )       t   h   e   n       Y       e   l   s
0030060    e       N   I   L   )   )   )  \r           =   >           (
0030100    A       B       D       E       F       G   )   }  \r  \r   T
0030120    h   i   s       {   f   n       M   A   P   C   O   N   C   }
0030140        r   e   t   u   r   n   s       a       l   i   n   e   a
0030160    r       l   i   s   t       c   o   n   s   i   s   t   i   n
0030200    g       o   f       a   l   l       t   h   e       l   i   s
0030220    t   s       o   n       {   a   r   g       M   A   P   X   }
0030240    .  \r  \r  \r   S   i   n   c   e       {   f   n       M   A
0030260    P   C   O   N   C   }       u   s   e   s       {   f   n    
0030300    N   C   O   N   C   }       t   o       s   t   r   i   n   g
0030320        t   h   e       c   o   r   r   e   s   p   o   n   d   i
0030340    n   g       l   i   s   t   s       t   o   g   e   t   h   e
0030360    r   ,       i   n       t   h   i   s       e   x   a   m   p
0030400    l   e       t   h   e       o   r   i   g   i   n   a   l    
0030420    l   i   s   t       w   i   l   l       b   e       a   l   t
0030440    e   r   e   d       t   o       b   e       {   l   i   s   p
0030460        (   (   A       B       D       E       F       G   )    
0030500    C       (   D       E       F       G   )       (   G   )    
0030520    H       I   )   }   .           I   f       t   h   i   s    
0030540    i   s       a   n       u   n   d   e   s   i   r   a   b   l
0030560    e       s   i   d   e       e   f   f   e   c   t   ,       t
0030600    h   e       f   u   n   c   t   i   o   n   a   l       a   r
0030620    g   u   m   e   n   t       t   o       {   f   n       M   A
0030640    P   C   O   N   C   }       s   h   o   u   l   d       r   e
0030660    t   u   r   n       i   n   s   t   e   a   d       a       t
0030700    o   p       l   e   v   e   l       c   o   p   y       o   f
0030720        t   h   e       l   i   s   t   s   ,       i   .   e   .
0030740        {   l   i   s   p       (   L   A   M   B   D   A       (
0030760    Y   )       (   i   f       (   L   I   S   T   P       Y   )
0031000        t   h   e   n       (   A   P   P   E   N   D       Y   )
0031020        e   l   s   e       N   I   L   )   )   )   }   .  \r  \r
0031040   \r  \r   {   F   n   D   e   f       {   F   n   N   a   m   e
0031060        M   A   P   2   C   }       {   F   n   A   r   g   s    
0031100    M   A   P   X       M   A   P   Y       M   A   P   F   N   1
0031120        M   A   P   F   N   2   }  \r   {   T   e   x   t  \r   I
0031140    d   e   n   t   i   c   a   l       t   o       {   f   n    
0031160    M   A   P   C   }       e   x   c   e   p   t       {   a   r
0031200    g       M   A   P   F   N   1   }       i   s       a       f
0031220    u   n   c   t   i   o   n       o   f       t   w   o       a
0031240    r   g   u   m   e   n   t   s   ,       a   n   d       {   l
0031260    i   s   p       (   {   a   r   g       M   A   P   F   N   1
0031300    }       (   C   A   R       {   a   r   g       M   A   P   X
0031320    }   )       (   C   A   R       {   a   r   g       M   A   P
0031340    Y   }   )   )   }       i   s       c   o   m   p   u   t   e
0031360    d       a   t       e   a   c   h       i   t   e   r   a   t
0031400    i   o   n   .           T   e   r   m   i   n   a   t   e   s
0031420        w   h   e   n       e   i   t   h   e   r       {   a   r
0031440    g       M   A   P   X   }       o   r       {   a   r   g    
0031460    M   A   P   Y   }       i   s       a       n   o   n   -   l
0031500    i   s   t   .  \r  \r   {   a   r   g       M   A   P   F   N
0031520    2   }       i   s       s   t   i   l   l       a       f   u
0031540    n   c   t   i   o   n       o   f       o   n   e       a   r
0031560    g   u   m   e   n   t   ,       a   n   d       i   s       a
0031600    p   p   l   i   e   d       t   w   i   c   e       o   n    
0031620    e   a   c   h       i   t   e   r   a   t   i   o   n   ;    
0031640    {   l   i   s   p       (   {   a   r   g       M   A   P   F
0031660    N   2   }       {   a   r   g       M   A   P   X   }   )   }
0031700        g   i   v   e   s       t   h   e       n   e   w       {
0031720    a   r   g       M   A   P   X   }   ,       {   l   i   s   p
0031740        (   {   a   r   g       M   A   P   F   N   2   }       {
0031760    a   r   g       M   A   P   Y   }   )   }       t   h   e    
0032000    n   e   w       {   a   r   g       M   A   P   Y   }   .    
0032020        {   f   n       C   D   R   }       i   s       u   s   e
0032040    d       i   f       {   a   r   g       M   A   P   F   N   2
0032060    }       i   s       n   o   t       s   u   p   p   l   i   e
0032100    d   ,       i   .   e   .   ,       i   s       {   l   i   s
0032120    p       N   I   L   }   .  \r   }   }  \r  \r  \r  \r   {   F
0032140    n   D   e   f       {   F   n   N   a   m   e       M   A   P
0032160    2   C   A   R   }       {   F   n   A   r   g   s       M   A
0032200    P   X       M   A   P   Y       M   A   P   F   N   1       M
0032220    A   P   F   N   2   }  \r   {   T   e   x   t  \r   I   d   e
0032240    n   t   i   c   a   l       t   o       {   f   n       M   A
0032260    P   C   A   R   }       e   x   c   e   p   t       {   a   r
0032300    g       M   A   P   F   N   1   }       i   s       a       f
0032320    u   n   c   t   i   o   n       o   f       t   w   o       a
0032340    r   g   u   m   e   n   t   s       a   n   d       {   l   i
0032360    s   p       (   {   a   r   g       M   A   P   F   N   1   }
0032400        (   C   A   R       {   a   r   g       M   A   P   X   }
0032420    )       (   C   A   R       {   a   r   g       M   A   P   Y
0032440    }   )   )   }       i   s       u   s   e   d       t   o    
0032460    a   s   s   e   m   b   l   e       t   h   e       n   e   w
0032500        l   i   s   t   .           T   e   r   m   i   n   a   t
0032520    e   s       w   h   e   n       e   i   t   h   e   r       {
0032540    a   r   g       M   A   P   X   }       o   r       {   a   r
0032560    g       M   A   P   Y   }       i   s       a       n   o   n
0032600    -   l   i   s   t   .  \r   }   }  \r  \r  \r  \r   {   F   n
0032620    D   e   f       {   F   n   N   a   m   e       S   U   B   S
0032640    E   T   }       {   F   n   A   r   g   s       M   A   P   X
0032660        M   A   P   F   N   1       M   A   P   F   N   2   }  \r
0032700    {   T   e   x   t  \r   A   p   p   l   i   e   s       {   a
0032720    r   g       M   A   P   F   N   1   }       t   o       e   l
0032740    e   m   e   n   t   s       o   f       {   a   r   g       M
0032760    A   P   X   }       a   n   d  \r   r   e   t   u   r   n   s
0033000        a       l   i   s   t       o   f       t   h   o   s   e
0033020        e   l   e   m   e   n   t   s       f   o   r       w   h
0033040    i   c   h       t   h   i   s       a   p   p   l   i   c   a
0033060    t   i   o   n       i   s       n   o   n   -   {   l   i   s
0033100    p       N   I   L   }   ,       e   .   g   .   ,  \r  \r   {
0033120    l   i   s   p       (   S   U   B   S   E   T       '   (   A
0033140        B       3       C       4   )       '   N   U   M   B   E
0033160    R   P   )   }       =       {   l   i   s   p       (   3    
0033200    4   )   }   .  \r  \r   {   a   r   g       M   A   P   F   N
0033220    2   }       p   l   a   y   s       t   h   e       s   a   m
0033240    e       r   o   l   e       a   s       w   i   t   h       {
0033260    f   n       M   A   P   }   ,       {   f   n       M   A   P
0033300    C   }   ,       e   t       a   l   .  \r   }   }  \r  \r  \r
0033320    {   F   n   D   e   f       {   F   n   N   a   m   e       E
0033340    V   E   R   Y   }       {   F   n   A   r   g   s       E   V
0033360    E   R   Y   X       E   V   E   R   Y   F   N   1       E   V
0033400    E   R   Y   F   N   2   }  \r   {   T   e   x   t  \r   R   e
0033420    t   u   r   n   s       {   l   i   s   p       T   }       i
0033440    f       t   h   e       r   e   s   u   l   t       o   f    
0033460    a   p   p   l   y   i   n   g       {   a   r   g       E   V
0033500    E   R   Y   F   N   1   }       t   o       e   a   c   h    
0033520    e   l   e   m   e   n   t       i   n       {   a   r   g    
0033540    E   V   E   R   Y   X   }       i   s       t   r   u   e   ,
0033560        o   t   h   e   r   w   i   s   e       {   l   i   s   p
0033600        N   I   L   }   .           F   o   r       e   x   a   m
0033620    p   l   e   ,       {   l   i   s   p       (   E   V   E   R
0033640    Y       '   (   X       Y       Z   )       '   A   T   O   M
0033660    )           =   >           T   }   .  \r  \r   {   f   n    
0033700    E   V   E   R   Y   }       o   p   e   r   a   t   e   s    
0033720    b   y       e   v   a   l   u   a   t   i   n   g       {   l
0033740    i   s   p       (   {   a   r   g       E   V   E   R   Y   F
0033760    N   1   }       (   C   A   R       {   a   r   g       E   V
0034000    E   R   Y   X   }   )       {   a   r   g       E   V   E   R
0034020    Y   X   }   )   }   .           T   h   e       s   e   c   o
0034040    n   d       a   r   g   u   m   e   n   t       i   s       p
0034060    a   s   s   e   d       t   o       {   a   r   g       E   V
0034100    E   R   Y   F   N   1   }       s   o       t   h   a   t    
0034120    i   t       c   a   n       l   o   o   k       a   t       t
0034140    h   e       n   e   x   t       e   l   e   m   e   n   t    
0034160    o   n       {   a   r   g       E   V   E   R   Y   X   }    
0034200    i   f       n   e   c   e   s   s   a   r   y   .           I
0034220    f       {   a   r   g       E   V   E   R   Y   F   N   1   }
0034240        y   i   e   l   d   s       {   l   i   s   p       N   I
0034260    L   }   ,       {   f   n       E   V   E   R   Y   }       i
0034300    m   m   e   d   i   a   t   e   l   y       r   e   t   u   r
0034320    n   s       {   l   i   s   p       N   I   L   }   .        
0034340    O   t   h   e   r   w   i   s   e   ,       {   f   n       E
0034360    V   E   R   Y   }       c   o   m   p   u   t   e   s       {
0034400    l   i   s   p       (   {   a   r   g       E   V   E   R   Y
0034420    F   N   2   }       {   a   r   g       E   V   E   R   Y   X
0034440    }   )   }   ,       o   r       {   l   i   s   p       (   C
0034460    D   R       {   a   r   g       E   V   E   R   Y   X   }   )
0034500    }       i   f       {   a   r   g       E   V   E   R   Y   F
0034520    N   2   }   =   {   l   i   s   p       N   I   L   }   ,    
0034540    a   n   d       u   s   e   s       t   h   i   s       a   s
0034560        t   h   e       "   n   e   w   "       {   a   r   g    
0034600    E   V   E   R   Y   X   }   ,       a   n   d       t   h   e
0034620        p   r   o   c   e   s   s       c   o   n   t   i   n   u
0034640    e   s   .           F   o   r       e   x   a   m   p   l   e
0034660    ,       {   l   i   s   p       (   E   V   E   R   Y       {
0034700    a   r   g       X   }       '   A   T   O   M       '   C   D
0034720    D   R   )   }       i   s       t   r   u   e       i   f    
0034740    e   v   e   r   y       {   i   t       o   t   h   e   r   }
0034760        e   l   e   m   e   n   t       o   f       {   a   r   g
0035000        X   }       i   s       a   t   o   m   i   c   .  \r   }
0035020    }  \r  \r  \r   {   F   n   D   e   f       {   F   n   N   a
0035040    m   e       S   O   M   E   }       {   F   n   A   r   g   s
0035060        S   O   M   E   X       S   O   M   E   F   N   1       S
0035100    O   M   E   F   N   2   }  \r   {   T   e   x   t  \r   R   e
0035120    t   u   r   n   s       t   h   e       t   a   i   l       o
0035140    f       {   a   r   g       S   O   M   E   X   }       b   e
0035160    g   i   n   n   i   n   g       w   i   t   h       t   h   e
0035200        f   i   r   s   t       e   l   e   m   e   n   t       t
0035220    h   a   t       s   a   t   i   s   f   i   e   s       {   a
0035240    r   g       S   O   M   E   F   N   1   }   ,       i   .   e
0035260    .   ,       f   o   r       w   h   i   c   h       {   a   r
0035300    g       S   O   M   E   F   N   1   }       a   p   p   l   i
0035320    e   d       t   o       t   h   a   t       e   l   e   m   e
0035340    n   t       i   s       t   r   u   e   .           V   a   l
0035360    u   e       i   s       {   l   i   s   p       N   I   L   }
0035400        i   f       n   o       s   u   c   h       e   l   e   m
0035420    e   n   t       e   x   i   s   t   s   .           {   l   i
0035440    s   p       (   S   O   M   E       X       '   (   L   A   M
0035460    B   D   A       (   Z   )       (   E   Q   U   A   L       Z
0035500        Y   )   )   )   }       i   s       e   q   u   i   v   a
0035520    l   e   n   t       t   o       {   l   i   s   p       (   M
0035540    E   M   B   E   R       Y       X   )   }   .           {   f
0035560    n       S   O   M   E   }       o   p   e   r   a   t   e   s
0035600        a   n   a   l   o   g   o   u   s   l   y       t   o    
0035620    {   f   n       E   V   E   R   Y   }   .           A   t    
0035640    e   a   c   h       s   t   a   g   e   ,       {   l   i   s
0035660    p       (   {   a   r   g       S   O   M   E   F   N   1   }
0035700        (   C   A   R       {   a   r   g       S   O   M   E   X
0035720    }   )       {   a   r   g       S   O   M   E   X   }   )   }
0035740        i   s       c   o   m   p   u   t   e   d   ,       a   n
0035760    d       i   f       t   h   i   s       i   s       n   o   t
0036000        {   l   i   s   p       N   I   L   }   ,       {   a   r
0036020    g       S   O   M   E   X   }       i   s       r   e   t   u
0036040    r   n   e   d       a   s       t   h   e       v   a   l   u
0036060    e       o   f       {   f   n       S   O   M   E   }   .    
0036100        O   t   h   e   r   w   i   s   e   ,       {   l   i   s
0036120    p       (   {   a   r   g       S   O   M   E   F   N   2   }
0036140        {   a   r   g       S   O   M   E   X   }   )   }       i
0036160    s       c   o   m   p   u   t   e   d   ,       o   r       {
0036200    l   i   s   p       (   C   D   R       {   a   r   g       S
0036220    O   M   E   X   }   )   }       i   f       {   a   r   g    
0036240    S   O   M   E   F   N   2   }   =   {   l   i   s   p       N
0036260    I   L   }   ,       a   n   d       u   s   e   d       f   o
0036300    r       t   h   e       n   e   x   t       {   a   r   g    
0036320    S   O   M   E   X   }   .  \r   }   }  \r  \r  \r   {   F   n
0036340    D   e   f       {   F   n   N   a   m   e       N   O   T   A
0036360    N   Y   }       {   F   n   A   r   g   s       S   O   M   E
0036400    X       S   O   M   E   F   N   1       S   O   M   E   F   N
0036420    2   }  \r   {   T   e   x   t  \r   {   l   i   s   p       (
0036440    N   O   T       (   S   O   M   E       {   a   r   g       S
0036460    O   M   E   X   }       {   a   r   g       S   O   M   E   F
0036500    N   1   }       {   a   r   g       S   O   M   E   F   N   2
0036520    }   )   )   }  \r   }   }  \r  \r  \r   {   F   n   D   e   f
0036540        {   F   n   N   a   m   e       N   O   T   E   V   E   R
0036560    Y   }       {   F   n   A   r   g   s       E   V   E   R   Y
0036600    X       E   V   E   R   Y   F   N   1       E   V   E   R   Y
0036620    F   N   2   }  \r   {   T   e   x   t  \r   {   l   i   s   p
0036640        (   N   O   T       (   E   V   E   R   Y       {   a   r
0036660    g       E   V   E   R   Y   X   }       {   a   r   g       E
0036700    V   E   R   Y   F   N   1   }       {   a   r   g       E   V
0036720    E   R   Y   F   N   2   }   )   )   }  \r   }   }  \r  \r  \r
0036740   \r  \r   {   F   n   D   e   f       {   F   n   N   a   m   e
0036760        M   A   P   R   I   N   T   }       {   F   n   A   r   g
0037000    s       L   S   T       F   I   L   E       L   E   F   T    
0037020    R   I   G   H   T       S   E   P       P   F   N       L   I
0037040    S   P   X   P   R   I   N   T   F   L   G   }  \r   {   T   e
0037060    x   t  \r   A       g   e   n   e   r   a   l       p   r   i
0037100    n   t   i   n   g       f   u   n   c   t   i   o   n   .    
0037120        F   o   r       e   a   c   h       e   l   e   m   e   n
0037140    t       o   f       t   h   e       l   i   s   t       {   a
0037160    r   g       L   S   T   }   ,       a   p   p   l   i   e   s
0037200        {   a   r   g       P   F   N   }       t   o       t   h
0037220    e       e   l   e   m   e   n   t   ,       a   n   d       {
0037240    a   r   g       F   I   L   E   }   .           I   f       {
0037260    a   r   g       P   F   N   }       i   s       {   l   i   s
0037300    p       N   I   L   }   ,       {   f   n       P   R   I   N
0037320    1   }       i   s       u   s   e   d   .           B   e   t
0037340    w   e   e   n       e   a   c   h       a   p   p   l   i   c
0037360    a   t   i   o   n   ,       {   f   n       M   A   P   R   I
0037400    N   T   }       p   e   r   f   o   r   m   s       {   f   n
0037420        P   R   I   N   1   }       o   f       {   a   r   g    
0037440    S   E   P   }       (   o   r       "       "       i   f    
0037460    {   a   r   g       S   E   P   }   =   {   l   i   s   p    
0037500    N   I   L   }   )   .           I   f       {   a   r   g    
0037520    L   E   F   T   }       i   s       g   i   v   e   n   ,    
0037540    i   t       i   s       p   r   i   n   t   e   d       (   u
0037560    s   i   n   g       {   f   n       P   R   I   N   1   }   )
0037600        i   n   i   t   i   a   l   l   y   ;       i   f       {
0037620    a   r   g       R   I   G   H   T   }       i   s       g   i
0037640    v   e   n       i   t       i   s       p   r   i   n   t   e
0037660    d       (   u   s   i   n   g       {   f   n       P   R   I
0037700    N   1   }   )       a   t       t   h   e       e   n   d   .
0037720   \r  \r   F   o   r       e   x   a   m   p   l   e   ,       {
0037740    l   i   s   p       (   M   A   P   R   I   N   T       X    
0037760    N   I   L       '   %   (       '   %   )   )   }       i   s
0040000        e   q   u   i   v   a   l   e   n   t       t   o       {
0040020    f   n       P   R   I   N   1   }       f   o   r       l   i
0040040    s   t   s   .           T   o       p   r   i   n   t       a
0040060        l   i   s   t       w   i   t   h       c   o   m   m   a
0040100    s       b   e   t   w   e   e   n       e   a   c   h       e
0040120    l   e   m   e   n   t       a   n   d       a       f   i   n
0040140    a   l       "   .   "       o   n   e       c   o   u   l   d
0040160        u   s   e       {   l   i   s   p       (   M   A   P   R
0040200    I   N   T       X       T       N   I   L       '   %   .    
0040220    '   %   ,   )   }   .  \r  \r   I   f       {   a   r   g    
0040240    L   I   S   P   X   P   R   I   N   T   F   L   G   }   =   {
0040260    l   i   s   p       T   }   ,       {   f   n       L   I   S
0040300    P   X   P   R   I   N   1   }       (   {   P   a   g   e   R
0040320    e   f       F   n       L   I   S   P   X   P   R   I   N   1
0040340    }   )       i   s       u   s   e   d       i   n   s   t   e
0040360    a   d       o   f       {   f   n       P   R   I   N   1   }
0040400    .  \r  \r   {   n   o   t   e       m   o   v   e       M   A
0040420    P   R   I   N   T       t   o       i   /   o       s   e   c
0040440    t   i   o   n   ?   ?       w   h   e   r   e   ?   ?   }  \r
0040460    }   }  \r  \r  \r   }   {   E   n   d       S   u   b   S   e
0040500    c       I   t   e   r   a   t   i   n   g       a   n   d    
0040520    M   a   p   p   i   n   g       F   u   n   c   t   i   o   n
0040540    s   }  \r  \r  \r  \r  \r   {   B   e   g   i   n       S   u
0040560    b   S   e   c       F   u   n   c   t   i   o   n   a   l    
0040600    A   r   g   u   m   e   n   t   s   }  \r   {   T   i   t   l
0040620    e       F   u   n   c   t   i   o   n   a   l       A   r   g
0040640    u   m   e   n   t   s   }  \r   {   T   e   x   t  \r  \r  \r
0040660    {   i   n   d   e   x       *   P   R   I   M   A   R   Y   *
0040700        F   u   n   c   t   i   o   n   a   l       a   r   g   u
0040720    m   e   n   t   s   }  \r  \r   T   h   e       f   u   n   c
0040740    t   i   o   n   s       t   h   a   t       c   a   l   l    
0040760    t   h   e       I   n   t   e   r   l   i   s   p   -   D    
0041000    e   v   a   l   u   a   t   o   r       t   a   k   e       "
0041020    f   u   n   c   t   i   o   n   a   l       a   r   g   u   m
0041040    e   n   t   s   "   ,       w   h   i   c   h       m   a   y
0041060        e   i   t   h   e   r       b   e       l   i   t   a   t
0041100    o   m   s       w   i   t   h       f   u   n   c   t   i   o
0041120    n       d   e   f   i   n   i   t   i   o   n   s   ,       o
0041140    r       e   x   p   r       d   e   f   i   n   i   t   i   o
0041160    n       f   o   r   m   s       s   u   c   h       a   s    
0041200    {   l   i   s   p       (   L   A   M   B   D   A       (   X
0041220    )       {   e   l   l   i   p   s   i   s   }   )   }   ,    
0041240    o   r       {   l   i   s   p       F   U   N   A   R   G   }
0041260        e   x   p   r   e   s   s   i   o   n   s       (   b   e
0041300    l   o   w   )   .  \r  \r   T   h   e       f   o   l   l   o
0041320    w   i   n   g       f   u   n   c   t   i   o   n   s       a
0041340    r   e       u   s   e   f   u   l       w   h   e   n       o
0041360    n   e       w   a   n   t   s       t   o       s   u   p   p
0041400    l   y       a       f   u   n   c   t   i   o   n   a   l    
0041420    a   r   g   u   m   e   n   t       w   h   i   c   h       w
0041440    i   l   l       a   l   w   a   y   s       r   e   t   u   r
0041460    n       {   l   i   s   p       N   I   L   }   ,       {   l
0041500    i   s   p       T   }   ,       o   r       0   .           N
0041520    o   t   e       t   h   a   t       t   h   e       a   r   g
0041540    u   m   e   n   t   s       {   l   i   s   p       {   a   r
0041560    g       X   {   s   u   b       1   }   }       {   e   l   l
0041600    i   p   s   i   s   }       {   a   r   g       X   {   s   u
0041620    b       N   }   }   }       t   o       t   h   e   s   e    
0041640    f   u   n   c   t   i   o   n   s       a   r   e       e   v
0041660    a   l   u   a   t   e   d   ,       t   h   o   u   g   h    
0041700    t   h   e   y       a   r   e       n   o   t       u   s   e
0041720    d   .  \r  \r   {   F   n   D   e   f       {   F   n   N   a
0041740    m   e       N   I   L   L   }       {   F   n   A   r   g   s
0041760        X   {   s   u   b       1   }       {   e   l   l   i   p
0042000    s   i   s   }       X   {   s   u   b       N   }   }  \r   {
0042020    T   y   p   e       N   O   S   P   R   E   A   D   }  \r   {
0042040    T   e   x   t  \r   R   e   t   u   r   n   s       {   l   i
0042060    s   p       N   I   L   }   .          \r   }   }  \r  \r   {
0042100    F   n   D   e   f       {   F   n   N   a   m   e       T   R
0042120    U   E   }       {   F   n   A   r   g   s       X   {   s   u
0042140    b       1   }       {   e   l   l   i   p   s   i   s   }    
0042160    X   {   s   u   b       N   }   }  \r   {   T   y   p   e    
0042200    N   O   S   P   R   E   A   D   }  \r   {   T   e   x   t  \r
0042220    R   e   t   u   r   n   s       {   l   i   s   p       T   }
0042240    .  \r   }   }  \r  \r   {   F   n   D   e   f       {   F   n
0042260    N   a   m   e       Z   E   R   O   }       {   F   n   A   r
0042300    g   s       X   {   s   u   b       1   }       {   e   l   l
0042320    i   p   s   i   s   }       X   {   s   u   b       N   }   }
0042340   \r   {   T   y   p   e       N   O   S   P   R   E   A   D   }
0042360   \r   {   T   e   x   t  \r   R   e   t   u   r   n   s       0
0042400    .  \r   }   }  \r  \r  \r   W   h   e   n       u   s   i   n
0042420    g       e   x   p   r       d   e   f   i   n   i   t   i   o
0042440    n   s       a   s       f   u   n   c   t   i   o   n   a   l
0042460        a   r   g   u   m   e   n   t   s   ,       t   h   e   y
0042500        s   h   o   u   l   d       b   e       e   n   c   l   o
0042520    s   e   d       w   i   t   h   i   n       t   h   e       f
0042540    u   n   c   t   i   o   n       {   f   n       F   U   N   C
0042560    T   I   O   N   }       r   a   t   h   e   r       t   h   a
0042600    n       {   f   n       Q   U   O   T   E   }   ,       s   o
0042620        t   h   a   t       t   h   e   y       w   i   l   l    
0042640    b   e       c   o   m   p   i   l   e   d       a   s       s
0042660    e   p   a   r   a   t   e       f   u   n   c   t   i   o   n
0042700    s   .           {   f   n       F   U   N   C   T   I   O   N
0042720    }       c   a   n       a   l   s   o       b   e       u   s
0042740    e   d       t   o       c   r   e   a   t   e       {   l   i
0042760    s   p       F   U   N   A   R   G   }       e   x   p   r   e
0043000    s   s   i   o   n   s   ,       w   h   i   c   h       c   a
0043020    n       b   e       u   s   e   d       t   o       s   o   l
0043040    v   e       s   o   m   e       p   r   o   b   l   e   m   s
0043060        w   i   t   h       r   e   f   e   r   e   n   c   i   n
0043100    g       f   r   e   e       v   a   r   i   a   b   l   e   s
0043120    ,       o   r       t   o       c   r   e   a   t   e       f
0043140    u   n   c   t   i   o   n   a   l       a   r   g   u   m   e
0043160    n   t   s       w   h   i   c   h       c   a   r   r   y    
0043200    "   s   t   a   t   e   "       a   l   o   n   g       w   i
0043220    t   h       t   h   e   m   .  \r  \r  \r   {   F   n   D   e
0043240    f       {   F   n   N   a   m   e       F   U   N   C   T   I
0043260    O   N   }       {   F   n   A   r   g   s       F   N       E
0043300    N   V   }  \r   {   T   y   p   e       N   L   A   M   B   D
0043320    A   }  \r   {   T   e   x   t  \r   I   f       {   a   r   g
0043340        E   N   V   }   =   {   l   i   s   p       N   I   L   }
0043360    ,       {   f   n       F   U   N   C   T   I   O   N   }    
0043400    i   s       t   h   e       s   a   m   e       a   s       {
0043420    f   n       Q   U   O   T   E   }   ,       e   x   c   e   p
0043440    t       t   h   a   t       i   t       i   s       t   r   e
0043460    a   t   e   d       d   i   f   f   e   r   e   n   t   l   y
0043500        w   h   e   n       c   o   m   p   i   l   e   d   .    
0043520        C   o   n   s   i   d   e   r       t   h   e       f   u
0043540    n   c   t   i   o   n       d   e   f   i   n   i   t   i   o
0043560    n   :  \r  \r   {   l   i   s   p   c   o   d   e  \r   (   D
0043600    E   F   I   N   E   Q       (   F   O   O       (   L   S   T
0043620    )  \r                                                   (   F
0043640    I   E       L   S   T       (   F   U   N   C   T   I   O   N
0043660        (   L   A   M   B   D   A       (   Z   )       (   I   T
0043700    I   M   E   S       Z       Z   )   )   ]   }  \r  \r   {   l
0043720    i   s   p       F   O   O   }       c   a   l   l   s       t
0043740    h   e       f   u   n   c   t   i   o   n       {   l   i   s
0043760    p       F   I   E   }       w   i   t   h       t   h   e    
0044000    v   a   l   u   e       o   f       {   l   i   s   p       L
0044020    S   T   }       a   n   d       t   h   e       e   x   p   r
0044040        d   e   f   i   n   i   t   i   o   n       {   l   i   s
0044060    p       (   L   A   M   B   D   A       (   Z   )       (   L
0044100    I   S   T       (   C   A   R       Z   )   )   )   }   .  \r
0044120   \r   I   f       {   l   i   s   p       F   O   O   }       i
0044140    s       r   u   n       i   n   t   e   r   p   r   e   t   e
0044160    d   ,       i   t       d   o   e   s   n   '   t       m   a
0044200    k   e       a   n   y       d   i   f   f   e   r   e   n   c
0044220    e       w   h   e   t   h   e   r       {   f   n       F   U
0044240    N   C   T   I   O   N   }       o   r       {   f   n       Q
0044260    U   O   T   E   }       i   s       u   s   e   d   .        
0044300    H   o   w   e   v   e   r   ,       w   h   e   n       {   l
0044320    i   s   p       F   O   O   }       i   s       c   o   m   p
0044340    i   l   e   d   ,       i   f       {   f   n       F   U   N
0044360    C   T   I   O   N   }       i   s       u   s   e   d       t
0044400    h   e       c   o   m   p   i   l   e   r       w   i   l   l
0044420        d   e   f   i   n   e       a   n   d       c   o   m   p
0044440    i   l   e       t   h   e       e   x   p   r       d   e   f
0044460    i   n   i   t   i   o   n       a   s       a   n       a   u
0044500    x   i   l   i   a   r   y       f   u   n   c   t   i   o   n
0044520        (   S   e   e       {   P   a   g   e   R   e   f       T
0044540    a   g       C   o   m   p   i   l   i   n   g   F   U   N   C
0044560    T   I   O   N   }   )   .           T   h   e       c   o   m
0044600    p   i   l   e   d       e   x   p   r       d   e   f   i   n
0044620    i   t   i   o   n       w   i   l   l       r   u   n       c
0044640    o   n   s   i   d   e   r   a   b   l   y       f   a   s   t
0044660    e   r   ,       w   h   i   c   h       c   a   n       m   a
0044700    k   e       a       b   i   g       d   i   f   f   e   r   e
0044720    n   c   e       i   f       i   t       i   s       a   p   p
0044740    l   i   e   d       r   e   p   e   a   t   e   d   l   y   .
0044760   \r  \r  \r   N   o   t   e   :           C   o   m   p   i   l
0045000    i   n   g       {   f   n       F   U   N   C   T   I   O   N
0045020    }       w   i   l   l       {   i   t       n   o   t   }    
0045040    c   r   e   a   t   e       a   n       a   u   x   i   l   i
0045060    a   r   y       f   u   n   c   t   i   o   n       i   f    
0045100    i   t       i   s       a       f   u   n   c   t   i   o   n
0045120    a   l       a   r   g   u   m   e   n   t       t   o       a
0045140        f   u   n   c   t   i   o   n       t   h   a   t       c
0045160    o   m   p   i   l   e   s       o   p   e   n   ,       s   u
0045200    c   h       a   s       m   o   s   t       o   f       t   h
0045220    e       m   a   p   p   i   n   g       f   u   n   c   t   i
0045240    o   n   s       (   {   f   n       M   A   P   C   A   R   }
0045260    ,       {   f   n       M   A   P   L   I   S   T   }   ,    
0045300    e   t   c   .   )   .  \r  \r  \r   I   f       {   a   r   g
0045320        E   N   V   }       i   s       n   o   t       {   l   i
0045340    s   p       N   I   L   }   ,       i   t       c   a   n    
0045360    b   e       a       l   i   s   t       o   f       v   a   r
0045400    i   a   b   l   e   s       t   h   a   t       a   r   e    
0045420    (   p   r   e   s   u   m   a   b   l   y   )       u   s   e
0045440    d       f   r   e   e   l   y       b   y       {   a   r   g
0045460        F   N   }   .           I   n       t   h   i   s       c
0045500    a   s   e   ,       t   h   e       v   a   l   u   e       o
0045520    f       {   f   n       F   U   N   C   T   I   O   N   }    
0045540    i   s       a   n       e   x   p   r   e   s   s   i   o   n
0045560        o   f       t   h   e       f   o   r   m       {   l   i
0045600    s   p       (   F   U   N   A   R   G       {   a   r   g    
0045620    F   N   }       {   a   r   g       P   O   S   }   )   }   ,
0045640        w   h   e   r   e       {   a   r   g       P   O   S   }
0045660        i   s       a       s   t   a   c   k       p   o   i   n
0045700    t   e   r       t   o       a       f   r   a   m   e       t
0045720    h   a   t       c   o   n   t   a   i   n   s       t   h   e
0045740        v   a   r   i   a   b   l   e       b   i   n   d   i   n
0045760    g   s       f   o   r       t   h   o   s   e       v   a   r
0046000    i   a   b   l   e   s       o   n       {   a   r   g       E
0046020    N   V   }   .           {   a   r   g       E   N   V   }    
0046040    c   a   n       a   l   s   o       b   e       a       s   t
0046060    a   c   k       p   o   i   n   t   e   r       i   t   s   e
0046100    l   f   ,       i   n       w   h   i   c   h       c   a   s
0046120    e       t   h   e       v   a   l   u   e       o   f       {
0046140    f   n       F   U   N   C   T   I   O   N   }       i   s    
0046160    {   l   i   s   p       (   F   U   N   A   R   G       {   a
0046200    r   g       F   N   }       {   a   r   g       E   N   V   }
0046220    )   }   .           F   i   n   a   l   l   y   ,       {   a
0046240    r   g       E   N   V   }       c   a   n       b   e       a
0046260    n       a   t   o   m   ,       i   n       w   h   i   c   h
0046300        c   a   s   e       i   t       i   s       e   v   a   l
0046320    u   a   t   e   d   ,       a   n   d       t   h   e       v
0046340    a   l   u   e       i   n   t   e   r   p   r   e   t   e   d
0046360        a   s       d   e   s   c   r   i   b   e   d       a   b
0046400    o   v   e   .  \r   }   }  \r  \r  \r  \r   {   T   a   g    
0046420    F   U   N   A   R   G   }  \r  \r   {   i   n   d   e   x    
0046440    *   P   R   I   M   A   R   Y   *       F   U   N   A   R   G
0046460        L   i   t   a   t   o   m   }  \r   {   i   n   d   e   x
0046500        V   a   r   i   a   b   l   e       b   i   n   d   i   n
0046520    g   s   }  \r  \r  \r  \r   A   s       e   x   p   l   a   i
0046540    n   e   d       a   b   o   v   e   ,       o   n   e       o
0046560    f       t   h   e       p   o   s   s   i   b   l   e       v
0046600    a   l   u   e   s       t   h   a   t       {   f   n       F
0046620    U   N   C   T   I   O   N   }       c   a   n       r   e   t
0046640    u   r   n       i   s       t   h   e       f   o   r   m    
0046660    {   l   i   s   p       (   F   U   N   A   R   G       {   a
0046700    r   g       F   N   }       {   a   r   g       P   O   S   }
0046720    )   }   ,       w   h   e   r   e       {   a   r   g       F
0046740    N   }       i   s       a       f   u   n   c   t   i   o   n
0046760        a   n   d       {   a   r   g       P   O   S   }       i
0047000    s       a       s   t   a   c   k       p   o   i   n   t   e
0047020    r   .           {   l   i   s   p       F   U   N   A   R   G
0047040    }       i   s       n   o   t       a       f   u   n   c   t
0047060    i   o   n       i   t   s   e   l   f   .           L   i   k
0047100    e       {   l   i   s   p       L   A   M   B   D   A   }    
0047120    a   n   d       {   l   i   s   p       N   L   A   M   B   D
0047140    A   }   ,       i   t       h   a   s       m   e   a   n   i
0047160    n   g       a   n   d       i   s       s   p   e   c   i   a
0047200    l   l   y       r   e   c   o   g   n   i   z   e   d       b
0047220    y       I   n   t   e   r   l   i   s   p       o   n   l   y
0047240        i   n       t   h   e       c   o   n   t   e   x   t    
0047260    o   f       a   p   p   l   y   i   n   g       a       f   u
0047300    n   c   t   i   o   n       t   o       a   r   g   u   m   e
0047320    n   t   s   .  \r   I   n       o   t   h   e   r       w   o
0047340    r   d   s   ,       t   h   e       e   x   p   r   e   s   s
0047360    i   o   n       {   l   i   s   p       (   F   U   N   A   R
0047400    G       {   a   r   g       F   N   }       {   a   r   g    
0047420    P   O   S   }   )   }       i   s       u   s   e   d       e
0047440    x   a   c   t   l   y       l   i   k   e       a       f   u
0047460    n   c   t   i   o   n   .           W   h   e   n       a    
0047500    {   l   i   s   p       F   U   N   A   R   G   }       e   x
0047520    p   r   e   s   s   i   o   n       i   s       a   p   p   l
0047540    i   e   d       o   r       i   s       {   f   n       C   A
0047560    R   }       o   f       a       f   o   r   m       b   e   i
0047600    n   g       {   f   n       E   V   A   L   }   '   e   d   ,
0047620        t   h   e       {   f   n       A   P   P   L   Y   }    
0047640    o   r       {   f   n       E   V   A   L   }       t   a   k
0047660    e   s       p   l   a   c   e       i   n       t   h   e    
0047700    a   c   c   e   s   s       e   n   v   i   r   o   n   m   e
0047720    n   t       s   p   e   c   i   f   i   e   d       b   y    
0047740    {   a   r   g       E   N   V   }       (   s   e   e       {
0047760    P   a   g   e   R   e   f       T   a   g       S   T   A   C
0050000    K   }   )   .           C   o   n   s   i   d   e   r       t
0050020    h   e       f   o   l   l   o   w   i   n   g       e   x   a
0050040    m   p   l   e   :  \r  \r   {   l   i   s   p   c   o   d   e
0050060   \r   _       (   D   E   F   I   N   E   Q       (   D   O   .
0050100    T   W   I   C   E       (   F   N       V   A   L   )  \r    
0050120                                                        (   A   P
0050140    P   L   Y   *       F   N       (   A   P   P   L   Y   *    
0050160    F   N       V   A   L   )   )   )       )  \r   (   D   O   .
0050200    T   W   I   C   E   )  \r   _       (   D   O   .   T   W   I
0050220    C   E       [   F   U   N   C   T   I   O   N       (   L   A
0050240    M   B   D   A       (   X   )       (   I   P   L   U   S    
0050260    X       X   )   )   ]  \r                                    
0050300                5   )  \r   2   0  \r   _       (   S   E   T   Q
0050320        V   A   L       1   )  \r   1  \r   _       (   D   O   .
0050340    T   W   I   C   E       [   F   U   N   C   T   I   O   N    
0050360    (   L   A   M   B   D   A       (   X   )       (   I   P   L
0050400    U   S       X       V   A   L   )   )   ]  \r                
0050420                                    5   )  \r   1   5  \r   _    
0050440    (   D   O   .   T   W   I   C   E       [   F   U   N   C   T
0050460    I   O   N       (   L   A   M   B   D   A       (   X   )    
0050500    (   I   P   L   U   S       X       V   A   L   )   )       (
0050520    V   A   L   )   ]  \r                                        
0050540            5   )  \r   7   }  \r  \r  \r   {   l   i   s   p    
0050560    D   O   .   T   W   I   C   E   }       i   s       d   e   f
0050600    i   n   e   d       t   o       a   p   p   l   y       a    
0050620    f   u   n   c   t   i   o   n       {   l   i   s   p       F
0050640    N   }       t   o       a       v   a   l   u   e       {   l
0050660    i   s   p       V   A   L   }   ,       a   n   d       a   p
0050700    p   l   y       {   l   i   s   p       F   N   }       a   g
0050720    a   i   n       t   o       t   h   e       v   a   l   u   e
0050740        r   e   t   u   r   n   e   d   ;           i   n       o
0050760    t   h   e   r       w   o   r   d   s       i   t       c   a
0051000    l   c   u   l   a   t   e   s       {   l   i   s   p       (
0051020    F   N       (   F   N       V   A   L   )   )   }   .        
0051040    G   i   v   e   n       t   h   e       e   x   p   r       d
0051060    e   f   i   n   i   t   i   o   n       {   l   i   s   p    
0051100    (   L   A   M   B   D   A       (   X   )       (   I   P   L
0051120    U   S       X       X   )   )   }   ,       w   h   i   c   h
0051140        d   o   u   b   l   e   s       a       g   i   v   e   n
0051160        v   a   l   u   e   ,       i   t       c   o   r   r   e
0051200    c   t   l   y       c   a   l   c   u   l   a   t   e   s    
0051220    {   l   i   s   p       (   F   N       (   F   N       5   )
0051240    )   }       =       {   l   i   s   p       (   F   N       1
0051260    0   )   }       =       2   0   .           H   o   w   e   v
0051300    e   r   ,       w   h   e   n       g   i   v   e   n       {
0051320    l   i   s   p       (   L   A   M   B   D   A       (   X   )
0051340        (   I   P   L   U   S       X       V   A   L   )   )   }
0051360    ,       w   h   i   c   h       s   h   o   u   l   d       a
0051400    d   d       t   h   e       v   a   l   u   e       o   f    
0051420    t   h   e       g   l   o   b   a   l       v   a   r   i   a
0051440    b   l   e       {   l   i   s   p       V   A   L   }       t
0051460    o       t   h   e       a   r   g   u   m   e   n   t       {
0051500    l   i   s   p       X   }   ,       i   t       d   o   e   s
0051520        s   o   m   e   t   h   i   n   g       u   n   e   x   p
0051540    e   c   t   e   d   ,       r   e   t   u   r   n   i   n   g
0051560        1   5   ,       r   a   t   h   e   r       t   h   a   n
0051600        5   +   1   +   1       =       7   .           T   h   e
0051620        p   r   o   b   l   e   m       i   s       t   h   a   t
0051640        w   h   e   n       t   h   e       e   x   p   r       d
0051660    e   f   i   n   i   t   i   o   n       i   s       e   v   a
0051700    l   u   a   t   e   d   ,       i   t       i   s       e   v
0051720    a   l   u   a   t   e   d       i   n       t   h   e       c
0051740    o   n   t   e   x   t       o   f       {   l   i   s   p    
0051760    D   O   .   T   W   I   C   E   }   ,       w   h   e   r   e
0052000        {   l   i   s   p       V   A   L   }       i   s       b
0052020    o   u   n   d       t   o       t   h   e       s   e   c   o
0052040    n   d       a   r   g   u   m   e   n   t       o   f       {
0052060    l   i   s   p       D   O   .   T   W   I   C   E   }   ,    
0052100    n   a   m   e   l   y       5   .           I   n       t   h
0052120    i   s       c   a   s   e   ,       o   n   e       s   o   l
0052140    u   t   i   o   n       i   s       t   o       u   s   e    
0052160    t   h   e       {   a   r   g       E   N   V   }       a   r
0052200    g   u   m   e   n   t       t   o       {   f   n       F   U
0052220    N   C   T   I   O   N   }       t   o       c   o   n   s   t
0052240    r   u   c   t       a       {   l   i   s   p       F   U   N
0052260    A   R   G   }       e   x   p   r   e   s   s   i   o   n    
0052300    w   h   i   c   h       c   o   n   t   a   i   n   s       t
0052320    h   e       v   a   l   u   e       o   f       {   l   i   s
0052340    p       V   A   L   }       a   t       t   h   e       t   i
0052360    m   e       t   h   a   t       t   h   e       {   f   n    
0052400    F   U   N   C   T   I   O   N   }       i   s       e   x   e
0052420    c   u   t   e   d   .           N   o   w   ,       w   h   e
0052440    n       {   l   i   s   p       (   L   A   M   B   D   A    
0052460    (   X   )       (   I   P   L   U   S       X       V   A   L
0052500    )   )   }       i   s       e   v   a   l   u   a   t   e   d
0052520    ,       i   t       i   s       e   v   a   l   u   a   t   e
0052540    d       i   n       a   n       e   n   v   i   r   o   n   m
0052560    e   n   t       w   h   e   r   e       t   h   e       g   l
0052600    o   b   a   l       v   a   l   u   e       o   f       {   l
0052620    i   s   p       V   A   L   }       i   s       a   c   c   e
0052640    s   s   a   b   l   e   .           A   d   m   i   t   t   e
0052660    d   l   y   ,       t   h   i   s       i   s       a       s
0052700    o   m   e   w   h   a   t       c   o   n   t   r   i   v   e
0052720    d       e   x   a   m   p   l   e       (   i   t       w   o
0052740    u   l   d       b   e       e   a   s   y       e   n   o   u
0052760    g   h       t   o       c   h   a   n   g   e       t   h   e
0053000        a   r   g   u   m   e   n   t       n   a   m   e   s    
0053020    t   o       {   l   i   s   p       D   O   .   T   W   I   C
0053040    E   }       s   o       t   h   e   r   e       w   o   u   l
0053060    d       b   e       n   o       c   o   n   f   l   i   c   t
0053100    )   ,       b   u   t       t   h   i   s       s   i   t   u
0053120    a   t   i   o   n       a   r   i   s   e   s       o   c   c
0053140    a   s   i   o   n   a   l   l   y       w   i   t   h       l
0053160    a   r   g   e       s   y   s   t   e   m   s       o   f    
0053200    p   r   o   g   r   a   m   s       t   h   a   t       c   o
0053220    n   s   t   r   u   c   t       f   u   n   c   t   i   o   n
0053240    s   ,       a   n   d       p   a   s   s       t   h   e   m
0053260        a   r   o   u   n   d   .  \r  \r  \r  \r   N   o   t   e
0053300    :           S   y   s   t   e   m       f   u   n   c   t   i
0053320    o   n   s       w   i   t   h       f   u   n   c   t   i   o
0053340    n   a   l       a   r   g   u   m   e   n   t   s       (   {
0053360    f   n       A   P   P   L   Y   }   ,       {   f   n       M
0053400    A   P   C   A   R   }   ,       e   t   c   .   )       a   r
0053420    e       c   o   m   p   i   l   e   d       s   o       t   h
0053440    a   t       t   h   e   i   r       a   r   g   u   m   e   n
0053460    t   s       a   r   e       l   o   c   a   l   ,       a   n
0053500    d       n   o   t       a   c   c   e   s   s   a   b   l   e
0053520        (   s   e   e       {   P   a   g   e   R   e   f       T
0053540    e   r   m       L   O   C   A   L   V   A   R   S   }   )   .
0053560            T   h   i   s       r   e   d   u   c   e   s       p
0053600    r   o   b   l   e   m   s       w   i   t   h       c   o   n
0053620    f   l   i   c   t   s       w   i   t   h       f   r   e   e
0053640        v   a   r   i   a   b   l   e   s       u   s   e   d    
0053660    i   n       f   u   n   c   t   i   o   n   a   l       a   r
0053700    g   u   m   e   n   t   s   .  \r  \r  \r  \r   {   l   i   s
0053720    p       F   U   N   A   R   G   }       e   x   p   r   e   s
0053740    s   i   o   n   s       c   a   n       b   e       u   s   e
0053760    d       f   o   r       m   o   r   e       t   h   a   n    
0054000    j   u   s   t       c   i   r   c   u   m   v   e   n   t   i
0054020    n   g       t   h   e       c   l   a   s   h   i   n   g    
0054040    o   f       v   a   r   i   a   b   l   e   s   .           F
0054060    o   r       e   x   a   m   p   l   e   ,       a       {   l
0054100    i   s   p       F   U   N   A   R   G   }       e   x   p   r
0054120    e   s   s   i   o   n       c   a   n       b   e       r   e
0054140    t   u   r   n   e   d       a   s       t   h   e       v   a
0054160    l   u   e       o   f       a       c   o   m   p   u   t   a
0054200    t   i   o   n   ,       a   n   d       t   h   e   n       u
0054220    s   e   d       "   h   i   g   h   e   r       u   p   "   .
0054240            F   u   r   t   h   e   r   m   o   r   e   ,       i
0054260    f       t   h   e       f   u   n   c   t   i   o   n       i
0054300    n       a       {   l   i   s   p       F   U   N   A   R   G
0054320    }       e   x   p   r   e   s   s   i   o   n       {   i   t
0054340        s   e   t   s   }       a   n   y       o   f       t   h
0054360    e       v   a   r   i   a   b   l   e   s       c   o   n   t
0054400    a   i   n   e   d       i   n       t   h   e       f   r   a
0054420    m   e   ,       o   n   l   y       t   h   e       f   r   a
0054440    m   e       w   o   u   l   d       b   e       c   h   a   n
0054460    g   e   d   .           F   o   r       e   x   a   m   p   l
0054500    e   ,       c   o   n   s   i   d   e   r       t   h   e    
0054520    f   o   l   l   o   w   i   n   g       f   u   n   c   t   i
0054540    o   n   :  \r  \r   {   l   i   s   p   c   o   d   e  \r   _
0054560    (   D   E   F   I   N   E   Q       (   M   A   K   E   C   O
0054600    U   N   T   E   R       (   C   N   T   )  \r               (
0054620    F   U   N   C   T   I   O   N       [   L   A   M   B   D   A
0054640        N   I   L  \r                                            
0054660                        (   P   R   O   G   1       C   N   T    
0054700    (   S   E   T   Q       C   N   T       (   A   D   D   1    
0054720    C   N   T   ]  \r                                            
0054740            (   C   N   T   )   )   )   ]   }  \r  \r  \r   T   h
0054760    e       f   u   n   c   t   i   o   n       {   l   i   s   p
0055000        M   A   K   E   C   O   U   N   T   E   R   }       r   e
0055020    t   u   r   n   s       a       {   l   i   s   p       F   U
0055040    N   A   R   G   }       t   h   a   t       i   n   c   r   e
0055060    m   e   n   t   s       a   n   d       r   e   t   u   r   n
0055100    s       t   h   e       p   r   e   v   i   o   u   s       v
0055120    a   l   u   e       o   f       t   h   e       c   o   u   n
0055140    t   e   r       {   l   i   s   p       C   N   T   }   .    
0055160        H   o   w   e   v   e   r   ,       t   h   i   s       i
0055200    s       d   o   n   e       w   i   t   h   i   n       t   h
0055220    e       e   n   v   i   r   o   n   m   e   n   t       o   f
0055240        t   h   e       c   a   l   l       t   o       {   l   i
0055260    s   p       M   A   K   E   C   O   U   N   T   E   R   }    
0055300    w   h   e   r   e       {   f   n       F   U   N   C   T   I
0055320    O   N   }       w   a   s       e   x   e   c   u   t   e   d
0055340    ,       w   h   i   c   h       t   h   e       {   l   i   s
0055360    p       F   U   N   A   R   G   }       e   x   p   r   e   s
0055400    s   i   o   n       "   c   a   r   r   i   e   s       a   r
0055420    o   u   n   d   "       w   i   t   h       i   t   ,       e
0055440    v   e   n       a   f   t   e   r       {   l   i   s   p    
0055460    M   A   K   E   C   O   U   N   T   E   R   }       h   a   s
0055500        f   i   n   i   s   h   e   d       e   x   e   c   u   t
0055520    i   n   g   .           N   o   t   e       t   h   a   t    
0055540    e   a   c   h       c   a   l   l       t   o       {   l   i
0055560    s   p       M   A   K   E   C   O   U   N   T   E   R   }    
0055600    c   r   e   a   t   e   s       a       {   l   i   s   p    
0055620    F   U   N   A   R   G   }       e   x   p   r   e   s   s   i
0055640    o   n       w   i   t   h       a       n   e   w   ,       i
0055660    n   d   e   p   e   n   d   e   n   t       e   n   v   i   r
0055700    o   n   m   e   n   t   ,       s   o       t   h   a   t    
0055720    m   u   l   t   i   p   l   e       c   o   u   n   t   e   r
0055740    s       c   a   n       b   e       g   e   n   e   r   a   t
0055760    e   d       a   n   d       u   s   e   d   :  \r  \r   {   l
0056000    i   s   p   c   o   d   e  \r   _       (   S   E   T   Q    
0056020    C   1       (   M   A   K   E   C   O   U   N   T   E   R    
0056040    1   )   )  \r   (   F   U   N   A   R   G       (   L   A   M
0056060    B   D   A       N   I   L       (   P   R   O   G   1       C
0056100    N   T       (   S   E   T   Q       C   N   T       (   A   D
0056120    D   1       C   N   T   )   )   )   )       #   1   ,   1   3
0056140    7   2   4   /   *   F   U   N   A   R   G   )  \r   _       (
0056160    A   P   P   L   Y       C   1   )  \r   1  \r   _       (   A
0056200    P   P   L   Y       C   1   )  \r   2  \r   _       (   S   E
0056220    T   Q       C   2       (   M   A   K   E   C   O   U   N   T
0056240    E   R       1   7   )   )  \r   (   F   U   N   A   R   G    
0056260    (   L   A   M   B   D   A       N   I   L       (   P   R   O
0056300    G   1       C   N   T       (   S   E   T   Q       C   N   T
0056320        (   A   D   D   1       C   N   T   )   )   )   )       #
0056340    1   ,   1   3   7   3   6   /   *   F   U   N   A   R   G   )
0056360   \r   _       (   A   P   P   L   Y       C   2   )  \r   1   7
0056400   \r   _       (   A   P   P   L   Y       C   2   )  \r   1   8
0056420   \r   _       (   A   P   P   L   Y       C   1   )  \r   3  \r
0056440    _       (   A   P   P   L   Y       C   2   )  \r   1   9   }
0056460   \r  \r  \r   B   y       c   r   e   a   t   i   n   g       a
0056500        {   l   i   s   p       F   U   N   A   R   G   }       e
0056520    x   p   r   e   s   s   i   o   n       w   i   t   h       {
0056540    f   n       F   U   N   C   T   I   O   N   }   ,       a    
0056560    p   r   o   g   r   a   m       c   a   n       c   r   e   a
0056600    t   e       a       f   u   n   c   t   i   o   n       o   b
0056620    j   e   c   t       w   h   i   c   h       h   a   s       u
0056640    p   d   a   t   e   a   b   l   e       b   i   n   d   i   n
0056660    g   (   s   )       a   s   s   o   c   i   a   t   e   d    
0056700    w   i   t   h       t   h   e       o   b   j   e   c   t    
0056720    w   h   i   c   h       l   a   s   t       {   i   t       b
0056740    e   t   w   e   e   n   }       c   a   l   l   s       t   o
0056760        i   t   ,       b   u   t       a   r   e       o   n   l
0057000    y       a   c   c   e   s   s   i   b   l   e       t   h   r
0057020    o   u   g   h       t   h   a   t       i   n   s   t   a   n
0057040    c   e       o   f       t   h   e       f   u   n   c   t   i
0057060    o   n   .           F   o   r       e   x   a   m   p   l   e
0057100    ,       u   s   i   n   g       t   h   e       {   l   i   s
0057120    p       F   U   N   A   R   G   }       d   e   v   i   c   e
0057140    ,       a       p   r   o   g   r   a   m       c   o   u   l
0057160    d       m   a   i   n   t   a   i   n       t   w   o       d
0057200    i   f   f   e   r   e   n   t       i   n   s   t   a   n   c
0057220    e   s       o   f       t   h   e       s   a   m   e       r
0057240    a   n   d   o   m       n   u   m   b   e   r       g   e   n
0057260    e   r   a   t   o   r       i   n       d   i   f   f   e   r
0057300    e   n   t       s   t   a   t   e   s   ,       a   n   d    
0057320    r   u   n       t   h   e   m       i   n   d   e   p   e   n
0057340    d   e   n   t   l   y   .  \r  \r  \r  \r   {   N   o   t   e
0057360        W   e       n   e   e   d       b   e   t   t   e   r    
0057400    e   x   a   m   p   l   e   s       o   f       t   h   e    
0057420    u   s   e       o   f       F   U   N   A   R   G   ,       u
0057440    s   i   n   g       (   a   n   d       p   o   i   n   t   i
0057460    n   g       o   u   t       t   h   e       d   i   f   f   e
0057500    r   e   n   c   e   s       b   e   t   w   e   e   n   )    
0057520    b   o   t   h       u   p   w   a   r   d       a   n   d    
0057540    d   o   w   n   w   a   r   d       f   u   n   a   r   g   s
0057560    }  \r  \r   {   n   o   t   e       i   s       t   h   e   r
0057600    e       a   n   y       w   a   y       f   o   r       a    
0057620    f   n       d   e   f   i   n   i   t   i   o   n       t   o
0057640        b   e       a       f   u   n   a   r   g       (   p   e
0057660    r   h   a   p   s       a       D   E   F   I   N   E       w
0057700    i   t   h       a   n       E   N   V       a   r   g   u   m
0057720    e   n   t   )   ?           I   t       d   o   e   s   n   '
0057740    t       w   o   r   k       t   o       P   U   T   D       a
0057760        F   U   N   A   R   G       e   x   p   r   e   s   s   i
0060000    o   n       i   n   t   o       a       f   n       -   -   -
0060020        a   p   p   l   y   i   n   g       t   h   e       f   u
0060040    n   c   t   i   o   n       p   r   o   d   u   c   e   s    
0060060    a   n       U   .   D   .   F   .       e   r   r   o   r   .
0060100            P   e   r   h   a   p   s       t   h   e       e   v
0060120    a   l   u   a   t   o   r       s   h   o   u   l   d       r
0060140    e   c   o   g   n   i   z   e       F   U   N   A   R   G    
0060160    e   x   p   r   e   s   s   i   o   n   s       a   s       f
0060200    u   n   c   t   i   o   n       d   e   f   i   n   i   t   i
0060220    o   n   s   .   }  \r  \r  \r   {   n   o   t   e       w   h
0060240    a   t       h   a   p   p   e   n   s       i   f       y   o
0060260    u       r   e   f   e   r   e   n   c   e       f   r   e   e
0060300        v   a   r   i   a   b   l   e   s       w   i   t   h   i
0060320    n       a       f   u   n   c   a   r   g       t   h   a   t
0060340        a   r   e       n   o   t       i   n       t   h   e    
0060360    v   a   r       l   i   s   t       t   h   a   t       t   h
0060400    e       f   u   n   a   r   g       w   a   s       c   r   e
0060420    a   t   e   d       w   i   t   h   ?   ?   }  \r  \r   {   B
0060440    e   g   i   n       N   o   t   e   }  \r   D   a   t   e   :
0060460        2   6       M   A   Y       1   9   8   2       2   3   3
0060500    3   -   P   D   T  \r   F   r   o   m   :       M   A   S   I
0060520    N   T   E   R   .   P   A  \r  \r   T   h   e       l   a   s
0060540    t       e   d   i   t   d   a   t   e       o   n       t   h
0060560    e       c   o   d   e       f   o   r       g   e   n   e   r
0060600    a   t   i   n   g       F   U   N   A   R   G   s       f   r
0060620    o   m       v   a   r   i   a   b   l   e       l   i   s   t
0060640    s       w   a   s       1   9   8   0   .       T   h   e    
0060660    c   o   d   e       h   a   s       a       f   a   t   a   l
0060700        f   l   a   w       w   h   i   c   h       c   a   u   s
0060720    e   s       a   n       I   L   L   E   G   A   L       S   T
0060740    A   C   K       A   R   G       e   r   r   o   r   .      \r
0060760   \r   P   r   i   o   r       t   o       1   9   8   0   ,    
0061000    I       d   o   n   '   t       b   e   l   i   e   v   e    
0061020    t   h   e   r   e       w   a   s       a   n   y       c   o
0061040    d   e       t   h   e   r   e       a   t       a   l   l   .
0061060   \r  \r   W   e       j   u   s   t       g   o   t       a    
0061100    b   u   g   -   r   e   p   o   r   t       a   b   o   u   t
0061120        i   t   !  \r  \r   D   o   e   s       a   n   y   o   n
0061140    e       r   e   m   e   m   b   e   r       t   h   i   s    
0061160    e   v   e   r       w   o   r   k   i   n   g   ?  \r  \r   (
0061200    p   .   s   .   :       I       n   o   t   e       i   n    
0061220    i   n   v   e   s   t   i   g   a   t   i   n   g       t   h
0061240    a   t       I   n   t   e   r   l   i   s   p   -   1   0    
0061260    i   n   c   o   r   r   e   c   t   l   y       r   e   t   a
0061300    i   n   s       t   h   e       a   c   c   e   s   s       c
0061320    h   a   i   n       o   f       t   h   e       e   n   t   i
0061340    r   e       c   o   m   p   u   t   a   t   i   o   n   ,    
0061360    i   .   e   .   ,       i   f       y   o   u       s   a   y
0061400        (   F   U   N   C   T   I   O   N       &       (   A    
0061420    B   )   )       y   o   u       w   i   l   l       g   e   t
0061440        (   F   U   N   A   R   G       &       s   t   a   c   k
0061460    p   )       w   h   e   r   e       "   s   t   a   c   k   p
0061500    "       c   o   n   t   a   i   n   s       t   h   e       e
0061520    n   t   i   r   e       A   L   I   N   K       c   h   a   i
0061540    n       a   t       t   h   e       t   i   m   e       o   f
0061560        t   h   e       F   U   N   C   T   I   O   N   .  \r   {
0061600    E   n   d       N   o   t   e   }  \r  \r  \r   }   {   E   n
0061620    d       S   u   b   S   e   c       F   u   n   c   t   i   o
0061640    n   a   l       A   r   g   u   m   e   n   t   s   }  \r  \r
0061660   \r  \r  \0  \0  \0  \0  \0 004  \0 003  \0   ?  \0   1   (   D
0061700    E   F   A   U   L   T   F   O   N   T       1       (   G   A
0061720    C   H   A       1   0   )       (   G   A   C   H   A       8
0061740    )       (   T   E   R   M   I   N   A   L       8   )   )  \0
0061760   \n  \0  \0  \0  \0  \0  \0  \0  \0  \0 023  \0 005   G   A   C
0062000    H   A  \0  \n  \0  \0  \0  \0  \0  \0  \0  \0  \0   ?  \0   1
0062020    (   D   E   F   A   U   L   T   F   O   N   T       1       (
0062040    G   A   C   H   A       1   0   )       (   G   A   C   H   A
0062060        8   )       (   T   E   R   M   I   N   A   L       8   )
0062100    )  \0  \n  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \f   >  \0
0062120   \0  \0  \0 003  \0  \0  \0   *  \0  \0  \0  \0 002  \0  \0   W
0062140    J  \0  \0  \0  \0 003  \0  \0   c 262  \0 003   z 272        
0062156