< ! - -   v i m :   s e t   t s = 2   s w = 2   t w = 8 0   f o = t c   e t   - - > 
 
 < ! D O C T Y P E   h t m l > 
 
 < h t m l > 
 
     < h e a d > 
 
         < t i t l e > A   p r o p o s a l   f o r   n a m e d   a r g u m e n t s   f o r   C + + < / t i t l e > 
 
         < s t y l e > 
 
             c o d e   {   w h i t e - s p a c e :   p r e ;   } 
 
         < / s t y l e > 
 
     < / h e a d > 
 
     < b o d y > 
 
         < h 3 > N a m e d   a r g u m e n t s < / h 3 > 
 
         < t a b l e > 
 
             < t r > 
 
                 < t h > D o c u m e n t   n u m b e r : < / t h > < t d > N 4 1 7 2 < / t d > 
 
             < / t r > 
 
             < t r > 
 
                 < t h   r o w s p a n = 2 > A u t h o r s : < / t h > < t d > E h s a n   A k h g a r i   ( M o z i l l a ) ,   & l t ; e h s a n @ m o z i l l a . c o m & g t ; < / t d > 
 
             < / t r > 
 
             < t r > 
 
                 < t d > B o t o n d   B a l l o   ( M o z i l l a ) ,   & l t ; b o t o n d @ m o z i l l a . c o m & g t ; < / t d > 
 
             < / t r > 
 
             < t r > 
 
                 < t h > D a t e : < / t h > < t d > 2 0 1 4 - 1 0 - 0 7 < / t d > 
 
             < / t r > 
 
         < / t a b l e > 
 
         < h 4 > A b s t r a c t < / h 4 > 
 
         < p > W e   p r o p o s e   a   n e w   m e c h a n i s m   f o r   a s s o c i a t i n g   f u n c t i o n   a r g u m e n t s   w i t h 
 
         f u n c t i o n   p a r a m e t e r s :   b y   n a m e ,   w i t h   t h e   s y n t a x   < c o d e > n a m e   :   v a l u e < / c o d e > .   W e 
 
         b e l i e v e   u s i n g   n a m e d   a r g u m e n t s   w i l l   i n c r e a s e   t h e   r e a d a b i l i t y   o f   f u n c t i o n 
 
         c a l l s ,   a s   w e l l   a s   m a k i n g   i t   e a s i e r   t o   w r i t e   t h e m   a n d   r e d u c i n g   t h e   l i k e l i h o o d 
 
         o f   m i s t a k e s .   P a r a m e t e r   n a m e s   a r e   a s s o c i a t e d   w i t h   a   f u n c t i o n   f o r   t h e   p u r p o s e 
 
         o f   a   c a l l   b y   l o o k i n g   a t   t h e   d e c l a r a t i o n s   o f   t h e   f u n c t i o n   v i s i b l e   f r o m   t h e 
 
         c a l l   s i t e ;   u s e   o f   n a m e d   a r g u m e n t s   i s   a l l o w e d   i f   a l l   d e c l a r a t i o n s   u s e 
 
         c o n s i s t e n t   n a m e s . < / p > 
 
         < h 4 > M o t i v a t i o n < / h 4 > 
 
         < p > F u n c t i o n   a r g u m e n t s   a r e   c u r r e n t l y   a s s o c i a t e d   w i t h   f u n c t i o n   p a r a m e t e r s   b y 
 
         p o s i t i o n .   T h i s   h a s   i m p l i c a t i o n s   f o r   w r i t i n g   a n d   r e a d i n g   f u n c t i o n   c a l l s . < / p > 
 
         < p > W h e n   w r i t i n g   a   f u n c t i o n   c a l l ,   o n e   n e e d s   t o   b e   c a r e f u l   t o   w r i t e   t h e 
 
         a r g u m e n t s   i n   t h e   s a m e   o r d e r   a s   t h e   p a r a m e t e r s   i n   t h e   f u n c t i o n   d e c l a r a t i o n ; 
 
         d e p e n d i n g   o n   t h e   t y p e s   o f   t h e   p a r a m e t e r s ,   t h e   c o m p i l e r   c a n   c a t c h   s o m e 
 
         m i s t a k e s ,   b u t   o t h e r   t i m e s   t h e y   l e a d   t o   r u n t i m e   b u g s   t h a t   a r e   h a r d   t o 
 
         d i a g n o s e   a n d   p r e v e n t . < / p > 
 
         < p > W h e n   r e a d i n g   a   f u n c t i o n   c a l l ,   t h e   o n l y   i n f o r m a t i o n 
 
         a b o u t   t h e   p u r p o s e   o f   t h e   a r g u m e n t   t h a t   i s   p r e s e n t   a t   t h e   c a l l   s i t e   i s   i t s 
 
         v a l u e   a n d   o r d e r   r e l a t i v e   t o   o t h e r   a r g u m e n t s ;   f o r   m o r e   i n f o r m a t i o n ,   t h e 
 
         r e a d e r   n e e d s   t o   r e f e r   t o   t h e   c o r r e s p o n d i n g   p a r a m e t e r ' s   n a m e   i n   t h e   f u n c t i o n 
 
         d e c l a r a t i o n . < / p > 
 
         < p > F u n c t i o n   d e c l a r a t i o n s   a r e   t y p i c a l l y   & q u o t ; f a r   a w a y & q u o t ;   f r o m   f u n c t i o n   c a l l s   i n 
 
         c o d e ,   m e a n i n g   e l s e w h e r e   i n   t h e   f i l e   o r ,   m o r e   o f t e n ,   i n   a   d i f f e r e n t   f i l e . 
 
         T h e r e f o r e ,   w e   b e l i e v e   t h a t   a   m e c h a n i s m   f o r   a s s o c i a t i n g   f u n c t i o n   a r g u m e n t s 
 
         w i t h   f u n c t i o n   p a r a m e t e r s   t h a t   r e d u c e s   t h e   n e e d   t o   r e f e r   t o   t h e   f u n c t i o n 
 
         d e c l a r a t i o n   w h e n   w r i t i n g   a n d   r e a d i n g   f u n c t i o n   c a l l s ,   w o u l d   m a k e   b o t h   j o b s 
 
         e a s i e r . < / p > 
 
         < p > T h i s   i s   p a r t i c u l a r l y   t h e   c a s e   f o r   l a r g e   s o f t w a r e   p r o j e c t s ,   w h e r e   t h e r e 
 
         c a n   b e   t h o u s a n d s   o f   f u n c t i o n s   i n   p l a y   a t   o n c e ,   a n d   r e l i a n c e   o n   c o n v e n t i o n s 
 
         ( s u c h   a s   & q u o t ; t o p ,   r i g h t ,   l e f t ,   b o t t o m & q u o t ; )   d o e s n ' t   s c a l e ;   a n d   p a r t i c u l a r l y   t h e 
 
         c a s e   f o r   C + + ,   w h e r e   g o t c h a s   s u c h   a s   i m p l i c i t   c o n v e r s i o n s   m e a n   t h a t   e x t r a 
 
         c a r e   i s   r e q u i r e d   f o r   t h i n g s   l i k e   a r g u m e n t   o r d e r . < / p > 
 
         < p > A n o t h e r   e x a m p l e   o f   w h e r e   t h i s   p r o p o s a l   i s   u s e f u l   i s   w i t h   b o o l e a n   a r g u m e n t s . 
 
         S o m e   l a r g e   s o f t w a r e   p r o j e c t s   d i s c o u r a g e   t h e   u s a g e   o f   t h e   < c o d e > b o o l < / c o d e > 
 
         t y p e   a s   a n   a r g u m e n t   a n d   r e q u i r e   a u t h o r s   t o   u s e   e n u m s   o r   c o n s t s   t o   c o n v e y 
 
         w h a t   t h e   b o o l e a n   a r g u m e n t s   m e a n   a t   t h e   c a l l   s i t e .   W i t h   t h i s   p r o p o s a l ,   h o w e v e r , 
 
         b o o l e a n   a r g u m e n t s   c a n   b e   u s e d   w i t h o u t   t h e   l o s s   o f   r e a d a b i l i t y   a t   t h e   c a l l   s i t e . < / p > 
 
         < p > W e   s p e c i f i c a l l y   p r o p o s e   t h a t   f u n c t i o n   a r g u m e n t s   c a n   b e   a s s o c i a t e d   w i t h 
 
         f u n c t i o n   p a r a m e t e r s   b y   u s i n g   t h e   p a r a m e t e r ' s   n a m e   a t   t h e   c a l l   s i t e . < / p > 
 
         < h 5 > E x a m p l e < / h 5 > 
 
         < p > B e l o w   i s   a n   e x a m p l e   o f   t h e   k i n d   o f   c o d e   t h a t   c a n   b e   w r i t t e n   w i t h   w h a t 
 
         i s   b e i n g   p r o p o s e d   h e r e . < / p > 
 
         < c o d e > 
 
             v o i d   d r a w _ r e c t ( i n t   l e f t ,   i n t   t o p ,   i n t   w i d t h ,   i n t   h e i g h t ,   b o o l   f i l l _ r e c t   =   f a l s e ) ; 
 
             i n t   m a i n ( ) 
 
             { 
 
                 / /   B o t h   o f   t h e   f u n c t i o n   c a l l s   b e l o w   p a s s   t h e   s a m e   s e t   o f   a r g u m e n t s   t o   d r a w _ r e c t . 
 
                 d r a w _ r e c t ( t o p :   1 0 ,   l e f t :   1 0 0 ,   w i d t h :   6 4 0 ,   h e i g h t :   4 8 0 ) ; 
 
                 d r a w _ r e c t ( 1 0 0 ,   1 0 ,   h e i g h t :   4 8 0 ,   f i l l _ r e c t :   f a l s e ,   w i d t h :   6 4 0 ) ; 
 
             } 
 
         < / c o d e > 
 
         < h 4 > P r o p o s a l < / h 4 > 
 
         < h 5 > S y n t a x < / h 5 > 
 
         T h e   s y n t a x   o f   < e m > e x p r e s s i o n - l i s t < / e m >   i s   e x t e n d e d   t o   a c c e p t   e l e m e n t s   o f 
 
         t h e   f o r m   < e m > i d e n t i f i e r :   e x p r e s s i o n < / e m > .   S u c h   e l e m e n t s   a r e   o n l y   a l l o w e d 
 
         a s   a r g u m e n t s   t o   a   f u n c t i o n   c a l l .   A r g u m e n t s   w r i t t e n   t h i s   w a y   a r e   r e f e r r e d 
 
         t o   a s   < s t r o n g > n a m e d   a r g u m e n t s < / s t r o n g > .   N o n - n a m e d   a r g u m e n t s   a r e   r e f e r r e d   
 
         t o   a s   < s t r o n g > p o s i t i o n a l   a r g u m e n t s < / s t r o n g > . 
 
         < h 5 > B a s i c   s e m a n t i c s < / h 5 > 
 
         P o s i t i o n a l   a r g u m e n t s 
 
         c a n n o t   a p p e a r   a f t e r   a   n a m e d   a r g u m e n t .     I f   a   f u n c t i o n   h a s 
 
         a n   e l l i p s i s   p a r a m e t e r   o r   i s   a   v a r i a d i c   t e m p l a t e   f u n c t i o n ,   a l l   o f   i t s 
 
         a r g u m e n t s   a t   c a l l   s i t e s   m u s t   b e   p o s i t i o n a l .     I f   a   f u n c t i o n   d e c l a r a t i o n 
 
         i n c l u d e s   p a r a m e t e r s   w i t h   d e f a u l t   a r g u m e n t s ,   n a m e d   a r g u m e n t s   m a y   g i v e   v a l u e s   
 
         t o   s o m e   b u t 
 
         n o t   a l l   o f   t h e   o p t i o n a l   p a r a m e t e r s .     H e r e   i s   a n   e x a m p l e : < / p > 
 
         < c o d e > 
 
             v o i d   f o o ( i n t   a ,   c h a r   b ,   s t d : : s t r i n g   c ) ; 
 
             v o i d   b a r ( i n t   a ,   c h a r   b = ' x ' ,   f l o a t   c = 0 . 1 ) ; 
 
             v o i d   b a z ( i n t   a ,   . . . ) ; 
 
             t e m p l a t e   & l t ; c l a s s   . . . T & g t ;   v o i d   q u x ( T . . .   a ) ; 
 
             v o i d   t e s t ( )   { 
 
                     f o o ( 1 ,   ' c ' ,   & q u o t ; s & q u o t ; ) ;                 / /   v a l i d 
 
                     f o o ( 1 ,   b :   ' c ' ,   c :   & q u o t ; s & q u o t ; ) ;     / /   v a l i d 
 
                     f o o ( a :   1 ,   ' c ' ,   & q u o t ; s & q u o t ; ) ;           / /   i n v a l i d   - -   n a m e d   a r g u m e n t   f o l l o w e d   b y   p o s i t i o n a l 
 
                     f o o ( 1 ,   c :   & q u o t ; s & q u o t ; ,   b :   ' c ' ) ;     / /   v a l i d 
 
                     f o o ( 1 ,   ' c ' ,   c :   & q u o t ; s & q u o t ; ) ;           / /   v a l i d 
 
                     b a r ( 1 ,   c :   0 . 2 ) ;                     / /   v a l i d 
 
                     b a r ( 1 ,   b :   ' c ' ) ;                     / /   v a l i d 
 
                     b a r ( 1 ,   c :   0 . 2 ,   b :   ' c ' ) ;     / /   v a l i d 
 
                     b a r ( a :   1 ) ;                               / /   v a l i d 
 
                     b a r ( a :   1 ,   ' c ' ) ;                     / /   i n v a l i d   - -   n a m e d   a r g u m e n t   f o l l o w e d   b y   p o s i t i o n a l 
 
                     b a z ( a :   1 ) ;                               / /   i n v a l i d   - -   e l l i p s i s   p a r a m e t e r 
 
                     b a z ( 1 ,   f o o :   1 ) ;                     / /   i n v a l i d   - -   e l l i p s i s   p a r a m e t e r 
 
                     q u x ( a :   1 ) ;                               / /   i n v a l i d   - -   v a r i a d i c   t e m p l a t e   f u n c t i o n 
 
             } 
 
         < / c o d e > 
 
         < p > I f   t h e   s a m e   f u n c t i o n   i s   d e c l a r e d   m o r e   t h a n   o n c e ,   i t   c a n   o n l y   b e   c a l l e d 
 
         u s i n g   n a m e d   a r g u m e n t s   i f   t h e   n a m e s   o r   l a c k   t h e r e o f   f o r   e a c h   p a r a m e t e r   i s 
 
         e x a c t l y   t h e   s a m e   i n   e a c h   d e c l a r a t i o n .     H e r e   i s   a n   e x a m p l e : < / p > 
 
         < c o d e > 
 
             v o i d   f o o ( i n t   a ,   c h a r   b ,   s t d : : s t r i n g   c ) ; 
 
             v o i d   f o o ( i n t   a ,   c h a r   b ,   s t d : : s t r i n g   x ) ; 
 
             v o i d   b a r ( i n t   a ,   c h a r   b ) ; 
 
             v o i d   b a r ( i n t   x ,   c h a r   b ) ; 
 
             v o i d   t e s t ( )   { 
 
                     f o o ( 1 ,   ' c ' ,   & q u o t ; s & q u o t ; ) ;           / /   v a l i d 
 
                     f o o ( 1 ,   ' c ' ,   c :   & q u o t ; s & q u o t ; ) ;     / /   i n v a l i d   - -   d i f f e r e n t   n a m e s   f o r   a n   a r g u m e n t   i n   m u l t i p l e   d e c l a r a t i o n s 
 
                     f o o ( 1 ,   ' c ' ,   x :   & q u o t ; s & q u o t ; ) ;     / /   i n v a l i d   - -   d i f f e r e n t   n a m e s   f o r   a n   a r g u m e n t   i n   m u l t i p l e   d e c l a r a t i o n s 
 
                     b a r ( 1 ,   b :   ' c ' ) ;               / /   i n v a l i d   - -   d i f f e r e n t   n a m e s   f o r   a n   a r g u m e n t   i n   m u l t i p l e   d e c l a r a t i o n s 
 
             } 
 
         < / c o d e > 
 
         < p > I f   t h e   p a r a m e t e r   l i s t   f o r   a   f u n c t i o n   d r o p s   s o m e   o f   t h e   p a r a m e t e r   n a m e s , 
 
         a s s u m i n g   t h a t   p a r a m e t e r   N   i s   t h e   l a s t   t o   n o t   h a v e   a   n a m e   ( n o r   a   d e f a u l t   a r g u m e n t ) ,   
 
         a l l   w e l l - f o r m e d 
 
         c a l l s   t o   t h a t   f u n c t i o n   m u s t   p r o v i d e   a t   l e a s t   N   p o s i t i o n a l   a r g u m e n t s .     H e r e 
 
         i s   a n   e x a m p l e : < / p > 
 
         < c o d e > 
 
             v o i d   f o o ( i n t ,   c h a r   b ,   s t d : : s t r i n g   c ) ; 
 
             v o i d   b a r ( i n t ,   c h a r   b = ' c ' ,   f l o a t   c = 0 . 1 ) ; 
 
             v o i d   t e s t ( )   { 
 
                     f o o ( 1 ,   c :   & q u o t ; s & q u o t ; ,   b :   ' c ' ) ;     / /   v a l i d 
 
                     b a r ( 1 ,   c :   0 . 2 ) ;                     / /   v a l i d 
 
                     b a r ( c :   0 . 2 ) ;                           / /   i n v a l i d   -   n u m b e r   o f   p o s i t i o n a l   a r g u m e n t s   ( 0 )   l e s s   t h a n   t h e   i n d e x   o f   t h e   l a s t   u n n a m e d   p a r a m e t e r   ( 1 ) 
 
             } 
 
         < / c o d e > 
 
         < p > A s   a n   e x c e p t i o n ,   i f   a   d e c l a r a t i o n   d o e s   n o t   p r o v i d e   n a m e s   f o r   a n y 
 
         a r g u m e n t s ,   i t   i s   i g n o r e d . < / p > 
 
         < c o d e > 
 
             v o i d   f o o ( i n t   a ,   c h a r   b ,   s t d : : s t r i n g   c ) ; 
 
             v o i d   f o o ( i n t ,   c h a r ,   s t d : : s t r i n g ) ; 
 
 
 
             v o i d   t e s t ( )   { 
 
                     f o o ( a :   1 ,   b :   ' c ' ,   c :   & q u o t ; s & q u o t ; ) ;     / /   v a l i d 
 
             } 
 
         < / c o d e > 
 
         < p > F u n c t i o n s   d e f i n i t i o n s   d o   n o t   a f f e c t   c a l l i n g   f u n c t i o n s   w i t h   n a m e d 
 
         a r g u m e n t s   i n   a n y   w a y .     E x a m p l e : < / p > 
 
         < c o d e > 
 
             v o i d   f o o ( i n t   a ,   c h a r   b ,   s t d : : s t r i n g   c ) ; 
 
             v o i d   t e s t ( )   { 
 
                     f o o ( c :   & q u o t ; s & q u o t ; ,   a :   1 ,   b :   ' c ' ) ;     / /   v a l i d 
 
             } 
 
             v o i d   f o o ( i n t   x ,   c h a r   y ,   s t d : : s t r i n g   z )   { } 
 
         < / c o d e > 
 
         < p > T h i s   i s   t r u e   e v e n   i f   t h e   d e f i n i t i o n   i s   l o c a t e d   p r i o r   t o   t h e   c a l l   s i t e : < / p > 
 
         < c o d e > 
 
             v o i d   f o o ( i n t   a ,   c h a r   b ,   s t d : : s t r i n g   c ) ; 
 
             v o i d   f o o ( i n t   x ,   c h a r   y ,   s t d : : s t r i n g   z )   { } 
 
             v o i d   t e s t ( )   { 
 
                     f o o ( c :   & q u o t ; s & q u o t ; ,   a :   1 ,   b :   ' c ' ) ;     / /   s t i l l   v a l i d 
 
                     f o o ( x :   1 ,   y :   ' c ' ,   z :   & q u o t ; s & q u o t ; ) ;     / /   s t i l l   i n v a l i d 
 
             } 
 
         < / c o d e > 
 
         < p > H o w e v e r ,   i f   a   f u n c t i o n   d e f i n i t i o n   i s   t h e   f i r s t   d e c l a r a t i o n   o f   a   f u n c t i o n ,   
 
         t h e   n a m e s   o f   t h e   p a r a m e t e r s   i n   t h e   d e f i n i t i o n   a r e   c o n s i d e r e d .   E x a m p l e : < / p > 
 
         < c o d e > 
 
             v o i d   f o o ( i n t   a ,   c h a r   b ,   s t d : : s t r i n g   c )   { } 
 
             v o i d   t e s t ( )   { 
 
                     f o o ( c :   & q u o t ; s & q u o t ; ,   a :   1 ,   b :   ' c ' ) ;     / /   v a l i d 
 
             } 
 
         < / c o d e > 
 
         < p > I f   a   f o l l o w i n g   d e c l a r a t i o n   t h e n   d e f i n e s   d i f f e r e n t   n a m e s   f o r   t h e   p a r a m e t e r s ,   
 
         u s i n g   n a m e d   a r g u m e n t s   t o   c a l l   t h a t   f u n c t i o n   w o u l d   b e   a n   e r r o r .     E x a m p l e : < / p > 
 
         < c o d e > 
 
             v o i d   f o o ( i n t   a ,   c h a r   b ,   s t d : : s t r i n g   c )   { } 
 
             v o i d   f o o ( i n t   x ,   c h a r   y ,   s t d : : s t r i n g   z ) ; 
 
             v o i d   t e s t ( )   { 
 
                     f o o ( c :   & q u o t ; s & q u o t ; ,   a :   1 ,   b :   ' c ' ) ;     / /   i n v a l i d   - -   d i f f e r e n t   n a m e s   f o r   a n   a r g u m e n t   i n   m u l t i p l e   d e c l a r a t i o n s 
 
             } 
 
         < / c o d e > 
 
         < p > A l l   o f   t h e   a b o v e   a p p l i e s   t o   f u n c t i o n   d e c l a r a t i o n s / d e f i n i t i o n s   i n   a   s i n g l e 
 
         t r a n s l a t i o n   u n i t .   T h e   s a m e   f u n c t i o n   m a y   b e   d e c l a r e d   i n   d i f f e r e n t   t r a n s l a t i o n 
 
         u n i t s   w i t h   d i f f e r e n t   p a r a m e t e r   n a m e s ,   a n d   e a c h   t r a n s l a t i o n   u n i t   c a n   h a v e   c a l l 
 
         s i t e s   u s i n g   t h e   a r g u m e n t   n a m e s   t h a t   m a t c h   t h e   d e c l a r a t i o n   i n   t h a t   t r a n s l a t i o n   
 
         u n i t . < / p > 
 
         < h 5 > O v e r l o a d   r e s o l u t i o n < / h 5 > 
 
         < p > O v e r l o a d   r e s o l u t i o n   n e e d s   t o   b e   m o d i f i e d   s l i g h t l y   i n   o r d e r   t o   h a n d l e 
 
         n a m e d   a r g u m e n t s   c o r r e c t l y .   W e   d o   n o t   p r o p o s e   t o   m o d i f y   t h e   r u l e s   f o r 
 
         d e t e r m i n i n g   t h e   s e t   o f   c a n d i d a t e   f u n c t i o n s   a n d   a r g u m e n t   l i s t s   t h a t   a r e   t h e 
 
         i n p u t s   t o   t h e   o v e r l o a d   r e s o l u t i o n   p r o c e s s   < c o d e > [ o v e r . m a t c h . f u n c s ] < / c o d e > , 
 
         n o r   t h e   r u l e s   f o r   s e l e c t i n g   t h e   b e s t   v i a b l e   f u n c t i o n 
 
         < c o d e > [ o v e r . m a t c h . b e s t ] < / c o d e > .   W e   o n l y   p r o p o s e   t o   m o d i f y   t h e   r u l e s   f o r 
 
         d e t e r m i n i n g   w h i c h   c a n d i d a t e s   a r e   v i a b l e   t o   b e g i n   w i t h 
 
         < c o d e > [ o v e r . m a t c h . v i a b l e ] < / c o d e > ,   a n d   o u r   m o d i f i c a t i o n s   o n l y   a p p l y   t o   c a l l s 
 
         t h a t   i n v o l v e   n a m e d   a r g u m e n t s . < / p > 
 
         < p > S p e c i f i c a l l y ,   f o r   c a l l s   t h a t   i n v o l v e   n a m e d   a r g u m e n t s ,   w e   d e f i n e   r u l e s 
 
         f o r   m a t c h i n g   a r g u m e n t s   t o   p a r a m e t e r s ,   a n d   c o n s i d e r   c a n d i d a t e s   w h e r e   n o t   a l l 
 
         a r g u m e n t s   a n d   p a r a m e t e r s   a r e   m a t c h e d   a c c o r d i n g   t o   t h e s e   r u l e s ,   t o   b e   n o t 
 
         v i a b l e . < / p > 
 
         < p > L e t ' s   c o n s i d e r   a   f u n c t i o n   c a l l   w i t h   M   p o s i t i o n a l   a r g u m e n t s   a n d   N   n a m e d 
 
         a r g u m e n t s .   A   g i v e n   c a n d i d a t e   f u n c t i o n   i s   v i a b l e   i f : < / p > 
 
         < u l > 
 
             < l i > T h e   c a n d i d a t e   h a s   a t   l e a s t   M   +   N   p a r a m e t e r s . < / l i > 
 
             < l i > D i s r e g a r d i n g   t h e   f i r s t   M   p a r a m e t e r s   o f   t h e   c a n d i d a t e ,   e v e r y   n a m e d 
 
             a r g u m e n t   i n   t h e   c a l l   c a n   b e   m a t c h e d   t o   a   p a r a m e t e r   o f   t h e   c a n d i d a t e   b y 
 
             n a m e . < / l i > 
 
             < l i > A l l   p a r a m e t e r s   o f   t h e   c a n d i d a t e   w h i c h   r e m a i n   u n m a t c h e d   a f t e r   t h e 
 
             a b o v e   s t e p   h a v e   a   d e f a u l t   v a l u e . < / l i > 
 
         < / u l > 
 
         < p > F o r   a   c a n d i d a t e   f u n c t i o n   w h i c h   i s   v i a b l e   a c c o r d i n g   t o   t h e   a b o v e   r u l e s , 
 
         w e   a d j u s t   t h e   a r g u m e n t   l i s t   a s   f o l l o w s :   t h e   N   n a m e d   a r g u m e n t s   a r e   r e o r d e r e d 
 
         t o   m a t c h   t h e   o r d e r   o f   t h e   p a r a m e t e r s   t h e y   h a v e   b e e n   m a t c h e d   w i t h ;   i f ,   f o r 
 
         s o m e   i   & l t ;   M   +   N ,   t h e   i ' t h   p a r a m e t e r   o f   t h e   f u n c t i o n   h a s   n o   m a t c h i n g 
 
         a r g u m e n t   -   i n   w h i c h   c a s e ,   a c c o r d i n g   t o   t h e   a b o v e   r u l e s ,   i t   m u s t   h a v e   a 
 
         d e f a u l t   a r g u m e n t   -   w e   m a t c h   i t   w i t h   a   s y n t h e t i c   a r g u m e n t   u s i n g   t h e   v a l u e   o f 
 
         s a i d   d e f a u l t   a r g u m e n t . < / p > 
 
         < p > A f t e r   t h i s   a d j u s t m e n t ,   t h e   r e s t   o f   t h e   o v e r l o a d   r e s o l u t i o n   p r o c e s s 
 
         p r o c e e d s   a s   b e f o r e . < / p > 
 
         < p > N o t e   t h a t   f o r   f u n c t i o n   t e m p l a t e s ,   t h e   a b o v e   m a t c h i n g   a n d   a d j u s t m e n t 
 
         p r o c e s s   h a p p e n s   b e f o r e   t e m p l a t e   a r g u m e n t   d e d u c t i o n   ( w h i c h   r e q u i r e s 
 
         m a t c h e d   a r g u m e n t / p a r a m e t e r   p a i r s ) . < / p > 
 
         < h 4 > I n t e r a c t i o n s   w i t h   o t h e r   l a n g u a g e   f e a t u r e s < / h 4 > 
 
         < h 5 > C o n s t r u c t o r   c a l l s   w i t h   < c o d e > {   . . .   } < / c o d e >   s y n t a x < / h 5 > 
 
         < p > A s   p a r t   o f   C + + 1 1   & q u o t ; u n i f o r m   i n i t i a l i z a t i o n & q u o t ; ,   c o n s t r u c t o r s   c a n   b e   c a l l e d 
 
         w i t h   a   < c o d e > {   } < / c o d e >   s y n t a x   i n   a d d i t i o n   t o   a   < c o d e > (   ) < / c o d e >   s y n t a x : < / p > 
 
         < c o d e > 
 
             s t r u c t   S   { 
 
                 S ( i n t   a ,   s t d : : s t r i n g   b ) ; 
 
                 . . . 
 
             } ; 
 
 
 
             S   s ( 1 ,   & q u o t ; f o o & q u o t ; ) ; 
 
             S   s { 0 ,   & q u o t ; b a r & q u o t ; } ; 
 
         < / c o d e > 
 
         < p > W e   p r o p o s e   a l l o w i n g   t h e   u s e   o f   n a m e d   a r g u m e n t s   w i t h   b o t h   s y n t a x e s : < / p > 
 
         < c o d e > 
 
             S   s ( a :   1 ,   b :   & q u o t ; f o o & q u o t ; ) ;     / /   v a l i d 
 
             S   s { a :   0 ,   b :   & q u o t ; b a r & q u o t ; } ;     / /   a l s o   v a l i d 
 
         < / c o d e > 
 
         < h 5 > A g g r e g a t e   i n i t i a l i z a t i o n < / h 5 > 
 
         < p > H o w e v e r ,   w e   d o   n o t   p r o p o s e   a l l o w i n g   t h e   u s e   o f   n a m e d   a r g u m e n t s   w i t h 
 
         a g g r e g a t e   i n i t i a l i z a t i o n : < / p > 
 
         < c o d e > 
 
             s t r u c t   S   { 
 
                 i n t   a ; 
 
                 s t d : : s t r i n g   b ; 
 
             } ; 
 
 
 
             S   s { 1 ,   & q u o t ; f o o & q u o t ; } ;                 / /   v a l i d   C + + 1 1 
 
             S   s { a :   1 ,   b :   & q u o t ; f o o & q u o t ; } ;     / /   n o t   v a l i d 
 
         < / c o d e > 
 
         < p > T h e   r a t i o n a l e   i s   t h a t   t h e   n a m e s   < c o d e > a < / c o d e >   a n d   < c o d e > b < / c o d e >   h e r e 
 
         a r e   n a m e s   o f   d a t a   m e m b e r s ,   w h e r e a s   o u r   p r o p o s a l   i s   a b o u t   a s s o c i a t i n g 
 
         a r g u m e n t s   w i t h   p a r a m e t e r   n a m e s . < / p > 
 
         < p > W e   r e a l i z e   t h a t   t h i s   c h o i c e   i m p l i e s   t h a t   t h e   p r e s e n c e   o r   a b s e n c e   o f   a 
 
         c o n s t r u c t o r   i n   a n   a g g r e g a t e   c l a s s   b e c o m e s   m o r e   n o t i c e a b l e   t o   u s e r s   t h a n 
 
         i t   w a s   b e f o r e .   H o w e v e r ,   w e   b e l i e v e   t h a t   a l l o w i n g   t h e   u s e   o f   d a t a   m e m b e r 
 
         n a m e s   i n   t h e   s a m e   s y n t a x   a s   n a m e d   a r g u m e n t s   h a s   i t s   o w n   p r o b l e m s .   F o r 
 
         e x a m p l e ,   a d d i n g   a   c o n s t r u c t o r   t o   a n   a g g r e g a t e   c l a s s   w h e r e   t h e   c o n s t r u c t o r 
 
         p a r a m e t e r   n a m e s   a r e   d i f f e r e n t   f r o m   t h e   d a t a   m e m b e r   n a m e s   c o u l d   c h a n g e   t h e 
 
         m e a n i n g   o f   t h e   p r o g r a m .   W e   b e l i e v e   d i s a l l o w i n g   t h i s   i s   t h e   l e s s e r   o f   t w o 
 
         e v i l s . < / p > 
 
         < h 5 > C a l l s   t h r o u g h   f u n c t i o n   p o i n t e r s < / h 5 > 
 
         < p > C o n s i d e r   t h e   f o l l o w i n g   c o d e : < / p > 
 
         < c o d e > 
 
             v o i d   f u n c ( i n t   a ,   i n t   b ) ; 
 
 
 
             u s i n g   f u n c p t r _ t   =   v o i d   ( * ) ( i n t   x ,   i n t   y ) ; 
 
 
 
             f u n c p t r _ t   f   =   & f u n c ; 
 
 
 
             f ( 2 ,   3 ) ; 
 
         < / c o d e > 
 
         < p > I s   i t   r e a s o n a b l e   t o   a l l o w   a   c a l l   t o   < c o d e > f < / c o d e >   t o   u s e   n a m e d 
 
         a r g u m e n t s ?   I f   s o ,   w h a t   n a m e s   w o u l d   b e   a l l o w e d ? < / p > 
 
         < p > C l e a r l y ,   t h e   n a m e s   < c o d e > a < / c o d e >   a n d   < c o d e > b < / c o d e >   a r e   o u t   o f   t h e 
 
         q u e s t i o n ,   a s   t h e y   a r e   t h e   n a m e s   o f   t h e   f u n c t i o n   t h a t   t h e   f u n c t i o n   p o i n t e r 
 
         p o i n t s   t o ,   a n d   w h a t   f u n c t i o n   a   f u n c t i o n   p o i n t e r   p o i n t s   t o   i s   a   r u n t i m e 
 
         p r o p e r t y   o f   t h e   p r o g r a m   w h i c h   t h e   c o m p i l e r   c a n n o t   r e a s o n   a b o u t . < / p > 
 
         < p > H o w e v e r ,   p e r h a p s   i t ' s   r e a s o n a b l e   t o   u s e   t h e   n a m e s   < c o d e > x < / c o d e >   a n d 
 
         < c o d e > y < / c o d e > ,   t h a t   i s ,   t h e   n a m e s   o f   t h e   p a r a m e t e r s   u s e d   i n   t h e   d e c l a r a t i o n 
 
         o f   t h e   f u n c t i o n   p o i n t e r ,   o r   ( i n   c a s e   o f   a   d e c l a r a t i o n   u s i n g   a   t y p e d e f ,   a s 
 
         h e r e )   i n   t h e   d e c l a r a t i o n   o f   t h e   f u n c t i o n   p o i n t e r   t y p e ? < / p > 
 
         < p > W e   p r o p o s e   < s t r o n g > n o t < / s t r o n g >   a l l o w i n g   < c o d e > x < / c o d e >   a n d 
 
         < c o d e > y < / c o d e >   e i t h e r ,   b e c a u s e   i t   w o u l d   r e q u i r e   c o m p i l e r s   t o   t r a c k   p a r a m e t e r 
 
         n a m e s   i n   t y p e d e f   d e c l a r a t i o n s   a n d   a s s o c i a t e   d i f f e r e n t   d e c l a r a t i o n s   o f   a 
 
         t y p e d e f   w i t h   e a c h   o t h e r   t o   v e r i f y   t h a t   t h e   n a m e s   a r e   c o n s i s t e n t .   T h i s 
 
         w o u l d   c o v e r   n e w   g r o u n d   b y   g i v i n g   t y p e d e f   n a m e s   a   u s e   t h e y   d o n ' t 
 
         c u r r e n t l y   h a v e . < / p > 
 
         < p > I n   s u m m a r y ,   w e   p r o p o s e   d i s a l l o w i n g   n a m e d   a r g u m e n t s   f o r   c a l l s   t h r o u g h 
 
         f u n c t i o n   p o i n t e r s   a l t o g e t h e r . < / p > 
 
         < h 5 > P e r f e c t   f o r w a r d i n g < / h 5 > 
 
         < p > W e ' v e   h a d   a   r e q u e s t   t o   i n t e r o p e r a t e   w i t h   p e r f e c t   f o r w a r d i n g   i n   s u c h   a   w a y 
 
         t h a t   t h e   f o l l o w i n g   w o r k s : < / p > 
 
         < c o d e > 
 
             s t r u c t   R e c t   { 
 
                 R e c t ( i n t   w i d t h ,   i n t   h e i g h t ) ; 
 
                 . . . 
 
             } ; 
 
 
 
             a u t o   p   =   m a k e _ s h a r e d & l t ; R e c t & g t ; ( w i d t h :   1 0 0 ,   h e i g h t :   2 0 0 ) ; 
 
         < / c o d e > 
 
         < p > W h i l e   w e   a g r e e   t h a t   h a v i n g   t h i s   w o r k   w o u l d   b e   d e s i r a b l e ,   u n f o r t u n a t e l y   w e 
 
         a r e   n o t   a w a r e   o f   a   w a y   t o   m a k e   t h i s   w o r k   w i t h o u t   m a k i n g   p a r a m e t e r   n a m e s 
 
         p a r t   o f   a   f u n c t i o n ' s   t y p e ,   s o m e t h i n g   w e   d e f i n i t e l y   d o   n o t   p r o p o s e   ( s e e 
 
         D e s i g n   C h o i c e s   b e l o w ) . < / p > 
 
         < h 4 > B a c k w a r d s   C o m p a t i b i l i t y < / h 4 > 
 
         < p > T h e   c h a n g e s   i n   t h i s   p r o p o s a l   a r e   f u l l y   b a c k w a r d s - c o m p a t i b l e .   A l l   e x i s t i n g 
 
         p r o g r a m s   w i l l   b e   v a l i d   w i t h   n a m e d   a r g u m e n t s   a d d e d   t o   t h e   l a n g u a g e .   O n l y 
 
         c a l l   s i t e s   w h i c h   u s e   n a m e d   a r g u m e n t s   a r e   a f f e c t e d   b y   t h i s   p r o p o s a l . < / p > 
 
         < h 4 > D e s i g n   C h o i c e s < / h 4 > 
 
         < h 5 > S y n t a x < / h 5 > 
 
         < p > T h e   < c o d e > n a m e   :   v a l u e < / c o d e >   s y n t a x   w a s   c h o s e n   b e c a u s e   t h e r e   i s   p r e c e d e n t 
 
         i n   o t h e r   l a n g u a g e s   f o r   u s i n g   i t   t o   a s s o c i a t e   a   k e y   a n d   a   v a l u e   ( e . g .   P y t h o n 
 
         d i c t i o n a r i e s ,   a n d   b e c a u s e   i t   d o e s   n o t   c r e a t e   a n y   a m b i g u i t y . 
 
         < c o d e > n a m e = v a l u e < / c o d e >   w a s   c o n s i d e r e d ,   b u t   r e j e c t e d   b e c a u s e   & q u o t ; = & q u o t ;   i s   a n   o p e r a t o r 
 
         a n d   t h u s   t h e r e   w o u l d   b e   a n   a m b i g u i t y .   A   & q u o t ; : & q u o t ;   o n l y   c u r r e n t   a p p e a r s   a t   t h e 
 
         b e g i n n i n g   o f   a   < e m > c t o r - i n i t i a l i z e r < / e m > ,   a f t e r   a n 
 
         < e m > a c c e s s - s p e c i f i e r < / e m > ,   o r   i n   a   < e m > l a b e l e d - s t a t e m e n t < / e m > ,   a l l   c o n t e x t s 
 
         w h i c h   a r e   d i s j o i n t   f r o m   < e m > e x p r e s s i o n - l i s t < / e m > ,   s o   t h e r e   i s   n o 
 
         a m b i g u i t y . < / p > 
 
         < h 5 > N o t   m a k i n g   p a r a m e t e r   n a m e s   p a r t   o f   a   f u n c t i o n ' s   t y p e < / h 5 > 
 
         < p > I n   t h i s   p r o p o s a l ,   t h e   a s s o c i a t i o n   o f   p a r a m e t e r   n a m e s   w i t h   a   f u n c t i o n   f o r 
 
         t h e   p u r p o s e   o f   m a k i n g   c a l l s   w i t h   n a m e d   a r g u m e n t s   t o   t h a t   f u n c t i o n   h a p p e n s 
 
         l o c a l l y   i n   e a c h   t r a n s l a t i o n   u n i t ,   a n d   n e w   d e c l a r a t i o n s   w i t h i n   a 
 
         t r a n s l a t i o n   u n i t   c a n   c h a n g e   a   f u n c t i o n ' s   a b i l i t y   t o   b e   c a l l e d   w i t h   n a m e d 
 
         a r g u m e n t s   a t   c a l l   s i t e s   b e l o w   t h e   n e w   d e c l a r a t i o n   ( b y   u s i n g   d i f f e r e n t 
 
         n a m e s   t h a n   a   p r e v i o u s   d e c l a r a t i o n ) . < / p > 
 
         < p > A   p o s s i b l e   a l t e r n a t i v e   w o u l d   h a v e   b e e n   t o   e n c o d e   p a r a m e t e r   n a m e s   i n   a 
 
         f u n c t i o n ' s   t y p e ,   a n d   t h u s   h a v e   t h e m   b e   c o u p l e d   m o r e   c l o s e l y   t o   t h e   f u n c t i o n 
 
         a s   a n   e n t i t y ,   p o s s i b l y   i n c l u d i n g   a c r o s s   t r a n s l a t i o n   u n i t s . < / p > 
 
         < p > W e   c h o s e   n o t   t o   p u r s u e   t h i s   a l t e r n a t i v e   b e c a u s e   w e   f e l t   i t   w o u l d   b e   a 
 
         f a r   m o r e   c o m p l e x   a n d   i n v a s i v e   c h a n g e   t o   t h e   l a n g u a g e ,   w i t h   r e l a t i v e l y 
 
         l i t t l e   g a i n .   I t   w o u l d   a l s o   l i k e l y   b e   n o n - b a c k w a r d s - c o m p a t i b l e   b o t h   i n   t e r m s 
 
         o f   s o u r c e   c o d e   b a c k w a r d s   c o m p a t i b i l i t y   a n d   A B I   c o m p a t i b i l i t y   c o n s i d e r i n g 
 
         m a n g l i n g   o f   n a m e s   h a v i n g   t o   t a k e   t h e   a r g u m e n t   n a m e s   i n t o   a c c o u n t . < / p > 
 
         < h 5 > A u t o m a t i c a l l y   a l l o w i n g   e x i s t i n g   f u n c t i o n s   t o   b e   c a l l e d   v i a   n a m e d 
 
         a r g u m e n t s < / h 5 > 
 
         < p > T h i s   p r o p o s a l   a l l o w s   c a l l i n g   e x i s t i n g   f u n c t i o n s   w i t h   n a m e d 
 
         a r g u m e n t s ,   w i t h o u t   t h e   a u t h o r   o f   t h e   f u n c t i o n   h a v i n g   t o   & q u o t ; o p t - i n & q u o t ;   t o   t h i s   i n 
 
         a n y   w a y . < / p > 
 
         < p > W e   c h o s e   t h i s   b e c a u s e   w e   b e l i e v e   t h i s   f e a t u r e   h a s   s u f f i c i e n t   v a l u e   t h a t 
 
         p r o g r a m m e r s   s h o u l d   b e   a b l e   t o   s t a r t   u s i n g   i t   r i g h t   a w a y ,   w i t h o u t   h a v i n g   t o 
 
         w a i t   f o r   l i b r a r i e s   a n d   A P I s   t o   o p t - i n   t o   n a m e d   a r g u m e n t s .   W e   a l s o   b e l i e v e 
 
         t h a t   t h e   p o t e n t i a l   f o r   u s e   i n   a   w a y   t h e   a u t h o r   d o e s n ' t   i n t e n d   i s   l o w . < / p > 
 
         < h 4 > P o t e n t i a l   o b j e c t i o n s ,   a n d   o u r   r e s p o n s e s < / h 4 > 
 
         < h 5 > O b j e c t i o n   # 1 :   T h i s   f e a t u r e   c a t e r s   t o   h a v i n g   f u n c t i o n s   w i t h   m a n y 
 
         p a r a m e t e r s   -   a   p r o g r a m m i n g   s t y l e   t h a t   s h o u l d   b e   d i s c o u r a g e d . < / h 5 > 
 
         < p > W e   a g r e e   t h a t   h a v i n g   f u n c t i o n s   w i t h   m a n y   p a r a m e t e r s   s h o u l d   b e 
 
         d i s c o u r a g e d .   H o w e v e r ,   t h e   r e a l i t y   i s   t h a t   m a n y   l e g a c y   A P I s   t h a t 
 
         p r o g r a m m e r s   h a v e   t o   w o r k   w i t h   a n d   w i l l   h a v e   t o   w o r k   w i t h   f o r   a   l o n g   t i m e , 
 
         h a v e   f u n c t i o n s   w i t h   m a n y   a r g u m e n t s ,   a n d   m a k i n g   i t   e a s i e r   t o   d e a l   w i t h   s u c h 
 
         f u n c t i o n s   w o u l d   s o l v e   a   r e a l   p r o b l e m   a n d   b e   m a t e r i a l l y   u s e f u l . < / p > 
 
         < p > M o r e   i m p o r t a n t l y ,   h o w e v e r ,   t h i s   f e a t u r e   h a s   a   l o t   o f   v a l u e   f o r   f u n c t i o n s 
 
         w i t h   f e w   a r g u m e n t s ,   t o o .   E v e n   f o r   f u n c t i o n s   w i t h   f e w   a r g u m e n t s ,   w h e n   r e a d i n g 
 
         a   c a l l   s i t e   o n e   h a s   r e l a t i v e l y   l i t t l e   i n f o r m a t i o n   a b o u t   t h e   r o l e s   o f   t h e 
 
         a r g u m e n t s .   H a v i n g   n a m e s   o f   a r g u m e n t s   p r e s e n t   w o u l d   m a k e   c a l l   s i t e s   m o r e 
 
         r e a d a b l e ,   r e g a r d l e s s   o f   t h e   n u m b e r   o f   a r g u m e n t s . < / p > 
 
         < h 5 > O b j e c t i o n   # 2 :   T h i s   p r o p o s a l   c o m p e t e s   w i t h   C 9 9   d e s i g n a t e d   i n i t i a l i z e r s , 
 
         w h i c h   a r e   < a 
 
 h r e f = " h t t p : / / h t m l p r e v i e w . g i t h u b . i o / ? h t t p s : / / r a w . g i t h u b . c o m / C T M a c U s e r / m u l t i a r r a y - 
 
 i s o - p r o p o s a l / m a s t e r / d e s i g n a t i o n - p r o p o s a l . h t m l " > b e i n g   p r o p o s e d   f o r   C + + < / a > < / h 5 > 
 
         < p > T h i s   p r o p o s a l   a n d   d e s i g n a t e d   i n i t i a l i z e r s   h a v e   i n   c o m m o n   t h a t   t h e y   b o t h 
 
         a l l o w   t h e   u s e   o f   n a m e s   t o   a l l o w   s p e c i f y i n g   a   l i s t   o f   e n t i t i e s   i n   a n   o r d e r 
 
         t h a t ' s   n o t   n e c e s s a r i l y   t h e   o r d e r   o f   t h e i r   d e c l a r a t i o n . < / p > 
 
         < p > F o r   C 9 9   d e s i g n a t e d   i n i t i a l i z e r s ,   t h e   e n t i t i e s   b e i n g   n a m e d   a r e   d a t a 
 
         m e m b e r s   o f   a   s t r u c t u r e   ( a n d   t h i s   i s   r e f l e c t e d   i n   t h e 
 
         < c o d e > . n a m e   =   v a l u e < / c o d e >   s y n t a x ) .   I n   o u r   p r o p o s a l ,   t h e   e n t i t i e s   b e i n g 
 
         n a m e d   a r e   a l w a y s   p a r a m e t e r s   o f   a   f u n c t i o n   ( n o t e   t h a t   w h i l e   w e   s u p p o r t 
 
         c o n s t r u c t o r   c a l l s   v i a   t h e   < c o d e > {   . . .   } < / c o d e > ,   w e   d o   n o t   s u p p o r t 
 
         a g g r e g a t e   i n i t i a l i z a t i o n   ( s e e   & q u o t ; I n t e r a c t i o n s   w i t h   o t h e r   l a n g u a g e   f e a t u r e s & q u o t ; 
 
         a b o v e ) ) . < / p > 
 
         < p > T h e   t w o   p r o p o s a l s   t h e r e f o r e   h a v e   n o   o v e r l a p ,   a n d   w e   b e l i e v e   t h e y   a r e 
 
         c o m p l e m e n t a r y . < / p > 
 
         < h 5 > O b j e c t i o n   # 3 :   N a m e d   a r g u m e n t s   m a k e   p a r a m e t e r   n a m e s   p a r t   o f   a   f u n c t i o n ' s 
 
         i n t e r f a c e ,   s o   t h a t   c h a n g i n g   t h e   p a r a m e t e r   n a m e s   c a n   a f f e c t   c a l l   s i t e s < / h 5 > 
 
         < p > W e   w e r e   i n i t i a l l y   c o n c e r n e d   a b o u t   t h i s   a s   w e l l .   T o   g e t   a n   i d e a   a b o u t   t h e 
 
         m a g n i t u d e   o f   t h i s   p r o b l e m ,   w e   s u r v e y e d   s o m e   l a r g e   o p e n - s o u r c e   l i b r a r i e s   t o 
 
         s e e   h o w   o f t e n   p a r a m e t e r   n a m e s   c h a n g e   i n   t h e   d e c l a r a t i o n s   o f   t h e   p u b l i c   A P I 
 
         f u n c t i o n s   ( i . e . ,   t h e   n a m e s   t h a t   u s e r s   w o u l d   u s e   w h e n   m a k i n g   c a l l s   t o   t h e s e 
 
         f u n c t i o n s ) . < / p > 
 
         < p > F o r   e a c h   l i b r a r y ,   w e   c h o s e   a   r e c e n t   r e l e a s e   a n d   a   r e l e a s e   f r o m   s e v e r a l 
 
         y e a r s   a g o ,   e x a m i n e d   t h e   d i f f   b e t w e e n   t h e   t w o   v e r s i o n s ,   a n d   r e c o r d e d   t h e 
 
         n u m b e r   o f   p a r a m e t e r   n a m e   c h a n g e s .   O n l y   n a m e   c h a n g e s   t h a t   p r e s e r v e d   t h e   t y p e s 
 
         o f   t h e   p a r a m e t e r s   w e r e   c o n s i d e r e d ,   a s   a   c h a n g e   t o   t h e   t y p e   o f   a   p a r a m e t e r 
 
         t y p i c a l l y   b r e a k s   a   f u n c t i o n ' s   i n t e r f a c e   a l r e a d y .   T h e   t a b l e   b e l o w   s u m m a r i z e s 
 
         o u r   f i n d i n g s .   F o r   m o r e   d e t a i l s ,   p l e a s e   s e e   < a   h r e f = " # r e f 1 " > [ 1 ] < / a > . < / p > 
 
         < t a b l e   b o r d e r = " 1 "   s t y l e = " t e x t - a l i g n :   c e n t e r " > 
 
             < t h e a d   s t y l e = " f o n t - w e i g h t :   b o l d " > 
 
                 < t r > 
 
                     < t d   r o w s p a n = " 2 " > L i b r a r y < / t d > 
 
                     < t d   c o l s p a n = " 2 " > V e r s i o n   R a n g e < / t d > 
 
                     < t d   r o w s p a n = " 2 " > N u m b e r   o f   P a r a m e t e r < b r > N a m e   C h a n g e s < / t d > 
 
                 < / t r > 
 
                 < t r > 
 
                     < t d > S t a r t < / t d > 
 
                     < t d > E n d < / t d > 
 
                 < / t r > 
 
             < / t h e a d > 
 
             < t b o d y > 
 
                 < t r > 
 
                     < t d > < a 
 
 h r e f = " h t t p : / / e i g e n . t u x f a m i l y . o r g / i n d e x . p h p ? t i t l e = M a i n _ P a g e " > E i g e n < / a > < / t d > 
 
                     < t d > 2 . 0 . 0   ( 2 0 0 9 ) < / t d > 
 
                     < t d > 3 . 0 . 0   ( 2 0 1 1 ) < / t d > 
 
                     < t d > 4 < / t d > 
 
                 < / t r > 
 
                 < t r > 
 
                     < t d > < a   h r e f = " h t t p : / / w x w i d g e t s . o r g / " > w x W i d g e t s < / a > < / t d > 
 
                     < t d > 2 . 5 . 0 . 1   ( 2 0 0 3 ) < / t d > 
 
                     < t d > 3 . 0 . 0   ( 2 0 1 3 ) < / t d > 
 
                     < t d > 1 2 < / t d > 
 
                 < / t r > 
 
                 < t r > 
 
                     < t d > < a 
 
 h r e f = " h t t p : / / w w w . b o o s t . o r g / d o c / l i b s / r e l e a s e / l i b s / a s i o / " > B o o s t . A s i o < / a > < / t d > 
 
                     < t d > 1 . 5 0 . 0   ( 2 0 1 2 ) < / t d > 
 
                     < t d > 1 . 5 5 . 0   ( 2 0 1 3 ) < / t d > 
 
                     < t d > 1 < / t d > 
 
                 < / t r > 
 
                 < t r > 
 
                     < t d > < a 
 
 h r e f = " h t t p : / / w w w . b o o s t . o r g / d o c / l i b s / r e l e a s e / l i b s / d a t e _ t i m e / " > B o o s t . D a t e T i m e < / a > 
 
 < / t d > 
 
                     < t d > 1 . 5 0 . 0   ( 2 0 1 2 ) < / t d > 
 
                     < t d > 1 . 5 5 . 0   ( 2 0 1 3 ) < / t d > 
 
                     < t d > 1 < / t d > 
 
                 < / t r > 
 
                 < t r > 
 
                     < t d > < a 
 
 h r e f = " h t t p : / / w w w . b o o s t . o r g / d o c / l i b s / r e l e a s e / l i b s / f i l e s y s t e m / " > B o o s t . F i l e s y s t e m 
 
 < / a > < / t d > 
 
                     < t d > 1 . 4 5 . 0   ( 2 0 1 0 ) < / t d > 
 
                     < t d > 1 . 5 5 . 0   ( 2 0 1 3 ) < / t d > 
 
                     < t d > 0 < / t d > 
 
                 < / t r >                 
 
                 < t r >                 
 
                     < t d > < a 
 
 h r e f = " h t t p : / / w w w . b o o s t . o r g / d o c / l i b s / r e l e a s e / l i b s / g i l / " > B o o s t . G I L < / a > < / t d > 
 
                     < t d > 1 . 4 5 . 0   ( 2 0 1 0 ) < / t d > 
 
                     < t d > 1 . 5 5 . 0   ( 2 0 1 3 ) < / t d > 
 
                     < t d > 0 < / t d > 
 
                 < / t r >                 
 
                 < t r > 
 
                     < t d > < a 
 
 h r e f = " h t t p : / / w w w . b o o s t . o r g / d o c / l i b s / r e l e a s e / l i b s / m a t h / " > B o o s t . M a t h < / a > < / t d > 
 
                     < t d > 1 . 4 5 . 0   ( 2 0 1 0 ) < / t d > 
 
                     < t d > 1 . 5 5 . 0   ( 2 0 1 3 ) < / t d > 
 
                     < t d > 2 2 < / t d > 
 
                 < / t r > 
 
                 < t r > 
 
                     < t d > < a 
 
 h r e f = " h t t p : / / w w w . b o o s t . o r g / d o c / l i b s / r e l e a s e / l i b s / r e g e x / " > B o o s t . R e g e x < / a > < / t d > 
 
                     < t d > 1 . 4 5 . 0   ( 2 0 1 0 ) < / t d > 
 
                     < t d > 1 . 5 5 . 0   ( 2 0 1 3 ) < / t d > 
 
                     < t d > 0 < / t d > 
 
                 < / t r > 
 
                 < t r > 
 
                     < t d > < a 
 
 h r e f = " h t t p : / / w w w . b o o s t . o r g / d o c / l i b s / r e l e a s e / l i b s / t h r e a d / " > B o o s t . T h r e a d < / a > < / t d > 
 
                     < t d > 1 . 4 5 . 0   ( 2 0 1 0 ) < / t d > 
 
                     < t d > 1 . 5 5 . 0   ( 2 0 1 3 ) < / t d > 
 
                     < t d > 4 < / t d > 
 
                 < / t r > 
 
             < / t b o d y >             
 
         < / t a b l e > 
 
         < p > G i v e n   t h e   l o w   n u m b e r   o f   p a r a m e t e r   n a m e   c h a n g e s   r e l a t i v e   t o   t h e   s i z e s   o f 
 
         t h e s e   l i b r a r i e s   o v e r   p e r i o d s   o f   s e v e r a l   y e a r s ,   w e   b e l i e v e   t h a t   c o d e   b r e a k a g e 
 
         d u e   t o   p a r a m e t e r   n a m e   c h a n g e s   w o u l d   n o t   b e   a   s i g n i f i c a n t   p r o b l e m   i n 
 
         p r a c t i c e . < / p > 
 
         < h 4 > I m p l e m e n t a t i o n   S t a t u s < / h 4 > 
 
         < p > T h i s   p r o p o s a l   i s   n o t   i m p l e m e n t e d   y e t .   M o s t   o f   t h e   e f f o r t   w o u l d   b e   i n 
 
         c h a n g e s   t o   t h e   o v e r l o a d   r e s o l u t i o n   p h a s e   o f   c o m p i l e r s .   O n e   o f   t h e   a u t h o r s   o f 
 
         t h i s   p r o p o s a l   h a s   l o o k e d   a t   t h e   o v e r l o a d   r e s o l u t i o n   i m p l e m e n t a t i o n   o f   c l a n g , 
 
         a n d   w e   b e l i e v e   t h e   c h a n g e s   w i l l   b e   r e l a t i v e l y   s t r a i g h t f o r w a r d   t o   i m p l e m e n t . 
 
         W e   h a v e   t r i e d   t o   e n s u r e   t h a t   t h e   p r o p o s a l   m a k e s   a s   f e w   c h a n g e s   t o   t h e 
 
         l a n g u a g e   a s   p o s s i b l e   t o   a v o i d   u n n e c e s s a r y   i m p l e m e n t a t i o n   c o m p l e x i t y . < / p > 
 
         < h 4 > S t a n d a r d   W o r d i n g < / h 4 > 
 
         < p > T h e r e   i s   n o   s t a n d a r d   w o r d i n g   f o r   t h i s   p r o p o s a l   y e t .   A t   t h i s   s t a g e ,   w e 
 
         a r e   m o s t l y   i n t e r e s t e d   i n   g e t t i n g   g e n e r a l   f e e d b a c k . < / p > 
 
         < h 4 > P o s s i b l e   e x t e n s i o n s   a n d   s p i n - o f f   i d e a s < / h 4 > 
 
         < h 5 > N o n - t r a i l i n g   d e f a u l t   a r g u m e n t s < / h 5 > 
 
         < p > W i t h   n a m e d   a r g u m e n t s ,   i t   m i g h t   b e c o m e   s e n s i b l e   t o   a l l o w   d e f a u l t   a r g u m e n t s 
 
         i n   n o n - t r a i l i n g   p o s i t i o n s .   F o r   e x a m p l e , < / p > 
 
         < c o d e > v o i d   f ( i n t   a   =   1 0 ,   i n t   b ) ; < / c o d e > 
 
         < p > c o u l d   b e   c a l l e d   l i k e   s o : < / p > 
 
         < c o d e > f ( b :   5 ) ; < / c o d e > 
 
         < p > W e   h a v e   n o   o b j e c t i o n s   t o   t h i s ,   b u t   w o u l d   p r e f e r   l e a v i n g   i t   t o   a   f o l l o w - u p 
 
         p r o p o s a l   t o   a v o i d   s c o p e   c r e e p . < / p > 
 
         < h 5 > N a m e d   t e m p l a t e   a r g u m e n t s < / h 5 > 
 
         < p > T h e   a r g u m e n t s   i n   f a v o u r   o r   a l l o w i n g   n a m e d   a r g u m e n t s   f o r   f u n c t i o n   c a l l s 
 
         a l s o   a p p l y   t o   t e m p l a t e   a r g u m e n t s .   W e   c a n   i m a g i n e   a   s i m i l a r   p r o p o s a l   t h a t 
 
         a l l o w s   s p e c i f y i n g   t e m p l a t e   p a r a m e t e s   v i a   n a m e d   a r g u m e n t s .   F o r   e x a m p l e : < / p > 
 
         < c o d e > 
 
             t e m p l a t e   & l t ; t y p e n a m e   K e y ,   t y p e n a m e   V a l u e & g t ; 
 
             s t r u c t   m a p   {   . . .   } ; 
 
 
 
             m a p & l t ; K e y :   i n t ,   V a l u e :   s t r i n g & g t ;   m ; 
 
         < / c o d e > 
 
         < p > W e   t h i n k   i t   m a k e s   s e n s e   t o   p u r s u e   t h i s   a s   a   s e p a r a t e   p r o p o s a l , 
 
         i n d e p e n d e n t   o f   t h i s   o n e . < / p > 
 
         < h 4 > A c k n o w l e d g e m e n t s < / h 4 > 
 
         < p > W e   a r e   g r a t e f u l   f o r   t h e   f e e d b a c k   r e c e i v e d   f r o m   n u m e r o u s   m e m b e r s   o f   t h e 
 
         M o z i l l a   c o m m u n i t y   a s   w e l l   t h e   C + +   s t a n d a r d s   c o m m u n i t y . < / p > 
 
         < h 4 > R e f e r e n c e s < / h 4 > 
 
         < o l > 
 
             < l i > < a   n a m e = " r e f 1 " > A   < a   h r e f = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / e h s a n / n a m e d a r g s / d 1 f a 4 5 4 / p a r a m e t e r - n a m e - c h a n g e - s t u d y . t x t " > s t u d y < / a >   p e r f o r m e d   o n   t h e 
 
             c h a n g e s   t o   p a r a m e t e r   n a m e s   o f   t h e   f u n c t i o n s   i n   t h e   p u b l i c   i n t e r f a c e   o f   s o m e 
 
             l a r g e   o p e n - s o u r c e   p r o j e c t s . < / a > < / l i > 
 
         < / o l > 
 
     < / b o d y > 
 
 < / h t m l > 
 
 