Chuyển bộ gõ


Từ điển Máy Tính - Foldoc Dictionary
tail recursion modulo cons



tail recursion modulo cons

(programming, compiler)   A generalisation of tail recursion introduced by D.H.D. Warren. It applies when the last thing a function does is to apply a constructor functions (e.g. cons) to an application of a non-primitive function. This is transformed into a tail call to the function which is also passed a pointer to where its result should be written. E.g.

 f []     = []  f (x:xs) = 1 : f xs 
is transformed into (pseudo C/Haskell):

 f [] = []  f l  = f' l allocate_cons  f' []     p = { *p = nil;    return *p         }  f' (x:xs) p = { cell = allocate_cons;           *p = cell;    cell.head = 1;    return f' xs &cell.tail         } 
where allocate_cons returns the address of a new cons cell, *p is the location pointed to by p and &c is the address of c.

[D.H.D. Warren, DAI Research Report 141, University of Edinburgh 1980].

Last updated: 1995-03-06




Giới thiệu VNDIC.net | Plugin từ diển cho Firefox | Từ điển cho Toolbar IE | Tra cứu nhanh cho IE | Vndic bookmarklet | Học từ vựng | Vndic trên web của bạn

© Copyright 2006-2024 VNDIC.NET & VDICT.CO all rights reserved.