@MISC{Appel98ssais, author = {Andrew W. Appel}, title = {SSA is Functional Programming}, year = {1998} }
Years of Citing Articles
Bookmark
OpenURL
Abstract
ing with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept, ACM Inc., fax +1(212)869-0481, or permissions@acm.org. SIGPLAN ACM Functional Programming i 3 (i 2 ) j 3 (j 2 ) k 3 (k 2 ) if j 3 < 20 3 i 4 (i 2 ) j 4 (j 2 ) k 4 (k 2 ) return j 4 4 i 7 (i 5 , i 6 ) j 7 (j 8 , j 9 ) k 7 (k 8 ,k 9 ) 7 1 i 1 1 j 1 1 k 1 0 2 i 2 (i 7 , i 1 ) j 2 (j 7 , j 1 ) k 2 (k 7 , k 1 ) if k 2 < 100 i 5 (i 3 ) j 5 (j 3 ) k 5 (k 3 ) j 8 i 5 k 8 k 5 +1 5 i 6 (i 3 ) j 6 (j 3 ) k 6 (k 3 ) j 9 k 6 k 9 k 6 +2 6 Yuck! This isn't "the right number of names!" There are too many variables and useless copies. More about this later. Meanwhile, we can view this program as a set of mutually recursive functions, where each function takes arguments i, j, k: functionf 1 () = let i 1 = 1, j 1 = 1, k 1 = 1 in f 2 (i 1 , j 1 , k 1 ) function f 2 (i...