Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!decwrl!labrea!agate!pasteur!ames!pacbell!att-ih!ihnp4!ihlpf!nevin1 From: nevin1@ihlpf.ATT.COM (00704a-Liber) Newsgroups: comp.lang.misc Subject: Re: Recursion Message-ID: <4046@ihlpf.ATT.COM> Date: 18 Mar 88 17:55:50 GMT References: <25284@cca.CCA.COM> <700@l.cc.purdue.edu> <505@sun.soe.clarkson.edu> <17351@glacier.STANFORD.EDU> <704@l.cc.purdue.edu> <3980@ihlpf.ATT.COM> <4443@june.cs.washington.edu> Reply-To: nevin1@ihlpf.UUCP (00704a-Liber,N.J.) Organization: AT&T Bell Laboratories - Naperville, Illinois Lines: 23 In article <4443@june.cs.washington.edu> pardo@uw-june.UUCP (David Keppel) writes: .In article <3980@ihlpf.ATT.COM> nevin1@ihlpf.UUCP (00704a-Liber,N.J.) writes: ..The only model that I know of that supports recursion is a stack. . .Recursion can also be supported with heaps. Many versions of Lisp and .all versions of Smalltalk allow spaghetti stacks (usually, but not always .obeys stack discipline). Spaghetti stacks are implemented using heaps, or .at least they (transparently) copy frames from the stack into to .heap-allocated space when they are going to live after their parents' .destruction. . .Heaps are usually less efficient and more general than stacks. The key word in the my first sentence (from article <3980@ihlpf.ATT.COM>) is *model*. You haven't eliminated the stack model, you've simply stated a way of implementing it. I still feel that the only *model* that supports recursion is a stack. -- _ __ NEVIN J. LIBER ..!ihnp4!ihlpf!nevin1 (312) 510-6194 ' ) ) "The secret compartment of my ring I fill / / _ , __o ____ with an Underdog super-energy pill." / (_