Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!uflorida!novavax!proxftl!bill From: bill@proxftl.UUCP (T. William Wells) Newsgroups: comp.lang.c Subject: Re: How many stacks? Message-ID: <636@proxftl.UUCP> Date: 27 Aug 88 15:21:36 GMT References: <219@lakart.UUCP> <5542@june.cs.washington.edu> <8604@ihlpb.ATT.COM> Reply-To: bill@proxftl.UUCP (T. William Wells) Organization: Proximity Technology, Ft. Lauderdale Lines: 35 Summary: Expires: Sender: Followup-To: Distribution: Keywords: In article <8604@ihlpb.ATT.COM> tainter@ihlpb.UUCP (55521-Tainter,J.A.) writes: : You haven't eliminated the stack in this case. You have just made it : less obviously a stack. You will find that these frames still need to : form a stack for call returns. Yes he has. A `stack', as he was using the term, refers to a particular way of using memory. What he has is a linked list. Both have the characteristics you need for implementing recursion. There is a use of `stack' that refers to any way of doing LIFO but that use does *not* talk about implementation. Since the original discussion was talking about stacks in the sense of hardware stacks or memory set aside for a stack, this use is irrelevant. This is an example of a generic problem on the net: seeing similarities at some level of description and then demanding that the similar things be called by the same name. So, since a linked list can be accessed on a last-in, first-out basis, as can a stack, this notion would require calling both a stack. *A linked list is not a stack.* Of course, this problem is aggravated here because the concept of a data structure that implements LIFO is also called a `stack'. There was a similar sillyness recently where the words `iteration' and `recursion' were confused. Let's keep our concepts straight. Please? --- Bill novavax!proxftl!bill