Related articles |
---|
[2 earlier articles] |
Re: Tail recursion danwang+news@cs.princeton.edu (Daniel C. Wang) (2000-08-14) |
Re: Tail recursion toon@moene.indiv.nluug.nl (Toon Moene) (2000-08-14) |
Re: Tail recursion fjh@cs.mu.OZ.AU (2000-08-21) |
Re: Tail recursion Wilco.Dijkstra@arm.com (Wilco Dijkstra) (2000-08-21) |
Re: Tail recursion mrs@kithrup.com (2000-08-21) |
Re: Tail recursion ian0kerr@my-deja.com (2000-09-08) |
Tail recursion Alexey.Mikhailov@gmail.com (jjb) (2006-11-04) |
Re: Tail recursion kym@ukato.freeshell.org (russell kym horsell) (2006-11-04) |
Re: Tail recursion diablovision@yahoo.com (2006-11-05) |
Re: Tail recursion owong@castortech.com (Oliver Wong) (2006-11-08) |
Re: Tail recursion jboehm@gmx.net (=?ISO-8859-1?Q?J=FCrgen_B=F6hm?=) (2007-02-04) |
From: | "jjb" <Alexey.Mikhailov@gmail.com> |
Newsgroups: | comp.compilers |
Date: | 4 Nov 2006 18:44:42 -0500 |
Organization: | Compilers Central |
Keywords: | optimize, question |
Posted-Date: | 04 Nov 2006 18:44:42 EST |
Hello!
Recently I read about "tail recursion" (in SICP) - ability of
programming language realization to convert linear recursive proccess
to linear iterative proccess. So I tried to find formal algorithm of
this transformation for any function written using functional paradigm
but I failed. May be someone can help me?
Some trivial example here is calculating factorial.
Linear recursive:
fact n = if (n < 3) then n else (n * fact(n-1))
Linear iterative:
fact n = fact-iter 1 1 n
fact-iter product counter max-count = if (counter > max-count) then
(product)
else (fact-iter (counter*product) (counter+1)
max-count)
Thanks in advance!
Return to the
comp.compilers page.
Search the
comp.compilers archives again.