Word:

tail recursion modulo cons

(programming, compiler)tail recursion modulo cons - 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].
Browse
tail circuit
tail coat
Tail coverts
tail end
tail feather
tail fin
tail gate
tail gunner
Tail joist
tail lamp
Tail of a comet
Tail of a gale
Tail of a lock
Tail of the trenches
Tail on
tail recursion
-- tail recursion modulo cons --
tail recursion optimisation
tail rotor
Tail spindle
Tail stock
Tail-bay
tail-flower
tail-strict
Tail-water
Tailage
tailback
Tailblock
Tailboard
tailcoat
Tailed
tailed frog
tailed toad
Definitions Index: # 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

About this site and copyright information - Online Dictionary Home - Privacy Policy