Language:
Free Online Dictionary|3Dict

tupling

Source : Free On-Line Dictionary of Computing

tupling
     
        A {program transformation} where several results are returned
        from a single traversal of a data structure.  E.g.
     
        	mean l = sum l / length l
     
        		==>
     
        	mean l = s/n
        		 where
        		 (s,n) = sumLen l
     
        	sumLen []     = (0,0)
        	sumLen (x:xs) = (s+x, n+1)
        			where
        			(s,n) = sumLen xs
     
        In {procedural} languages this technique is known as
        {horizontal loop combination} because it uses one loop to
        calculate several results.
     
        Another form of tupling transformation is used to avoid
        repeated evaluation where a function generates several
        identical calls to itself.  By analysing the pattern of
        recursion (see {descent function}) it is possible to arrange
        for these identical calls to share results.  E.g.
     
        	fib 0 = 1
        	fib 1 = 1
        	fib n = fib (n-1) + fib (n-2)
     
        		==>
     
        	fib n = v where (_,v) = fibt n
        	fibt 0 = (1,1)
        	fibt n = (u+v,u) where (u,v) = fibt (n-1)
     
        (1995-01-12)
Sort by alphabet : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z